Skip to content

Commit a948c1f

Browse files
feat(vmmigration): update the API
#### vmmigration:v1alpha1 The following keys were added: - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.description - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.flatPath - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.httpMethod - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.id - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameterOrder - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.description - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.location - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.pattern - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.required - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.type - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.path - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.request.$ref - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.response.$ref - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.scopes - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.description - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.items.type - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.type - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.description - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.items.type - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.type - schemas.Expiration.description - schemas.Expiration.id - schemas.Expiration.properties.expireTime.description - schemas.Expiration.properties.expireTime.format - schemas.Expiration.properties.expireTime.readOnly - schemas.Expiration.properties.expireTime.type - schemas.Expiration.properties.extendable.description - schemas.Expiration.properties.extendable.readOnly - schemas.Expiration.properties.extendable.type - schemas.Expiration.properties.extensionCount.description - schemas.Expiration.properties.extensionCount.format - schemas.Expiration.properties.extensionCount.readOnly - schemas.Expiration.properties.extensionCount.type - schemas.Expiration.type - schemas.ExtendMigrationRequest.description - schemas.ExtendMigrationRequest.id - schemas.ExtendMigrationRequest.type - schemas.MigratingVm.properties.expiration.$ref - schemas.MigratingVm.properties.expiration.description - schemas.MigratingVm.properties.expiration.readOnly The following keys were changed: - schemas.MachineImageTargetDetails.properties.encryption.description - schemas.MachineImageTargetDetails.properties.networkInterfaces.description - schemas.MigratingVm.properties.state.enum - schemas.MigratingVm.properties.state.enumDescriptions #### vmmigration:v1 The following keys were added: - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.description - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.flatPath - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.httpMethod - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.id - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameterOrder - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.description - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.location - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.pattern - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.required - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.parameters.migratingVm.type - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.path - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.request.$ref - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.response.$ref - resources.projects.resources.locations.resources.sources.resources.migratingVms.methods.extendMigration.scopes - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.description - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.items.type - schemas.ComputeEngineTargetDefaults.properties.diskReplicaZones.type - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.description - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.items.type - schemas.ComputeEngineTargetDetails.properties.diskReplicaZones.type - schemas.Expiration.description - schemas.Expiration.id - schemas.Expiration.properties.expireTime.description - schemas.Expiration.properties.expireTime.format - schemas.Expiration.properties.expireTime.readOnly - schemas.Expiration.properties.expireTime.type - schemas.Expiration.properties.extendable.description - schemas.Expiration.properties.extendable.readOnly - schemas.Expiration.properties.extendable.type - schemas.Expiration.properties.extensionCount.description - schemas.Expiration.properties.extensionCount.format - schemas.Expiration.properties.extensionCount.readOnly - schemas.Expiration.properties.extensionCount.type - schemas.Expiration.type - schemas.ExtendMigrationRequest.description - schemas.ExtendMigrationRequest.id - schemas.ExtendMigrationRequest.type - schemas.MigratingVm.properties.expiration.$ref - schemas.MigratingVm.properties.expiration.description - schemas.MigratingVm.properties.expiration.readOnly The following keys were changed: - schemas.MachineImageTargetDetails.properties.encryption.description - schemas.MachineImageTargetDetails.properties.networkInterfaces.description - schemas.MigratingVm.properties.state.enum - schemas.MigratingVm.properties.state.enumDescriptions
1 parent 825ee06 commit a948c1f

File tree

4 files changed

+7598
-20
lines changed

4 files changed

+7598
-20
lines changed

discovery/vmmigration-v1.json

