Skip to content

Commit

Permalink
feat(compute)!: update the API
Browse files Browse the repository at this point in the history
BREAKING CHANGE: This release has breaking changes.

#### compute:alpha

The following keys were deleted:
- schemas.Instance.properties.machineType.annotations.required

The following keys were added:
- schemas.ExternalVpnGatewayInterface.properties.ipv6Address.description
- schemas.ExternalVpnGatewayInterface.properties.ipv6Address.type
- schemas.FirewallPolicyRule.properties.tlsInspect.description
- schemas.FirewallPolicyRule.properties.tlsInspect.type
- schemas.RouterBgpPeer.properties.customLearnedIpRanges.description
- schemas.RouterBgpPeer.properties.customLearnedIpRanges.items.$ref
- schemas.RouterBgpPeer.properties.customLearnedIpRanges.type
- schemas.RouterBgpPeer.properties.customLearnedRoutePriority.description
- schemas.RouterBgpPeer.properties.customLearnedRoutePriority.format
- schemas.RouterBgpPeer.properties.customLearnedRoutePriority.type
- schemas.RouterBgpPeerCustomLearnedIpRange.id
- schemas.RouterBgpPeerCustomLearnedIpRange.properties.range.description
- schemas.RouterBgpPeerCustomLearnedIpRange.properties.range.type
- schemas.RouterBgpPeerCustomLearnedIpRange.type
- schemas.VpnGateway.properties.gatewayIpVersion.description
- schemas.VpnGateway.properties.gatewayIpVersion.enum
- schemas.VpnGateway.properties.gatewayIpVersion.enumDescriptions
- schemas.VpnGateway.properties.gatewayIpVersion.type
- schemas.VpnGatewayVpnGatewayInterface.properties.ipv6Address.description
- schemas.VpnGatewayVpnGatewayInterface.properties.ipv6Address.type

The following keys were changed:
- resources.instanceGroupManagerResizeRequests.methods.get.parameters.zone.description
- schemas.AccessConfig.properties.externalIpv6.description
- schemas.AllocationAggregateReservation.properties.vmFamily.enum
- schemas.AllocationAggregateReservation.properties.vmFamily.enumDescriptions
- schemas.Binding.properties.members.description
- schemas.Commitment.properties.status.enumDescriptions
- schemas.Commitment.properties.type.enum
- schemas.Commitment.properties.type.enumDescriptions
- schemas.InstanceGroupManagerResizeRequest.properties.zone.description
- schemas.NetworkInterface.properties.ipv6Address.description
- schemas.SecurityPolicy.properties.type.description
- schemas.VpnGateway.properties.labelFingerprint.description

#### compute:beta

The following keys were deleted:
- schemas.Instance.properties.machineType.annotations.required

The following keys were added:
- schemas.ResourcePolicyGroupPlacementPolicy.properties.maxDistance.description
- schemas.ResourcePolicyGroupPlacementPolicy.properties.maxDistance.format
- schemas.ResourcePolicyGroupPlacementPolicy.properties.maxDistance.type

The following keys were changed:
- schemas.AccessConfig.properties.externalIpv6.description
- schemas.Binding.properties.members.description
- schemas.Commitment.properties.status.enumDescriptions
- schemas.Commitment.properties.type.enum
- schemas.Commitment.properties.type.enumDescriptions
- schemas.NetworkInterface.properties.ipv6Address.description
- schemas.SecurityPolicy.properties.type.description
- schemas.VpnGateway.properties.labelFingerprint.description

#### compute:v1

The following keys were deleted:
- schemas.Instance.properties.machineType.annotations.required

