# SaaS Runtime API . projects . locations . unitOperations

## Instance Methods

Close httplib2 connections.

Create a new unit operation.

Delete a single unit operation.

Retrieve a single unit operation.

Retrieve a collection of unit operations.

Retrieves the next page of results.

Update a single unit operation.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, requestId=None, unitOperationId=None, validateOnly=None, x__xgafv=None)`

    Create a new unit operation.

    Args:
      parent: string, Required. The parent of the unit operation. (required)
      body: object, The request body.
        The object takes the form of:

    { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
      "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
        { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
          "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
          "message": "A String", # Required. Human readable message indicating details about the last transition.
          "reason": "A String", # Required. Brief reason for the condition's last transition.
          "status": "A String", # Required. Status of the condition.
          "type": "A String", # Required. Type of the condition.
        },
      ],
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
      },
      "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
      "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
      "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
      "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
      "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
      "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
        "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
      },
      "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
      "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
    }

      requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      unitOperationId: string, Required. The ID value for the new unit operation.
      validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
      "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
        { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
          "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
          "message": "A String", # Required. Human readable message indicating details about the last transition.
          "reason": "A String", # Required. Brief reason for the condition's last transition.
          "status": "A String", # Required. Status of the condition.
          "type": "A String", # Required. Type of the condition.
        },
      ],
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
      },
      "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
      "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
      "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
      "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
      "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
      "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
        "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
      },
      "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
      "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
    }

`delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)`

    Delete a single unit operation.

    Args:
      name: string, Required. The resource name of the resource within a service. (required)
      etag: string, The etag known to the client for the expected state of the unit operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.
      requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
      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); }
    }

`get(name, x__xgafv=None)`

    Retrieve a single unit operation.

    Args:
      name: string, Required. The resource name of the resource within a service. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
      "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
        { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
          "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
          "message": "A String", # Required. Human readable message indicating details about the last transition.
          "reason": "A String", # Required. Brief reason for the condition's last transition.
          "status": "A String", # Required. Status of the condition.
          "type": "A String", # Required. Type of the condition.
        },
      ],
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
      },
      "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
      "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
      "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
      "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
      "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
      "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
        "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
      },
      "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
      "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Retrieve a collection of unit operations.

    Args:
      parent: string, Required. The parent of the unit operation. (required)
      filter: string, Filter the list as specified in https://google.aip.dev/160.
      orderBy: string, Order results as specified in https://google.aip.dev/132.
      pageSize: integer, The maximum number of unit operations to send per page.
      pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response structure for the ListUnitOperations method.
      "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListUnitOperations call to list the next page. If empty, there are no more pages.
      "unitOperations": [ # The resulting unit operations.
        { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
          "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
            "a_key": "A String",
          },
          "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
          "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
            { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
              "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
              "message": "A String", # Required. Human readable message indicating details about the last transition.
              "reason": "A String", # Required. Brief reason for the condition's last transition.
              "status": "A String", # Required. Status of the condition.
              "type": "A String", # Required. Type of the condition.
            },
          ],
          "createTime": "A String", # Output only. The timestamp when the resource was created.
          "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
          },
          "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
          "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
          "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
          "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
            "a_key": "A String",
          },
          "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
          "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
          "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
            "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
              { # UnitVariable describes a parameter for a Unit.
                "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
                "value": "A String", # Optional. String encoded value for the variable.
                "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
              },
            ],
            "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
          },
          "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
          "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
            "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
          },
          "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
          "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
          "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
          "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
          "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
            "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
              { # UnitVariable describes a parameter for a Unit.
                "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
                "value": "A String", # Optional. String encoded value for the variable.
                "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
              },
            ],
            "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
          },
        },
      ],
      "unreachable": [ # Locations that could not be reached.
        "A String",
      ],
    }

`list_next()`

    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(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)`

    Update a single unit operation.

    Args:
      name: string, Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" (required)
      body: object, The request body.
        The object takes the form of:

    { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
      "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
        { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
          "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
          "message": "A String", # Required. Human readable message indicating details about the last transition.
          "reason": "A String", # Required. Brief reason for the condition's last transition.
          "status": "A String", # Required. Status of the condition.
          "type": "A String", # Required. Type of the condition.
        },
      ],
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
      },
      "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
      "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
      "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
      "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
      "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
      "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
        "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
      },
      "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
      "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
    }

      requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      updateMask: string, Field mask is used to specify the fields to be overwritten in the UnitOperation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields in the UnitOperation will be overwritten.
      validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations). UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested. This is a base object that contains the common fields in all unit operations. Next: 19
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "cancel": True or False, # Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
      "conditions": [ # Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
        { # UnitOperationCondition describes the status of an Unit Operation. UnitOperationCondition is individual components that contribute to an overall state.
          "lastTransitionTime": "A String", # Required. Last time the condition transited from one status to another.
          "message": "A String", # Required. Human readable message indicating details about the last transition.
          "reason": "A String", # Required. Brief reason for the condition's last transition.
          "status": "A String", # Required. Status of the condition.
          "type": "A String", # Required. Type of the condition.
        },
      ],
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "deprovision": { # Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
      },
      "engineState": "A String", # Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
      "errorCategory": "A String", # Optional. Output only. UnitOperationErrorCategory describe the error category.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}"
      "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
      "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
      "rollout": "A String", # Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
      "schedule": { # A time specification to schedule the maintenance. # Optional. When to schedule this operation.
        "startTime": "A String", # Optional. Start of operation. If not set, will be set to the start of the next window. (optional)
      },
      "state": "A String", # Optional. Output only. UnitOperationState describes the current state of the unit operation.
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unit": "A String", # Required. Immutable. The Unit a given UnitOperation will act upon.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
      "upgrade": { # Upgrade is the unit operation that upgrades a provisioned unit, which may also include the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.
        "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional)
          { # UnitVariable describes a parameter for a Unit.
            "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
            "value": "A String", # Optional. String encoded value for the variable.
            "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
          },
        ],
        "release": "A String", # Optional. Reference to the Release object to use for the Unit. (optional).
      },
    }