# VM Migration API . projects . locations . sources . migratingVms . cutoverJobs

## Instance Methods

Initiates the cancellation of a running cutover job.

Close httplib2 connections.

Initiates a Cutover of a specific migrating VM. The returned LRO is completed when the cutover job resource is created and the job is initiated.

Gets details of a single CutoverJob.

Lists CutoverJobs of a given migrating VM.

Retrieves the next page of results.

### Method Details

`cancel(name, body=None, x__xgafv=None)`

    Initiates the cancellation of a running cutover job.

    Args:
      name: string, Required. The cutover job id (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for 'CancelCutoverJob' request.
    }

      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.
      "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.
      "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "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 is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "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 @type 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 be a resource name ending with `operations/{unique_id}`.
      "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 @type with type URL.
      },
    }

`close()`

    Close httplib2 connections.

`create(parent, body=None, cutoverJobId=None, requestId=None, x__xgafv=None)`

    Initiates a Cutover of a specific migrating VM. The returned LRO is completed when the cutover job resource is created and the job is initiated.

    Args:
      parent: string, Required. The Cutover's parent. (required)
      body: object, The request body.
        The object takes the form of:

    { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootOption": "A String", # The VM Boot Option, as set in the source vm.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # The external IP to define in the NIC.
            "internalIp": "A String", # The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "subnetwork": "A String", # The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A map of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The GCP target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the vm boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
      "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
        "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 is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "name": "A String", # Output only. The name of the cutover job.
      "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
      "state": "A String", # Output only. State of the cutover job.
      "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
      "stateTime": "A String", # Output only. The time the state was last updated.
    }

      cutoverJobId: string, Required. The cutover job identifier.
      requestId: string, A 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 t he 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).
      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.
      "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.
      "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "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 is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "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 @type 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 be a resource name ending with `operations/{unique_id}`.
      "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 @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    Gets details of a single CutoverJob.

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

    Returns:
      An object of the form:

        { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootOption": "A String", # The VM Boot Option, as set in the source vm.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # The external IP to define in the NIC.
            "internalIp": "A String", # The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "subnetwork": "A String", # The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A map of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The GCP target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the vm boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
      "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
        "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 is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "name": "A String", # Output only. The name of the cutover job.
      "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
      "state": "A String", # Output only. State of the cutover job.
      "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
      "stateTime": "A String", # Output only. The time the state was last updated.
    }

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

    Lists CutoverJobs of a given migrating VM.

    Args:
      parent: string, Required. The parent, which owns this collection of migrating VMs. (required)
      filter: string, Optional. The filter request.
      orderBy: string, Optional. the order by fields for the result.
      pageSize: integer, Optional. The maximum number of cutover jobs to return. The service may return fewer than this value. If unspecified, at most 500 cutover jobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
      pageToken: string, Required. A page token, received from a previous `ListCutoverJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCutoverJobs` must match the call that provided the page token.
      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 'ListCutoverJobs' request.
      "cutoverJobs": [ # Output only. The list of cutover jobs response.
        { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
          "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
            "additionalLicenses": [ # Additional licenses to assign to the VM.
              "A String",
            ],
            "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
              "osLicense": "A String", # The OS license returned from the adaptation module's report.
              "type": "A String", # The license type that was used in OS adaptation.
            },
            "bootOption": "A String", # The VM Boot Option, as set in the source vm.
            "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. # Compute instance scheduling information (if empty default is used).
              "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
              "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
                { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
                  "key": "A String", # The label key of Node resource to reference.
                  "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
                  "values": [ # Corresponds to the label values of Node resource.
                    "A String",
                  ],
                },
              ],
              "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
              "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
            },
            "diskType": "A String", # The disk type to use in the VM.
            "labels": { # A map of labels to associate with the VM.
              "a_key": "A String",
            },
            "licenseType": "A String", # The license type to use in OS adaptation.
            "machineType": "A String", # The machine type to create the VM with.
            "machineTypeSeries": "A String", # The machine type series to create the VM with.
            "metadata": { # The metadata key/value pairs to assign to the VM.
              "a_key": "A String",
            },
            "networkInterfaces": [ # List of NICs connected to this VM.
              { # NetworkInterface represents a NIC of a VM.
                "externalIp": "A String", # The external IP to define in the NIC.
                "internalIp": "A String", # The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
                "network": "A String", # The network to connect the NIC to.
                "subnetwork": "A String", # The subnetwork to connect the NIC to.
              },
            ],
            "networkTags": [ # A map of network tags to associate with the VM.
              "A String",
            ],
            "project": "A String", # The GCP target project ID or project name.
            "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the vm boot option is EFI.
            "serviceAccount": "A String", # The service account to associate the VM with.
            "vmName": "A String", # The name of the VM to create.
            "zone": "A String", # The zone in which to create the VM.
          },
          "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
          "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
            "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 is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "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.
          },
          "name": "A String", # Output only. The name of the cutover job.
          "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
          "state": "A String", # Output only. State of the cutover job.
          "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
          "stateTime": "A String", # Output only. The time the state was last updated.
        },
      ],
      "nextPageToken": "A String", # Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
      "unreachable": [ # Output only. Locations that could not be reached.
        "A String",
      ],
    }

`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.