The following keys were added:
- resources.disks.methods.update.description
- resources.disks.methods.update.flatPath
- resources.disks.methods.update.httpMethod
- resources.disks.methods.update.id
- resources.disks.methods.update.parameterOrder
- resources.disks.methods.update.parameters.disk.description
- resources.disks.methods.update.parameters.disk.location
- resources.disks.methods.update.parameters.disk.pattern
- resources.disks.methods.update.parameters.disk.required
- resources.disks.methods.update.parameters.disk.type
- resources.disks.methods.update.parameters.paths.location
- resources.disks.methods.update.parameters.paths.repeated
- resources.disks.methods.update.parameters.paths.type
- resources.disks.methods.update.parameters.project.description
- resources.disks.methods.update.parameters.project.location
- resources.disks.methods.update.parameters.project.pattern
- resources.disks.methods.update.parameters.project.required
- resources.disks.methods.update.parameters.project.type
- resources.disks.methods.update.parameters.requestId.description
- resources.disks.methods.update.parameters.requestId.location
- resources.disks.methods.update.parameters.requestId.type
- resources.disks.methods.update.parameters.updateMask.description
- resources.disks.methods.update.parameters.updateMask.format
- resources.disks.methods.update.parameters.updateMask.location
- resources.disks.methods.update.parameters.updateMask.type
- resources.disks.methods.update.parameters.zone.description
- resources.disks.methods.update.parameters.zone.location
- resources.disks.methods.update.parameters.zone.pattern
- resources.disks.methods.update.parameters.zone.required
- resources.disks.methods.update.parameters.zone.type
- resources.disks.methods.update.path
- resources.disks.methods.update.request.$ref
- resources.disks.methods.update.response.$ref
- resources.disks.methods.update.scopes
- resources.regionDisks.methods.update.description
- resources.regionDisks.methods.update.flatPath
- resources.regionDisks.methods.update.httpMethod
- resources.regionDisks.methods.update.id
- resources.regionDisks.methods.update.parameterOrder
- resources.regionDisks.methods.update.parameters.disk.description
- resources.regionDisks.methods.update.parameters.disk.location
- resources.regionDisks.methods.update.parameters.disk.pattern
- resources.regionDisks.methods.update.parameters.disk.required
- resources.regionDisks.methods.update.parameters.disk.type
- resources.regionDisks.methods.update.parameters.paths.location
- resources.regionDisks.methods.update.parameters.paths.repeated
- resources.regionDisks.methods.update.parameters.paths.type
- resources.regionDisks.methods.update.parameters.project.description
- resources.regionDisks.methods.update.parameters.project.location
- resources.regionDisks.methods.update.parameters.project.pattern
- resources.regionDisks.methods.update.parameters.project.required
- resources.regionDisks.methods.update.parameters.project.type
- resources.regionDisks.methods.update.parameters.region.description
- resources.regionDisks.methods.update.parameters.region.location
- resources.regionDisks.methods.update.parameters.region.pattern
- resources.regionDisks.methods.update.parameters.region.required
- resources.regionDisks.methods.update.parameters.region.type
- resources.regionDisks.methods.update.parameters.requestId.description
- resources.regionDisks.methods.update.parameters.requestId.location
- resources.regionDisks.methods.update.parameters.requestId.type
- resources.regionDisks.methods.update.parameters.updateMask.description
- resources.regionDisks.methods.update.parameters.updateMask.format
- resources.regionDisks.methods.update.parameters.updateMask.location
- resources.regionDisks.methods.update.parameters.updateMask.type
- resources.regionDisks.methods.update.path
- resources.regionDisks.methods.update.request.$ref
- resources.regionDisks.methods.update.response.$ref
- resources.regionDisks.methods.update.scopes
- schemas.AllocationResourceStatus.description
- schemas.AllocationResourceStatus.properties.specificSkuAllocation.description
- schemas.AllocationResourceStatusSpecificSKUAllocation.description
- schemas.AllocationResourceStatusSpecificSKUAllocation.properties.sourceInstanceTemplateId.description
- schemas.Reservation.properties.resourcePolicies.additionalProperties.type
- schemas.Reservation.properties.resourcePolicies.description
- schemas.Reservation.properties.resourcePolicies.type

The following keys were changed:
- schemas.AccessConfig.properties.externalIpv6.description
- schemas.BackendService.properties.localityLbPolicy.enum
- schemas.BackendService.properties.localityLbPolicy.enumDescriptions
- schemas.BackendServiceLocalityLoadBalancingPolicyConfigPolicy.properties.name.enum
- schemas.BackendServiceLocalityLoadBalancingPolicyConfigPolicy.properties.name.enumDescriptions
- schemas.Binding.properties.members.description
- schemas.Commitment.properties.status.enumDescriptions
- schemas.Commitment.properties.type.enum
- schemas.Commitment.properties.type.enumDescriptions
- schemas.NetworkInterface.properties.ipv6Address.description
- schemas.SecurityPolicy.properties.type.description
- schemas.VpnGateway.properties.labelFingerprint.description
  • Loading branch information