Lines changed: 86 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1251,6 +1251,34 @@
12511251
"https://www.googleapis.com/auth/cloud-platform"
12521252
]
12531253
},
1254+
"extendMigration": {
1255+
"description": "Extend the migrating VM time to live.",
1256+
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:extendMigration",
1257+
"httpMethod": "POST",
1258+
"id": "vmmigration.projects.locations.sources.migratingVms.extendMigration",
1259+
"parameterOrder": [
1260+
"migratingVm"
1261+
],
1262+
"parameters": {
1263+
"migratingVm": {
1264+
"description": "Required. The name of the MigratingVm.",
1265+
"location": "path",
1266+
"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$",
1267+
"required": true,
1268+
"type": "string"
1269+
}
1270+
},
1271+
"path": "v1/{+migratingVm}:extendMigration",
1272+
"request": {
1273+
"$ref": "ExtendMigrationRequest"
1274+
},
1275+
"response": {
1276+
"$ref": "Operation"
1277+
},
1278+
"scopes": [
1279+
"https://www.googleapis.com/auth/cloud-platform"
1280+
]
1281+
},
12541282
"finalizeMigration": {
12551283
"description": "Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done.",
12561284
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:finalizeMigration",
@@ -2226,7 +2254,7 @@
22262254
}
22272255
}
22282256
},
2229-
"revision": "20250321",
2257+
"revision": "20250619",
22302258
"rootUrl": "https://vmmigration.googleapis.com/",
22312259
"schemas": {
22322260
"AccessKeyCredentials": {
@@ -3192,6 +3220,13 @@
31923220
"$ref": "ComputeScheduling",
31933221
"description": "Compute instance scheduling information (if empty default is used)."
31943222
},
3223+
"diskReplicaZones": {
3224+
"description": "Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.",
3225+
"items": {
3226+
"type": "string"
3227+
},
3228+
"type": "array"
3229+
},
31953230
"diskType": {
31963231
"description": "The disk type to use in the VM.",
31973232
"enum": [
@@ -3346,6 +3381,13 @@
33463381
"$ref": "ComputeScheduling",
33473382
"description": "Compute instance scheduling information (if empty default is used)."
33483383
},
3384+
"diskReplicaZones": {
3385+
"description": "Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.",
3386+
"items": {
3387+
"type": "string"
3388+
},
3389+
"type": "array"
3390+
},
33493391
"diskType": {
33503392
"description": "The disk type to use in the VM.",
33513393
"enum": [
@@ -3983,6 +4025,36 @@
39834025
},
39844026
"type": "object"
39854027
},
4028+
"Expiration": {
4029+
"description": "Expiration holds information about the expiration of a MigratingVm.",
4030+
"id": "Expiration",
4031+
"properties": {
4032+
"expireTime": {
4033+
"description": "Output only. Timestamp of when this resource is considered expired.",
4034+
"format": "google-datetime",
4035+
"readOnly": true,
4036+
"type": "string"
4037+
},
4038+
"extendable": {
4039+
"description": "Output only. Describes whether the expiration can be extended.",
4040+
"readOnly": true,
4041+
"type": "boolean"
4042+
},
4043+
"extensionCount": {
4044+
"description": "Output only. The number of times expiration was extended.",
4045+
"format": "int32",
4046+
"readOnly": true,
4047+
"type": "integer"
4048+
}
4049+
},
4050+
"type": "object"
4051+
},
4052+
"ExtendMigrationRequest": {
4053+
"description": "Request message for 'ExtendMigrationRequest' request.",
4054+
"id": "ExtendMigrationRequest",
4055+
"properties": {},
4056+
"type": "object"
4057+
},
39864058
"FetchInventoryResponse": {
39874059
"description": "Response message for fetchInventory.",
39884060
"id": "FetchInventoryResponse",
@@ -4735,7 +4807,7 @@
47354807
},
47364808
"encryption": {
47374809
"$ref": "Encryption",
4738-
"description": "Immutable. The encryption to apply to the machine image."
4810+
"description": "Immutable. The encryption to apply to the machine image. If the Image Import resource has an encryption, this field must be set to the same encryption key."
47394811
},
47404812
"labels": {
47414813
"additionalProperties": {
@@ -4753,7 +4825,7 @@
47534825
"description": "Optional. Parameters overriding decisions based on the source machine image configurations."
47544826
},
47554827
"networkInterfaces": {
4756-
"description": "Optional. The network interfaces to create with the instance created by the machine image. Internal and external IP addresses are ignored for machine image import.",
4828+
"description": "Optional. The network interfaces to create with the instance created by the machine image. Internal and external IP addresses, and network tiers are ignored for machine image import.",
47574829
"items": {
47584830
"$ref": "NetworkInterface"
47594831
},
@@ -4844,6 +4916,11 @@
48444916
"description": "Output only. Provides details on the state of the Migrating VM in case of an error in replication.",
48454917
"readOnly": true
48464918
},
4919+
"expiration": {
4920+
"$ref": "Expiration",
4921+
"description": "Output only. Provides details about the expiration state of the migrating VM.",
4922+
"readOnly": true
4923+
},
48474924
"group": {
48484925
"description": "Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.",
48494926
"readOnly": true,
@@ -4909,7 +4986,9 @@
49094986
"PAUSED",
49104987
"FINALIZING",
49114988
"FINALIZED",
4912-
"ERROR"
4989+
"ERROR",
4990+
"EXPIRED",
4991+
"FINALIZED_EXPIRED"
49134992
],
49144993
"enumDescriptions": [
49154994
"The state was not sampled by the health checks yet.",
@@ -4923,7 +5002,9 @@
49235002
"The replication was paused by the user and no cycles are scheduled to run.",
49245003
"The migrating VM is being finalized and migration resources are being removed.",
49255004
"The replication process is done. The migrating VM is finalized and no longer consumes billable resources.",
4926-
"The replication process encountered an unrecoverable error and was aborted."
5005+
"The replication process encountered an unrecoverable error and was aborted.",
5006+
"The migrating VM has passed its expiration date. It might be possible to bring it back to \"Active\" state by updating the TTL field. For more information, see the documentation.",
5007+
"The migrating VM's has been finalized and migration resources have been removed."
49275008
],
49285009
"readOnly": true,
49295010
"type": "string"

discovery/vmmigration-v1alpha1.json

Lines changed: 86 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1251,6 +1251,34 @@
12511251
"https://www.googleapis.com/auth/cloud-platform"
12521252
]
12531253
},
1254+
"extendMigration": {
1255+
"description": "Extend the migrating VM time to live.",
1256+
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:extendMigration",
1257+
"httpMethod": "POST",
1258+
"id": "vmmigration.projects.locations.sources.migratingVms.extendMigration",
1259+
"parameterOrder": [
1260+
"migratingVm"
1261+
],
1262+
"parameters": {
1263+
"migratingVm": {
1264+
"description": "Required. The name of the MigratingVm.",
1265+
"location": "path",
1266+
"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/migratingVms/[^/]+$",
1267+
"required": true,
1268+
"type": "string"
1269+
}
1270+
},
1271+
"path": "v1alpha1/{+migratingVm}:extendMigration",
1272+
"request": {
1273+
"$ref": "ExtendMigrationRequest"
1274+
},
1275+
"response": {
1276+
"$ref": "Operation"
1277+
},
1278+
"scopes": [
1279+
"https://www.googleapis.com/auth/cloud-platform"
1280+
]
1281+
},
12541282
"finalizeMigration": {
12551283
"description": "Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done.",
12561284
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/migratingVms/{migratingVmsId}:finalizeMigration",
@@ -2226,7 +2254,7 @@
22262254
}
22272255
}
22282256
},
2229-
"revision": "20250321",
2257+
"revision": "20250619",
22302258
"rootUrl": "https://vmmigration.googleapis.com/",
22312259
"schemas": {
22322260
"AccessKeyCredentials": {
@@ -3204,6 +3232,13 @@
32043232
"$ref": "ComputeScheduling",
32053233
"description": "Compute instance scheduling information (if empty default is used)."
32063234
},
3235+
"diskReplicaZones": {
3236+
"description": "Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.",
3237+
"items": {
3238+
"type": "string"
3239+
},
3240+
"type": "array"
3241+
},
32073242
"diskType": {
32083243
"description": "The disk type to use in the VM.",
32093244
"enum": [
@@ -3358,6 +3393,13 @@
33583393
"$ref": "ComputeScheduling",
33593394
"description": "Compute instance scheduling information (if empty default is used)."
33603395
},
3396+
"diskReplicaZones": {
3397+
"description": "Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.",
3398+
"items": {
3399+
"type": "string"
3400+
},
3401+
"type": "array"
3402+
},
33613403
"diskType": {
33623404
"description": "The disk type to use in the VM.",
33633405
"enum": [
@@ -4018,6 +4060,36 @@
40184060
},
40194061
"type": "object"
40204062
},
4063+
"Expiration": {
4064+
"description": "Expiration holds information about the expiration of a MigratingVm.",
4065+
"id": "Expiration",
4066+
"properties": {
4067+
"expireTime": {
4068+
"description": "Output only. Timestamp of when this resource is considered expired.",
4069+
"format": "google-datetime",
4070+
"readOnly": true,
4071+
"type": "string"
4072+
},
4073+
"extendable": {
4074+
"description": "Output only. Describes whether the expiration can be extended.",
4075+
"readOnly": true,
4076+
"type": "boolean"
4077+
},
4078+
"extensionCount": {
4079+
"description": "Output only. The number of times expiration was extended.",
4080+
"format": "int32",
4081+
"readOnly": true,
4082+
"type": "integer"
4083+
}
4084+
},
4085+
"type": "object"
4086+
},
4087+
"ExtendMigrationRequest": {
4088+
"description": "Request message for 'ExtendMigrationRequest' request.",
4089+
"id": "ExtendMigrationRequest",
4090+
"properties": {},
4091+
"type": "object"
4092+
},
40214093
"FetchInventoryResponse": {
40224094
"description": "Response message for fetchInventory.",
40234095
"id": "FetchInventoryResponse",
@@ -4770,7 +4842,7 @@
47704842
},
47714843
"encryption": {
47724844
"$ref": "Encryption",
4773-
"description": "Immutable. The encryption to apply to the machine image."
4845+
"description": "Immutable. The encryption to apply to the machine image. If the Image Import resource has an encryption, this field must be set to the same encryption key."
47744846
},
47754847
"labels": {
47764848
"additionalProperties": {
@@ -4788,7 +4860,7 @@
47884860
"description": "Optional. Parameters overriding decisions based on the source machine image configurations."
47894861
},
47904862
"networkInterfaces": {
4791-
"description": "Optional. The network interfaces to create with the instance created by the machine image. Internal and external IP addresses are ignored for machine image import.",
4863+
"description": "Optional. The network interfaces to create with the instance created by the machine image. Internal and external IP addresses, and network tiers are ignored for machine image import.",
47924864
"items": {
47934865
"$ref": "NetworkInterface"
47944866
},
@@ -4884,6 +4956,11 @@
48844956
"description": "Output only. Provides details on the state of the Migrating VM in case of an error in replication.",
48854957
"readOnly": true
48864958
},
4959+
"expiration": {
4960+
"$ref": "Expiration",
4961+
"description": "Output only. Provides details about the expiration state of the migrating VM.",
4962+
"readOnly": true
4963+
},
48874964
"group": {
48884965
"description": "Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.",
48894966
"readOnly": true,
@@ -4949,7 +5026,9 @@
49495026
"PAUSED",
49505027
"FINALIZING",
49515028
"FINALIZED",
4952-
"ERROR"
5029+
"ERROR",
5030+
"EXPIRED",
5031+
"FINALIZED_EXPIRED"
49535032
],
49545033
"enumDescriptions": [
49555034
"The state was not sampled by the health checks yet.",
@@ -4963,7 +5042,9 @@
49635042
"The replication was paused by the user and no cycles are scheduled to run.",
49645043
"The migrating VM is being finalized and migration resources are being removed.",
49655044
"The replication process is done. The migrating VM is finalized and no longer consumes billable resources.",
4966-
"The replication process encountered an unrecoverable error and was aborted."
5045+
"The replication process encountered an unrecoverable error and was aborted.",
5046+
"The migrating VM has passed its expiration date. It might be possible to bring it back to \"Active\" state by updating the TTL field. For more information, see the documentation.",
5047+
"The migrating VM's has been finalized and migration resources have been removed."
49675048
],
49685049
"readOnly": true,
49695050
"type": "string"

0 commit comments

Comments
 (0)