yoshi-automation authored and sofisl committed Feb 10, 2023
1 parent 0c7a479 commit bb19b0d
Show file tree
Hide file tree
Showing 6 changed files with 799 additions and 70 deletions.
73 changes: 59 additions & 14 deletions discovery/compute-alpha.json
Original file line number Diff line number Diff line change
Expand Up @@ -8260,7 +8260,7 @@
"type": "string"
},
"zone": {
"description": "The name of the zone where the managed instance group and the resize request are located. Name should conform to RFC1035.",
"description": "Name of the href=\"/compute/docs/regions-zones/#available\">zone scoping this request. Name should conform to RFC1035.",
"location": "path",
"required": true,
"type": "string"
Expand Down Expand Up @@ -40433,7 +40433,7 @@
}
}
},
"revision": "20230119",
"revision": "20230201",
"rootUrl": "https://compute.googleapis.com/",
"schemas": {
"AWSV4Signature": {
Expand Down Expand Up @@ -40880,7 +40880,7 @@
"id": "AccessConfig",
"properties": {
"externalIpv6": {
"description": "The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.",
"description": "The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, GCP will automatically assign an external IPv6 address from the instance's subnetwork.",
"type": "string"
},
"externalIpv6PrefixLength": {
Expand Down Expand Up @@ -41568,10 +41568,12 @@
"description": "The VM family that all instances scheduled against this reservation must belong to.",
"enum": [
"VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P",
"VM_FAMILY_COMPUTE_OPTIMIZED_C3",
"VM_FAMILY_GENERAL_PURPOSE_T2D",
"VM_FAMILY_MEMORY_OPTIMIZED_M3"
],
"enumDescriptions": [
"",
"",
"",
""
Expand Down Expand Up @@ -44569,7 +44571,7 @@
"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
},
"members": {
"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.",
"items": {
"type": "string"
},
Expand Down Expand Up @@ -44966,7 +44968,7 @@
],
"enumDescriptions": [
"",
"",
"Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.",
"",
"",
""
Expand All @@ -44983,6 +44985,7 @@
"ACCELERATOR_OPTIMIZED",
"COMPUTE_OPTIMIZED",
"COMPUTE_OPTIMIZED_C2D",
"COMPUTE_OPTIMIZED_C3",
"GENERAL_PURPOSE",
"GENERAL_PURPOSE_E2",
"GENERAL_PURPOSE_N2",
Expand All @@ -45005,6 +45008,7 @@
"",
"",
"",
"",
""
],
"type": "string"
Expand Down Expand Up @@ -47314,6 +47318,10 @@
"ipAddress": {
"description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.",
"type": "string"
},
"ipv6Address": {
"description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).",
"type": "string"
}
},
"type": "object"
Expand Down Expand Up @@ -48097,6 +48105,10 @@
"type": "string"
},
"type": "array"
},
"tlsInspect": {
"description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.",
"type": "boolean"
}
},
"type": "object"
Expand Down Expand Up @@ -52266,11 +52278,6 @@
"type": "string"
},
"machineType": {
"annotations": {
"required": [
"compute.instances.insert"
]
},
"description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.",
"type": "string"
},
Expand Down Expand Up @@ -53636,7 +53643,7 @@
"description": "[Output only] Status of the request. The Status message is aligned with QueuedResource.status. ResizeRequest.queuing_policy contains the queuing policy as provided by the user; it could have either valid_until_time or valid_until_duration. ResizeRequest.status.queuing_policy always contains absolute time as calculated by the server when the request is queued."
},
"zone": {
"description": "[Output Only] The URL of a zone where the resize request is located.",
"description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.",
"type": "string"
}
},
Expand Down Expand Up @@ -62334,7 +62341,7 @@
"type": "string"
},
"ipv6Address": {
"description": "An IPv6 internal network address for this network interface.",
"description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, GCP will automatically assign an internal IPv6 address from the instance's subnetwork.",
"type": "string"
},
"kind": {
Expand Down Expand Up @@ -72209,6 +72216,18 @@
"$ref": "RouterBgpPeerBfd",
"description": "BFD configuration for the BGP peering."
},
"customLearnedIpRanges": {
"description": "User-defined Custom Learned Route IP range list for a BGP session.",
"items": {
"$ref": "RouterBgpPeerCustomLearnedIpRange"
},
"type": "array"
},
"customLearnedRoutePriority": {
"description": "User-defined Custom Learned Route Priority for a BGP session. This will be applied to all Custom Learned Route ranges of the BGP session, if not given, google-managed priority of 100 is used.",
"format": "int32",
"type": "integer"
},
"enable": {
"description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.",
"enum": [
Expand Down Expand Up @@ -72354,6 +72373,16 @@
},
"type": "object"
},
"RouterBgpPeerCustomLearnedIpRange": {
"id": "RouterBgpPeerCustomLearnedIpRange",
"properties": {
"range": {
"description": "The Custom Learned Route IP range. Must be a valid CIDR-formatted prefix. If an IP is provided without a subnet mask, it is interpreted as a /32 singular IP range for IPv4, and /128 for IPv6.",
"type": "string"
}
},
"type": "object"
},
"RouterInterface": {
"id": "RouterInterface",
"properties": {
Expand Down Expand Up @@ -74018,7 +74047,7 @@
"type": "string"
},
"type": {
"description": "The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. This field can be set only at resource creation time.",
"description": "The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.",
"enum": [
"CLOUD_ARMOR",
"CLOUD_ARMOR_EDGE",
Expand Down Expand Up @@ -82676,6 +82705,18 @@
"description": "An optional description of this resource. Provide this property when you create the resource.",
"type": "string"
},
"gatewayIpVersion": {
"description": "The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used.",
"enum": [
"IPV4",
"IPV6"
],
"enumDescriptions": [
"Every HA-VPN gateway interface is configured with an IPv4 address.",
"Every HA-VPN gateway interface is configured with an IPv6 address."
],
"type": "string"
},
"id": {
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
"format": "uint64",
Expand All @@ -82687,7 +82728,7 @@
"type": "string"
},
"labelFingerprint": {
"description": "A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an VpnGateway.",
"description": "A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnGateway.",
"format": "byte",
"type": "string"
},
Expand Down Expand Up @@ -83099,6 +83140,10 @@
"ipAddress": {
"description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.",
"type": "string"
},
"ipv6Address": {
"description": "[Output Only] IPv6 address for this VPN interface associated with the VPN gateway. The IPv6 address must be a regional external IPv6 address. The format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).",
"type": "string"
}
},
"type": "object"
Expand Down

0 comments on commit bb19b0d

Please sign in to comment.