diff --git a/src/Compute/Backend.php b/src/Compute/Backend.php index f094236c7c..3e25d7545a 100644 --- a/src/Compute/Backend.php +++ b/src/Compute/Backend.php @@ -70,9 +70,10 @@ class Backend extends \Google\Collection * handle additional traffic or is fully loaded. For usage guidelines, see * Connection balancing mode. * - * Backends must use compatible balancing modes. For more information, see - * Supported balancing modes and target capacity settings and Restrictions and - * guidance for instance groups. + * Backends must use compatible balancing modes. Backends of a backend service + * may use different balancing modes. For more information, see Supported + * balancing modes and target capacity settings and Restrictions and guidance + * for instance groups. * * Note: Currently, if you use the API to configure incompatible balancing * modes, the configuration might be accepted even though it has no impact and @@ -112,6 +113,9 @@ class Backend extends \Google\Collection * This field designates whether this is a failover backend. More than one * failover backend can be configured for a given BackendService. * + * This field can only be used for a regional external Passthrough Network + * Load Balancer or a regional internal Passthrough Network Load Balancer. + * * @var bool */ public $failover; @@ -226,6 +230,11 @@ class Backend extends \Google\Collection * would be used and traffic would be assigned based on the load balancing * algorithm you use. This is the default * + * For global external Passthrough Network Load Balancers, the following + * restrictions apply: - At most one backend can be marked as + * PREFERRED. - PREFERRED and DEFAULT backends cannot reside in the same + * Cloud region. + * * @var string */ public $preference; @@ -239,9 +248,10 @@ class Backend extends \Google\Collection * handle additional traffic or is fully loaded. For usage guidelines, see * Connection balancing mode. * - * Backends must use compatible balancing modes. For more information, see - * Supported balancing modes and target capacity settings and Restrictions and - * guidance for instance groups. + * Backends must use compatible balancing modes. Backends of a backend service + * may use different balancing modes. For more information, see Supported + * balancing modes and target capacity settings and Restrictions and guidance + * for instance groups. * * Note: Currently, if you use the API to configure incompatible balancing * modes, the configuration might be accepted even though it has no impact and @@ -327,6 +337,9 @@ public function getDescription() * This field designates whether this is a failover backend. More than one * failover backend can be configured for a given BackendService. * + * This field can only be used for a regional external Passthrough Network + * Load Balancer or a regional internal Passthrough Network Load Balancer. + * * @param bool $failover */ public function setFailover($failover) @@ -575,6 +588,11 @@ public function getOrchestrationInfo() * would be used and traffic would be assigned based on the load balancing * algorithm you use. This is the default * + * For global external Passthrough Network Load Balancers, the following + * restrictions apply: - At most one backend can be marked as + * PREFERRED. - PREFERRED and DEFAULT backends cannot reside in the same + * Cloud region. + * * Accepted values: DEFAULT, PREFERENCE_UNSPECIFIED, PREFERRED * * @param self::PREFERENCE_* $preference diff --git a/src/Compute/BackendBucketCdnPolicy.php b/src/Compute/BackendBucketCdnPolicy.php index eaa0d2945b..8fdb65ac37 100644 --- a/src/Compute/BackendBucketCdnPolicy.php +++ b/src/Compute/BackendBucketCdnPolicy.php @@ -47,14 +47,14 @@ class BackendBucketCdnPolicy extends \Google\Collection protected $cacheKeyPolicyDataType = ''; /** * Specifies the cache setting for all responses from this backend. The - * possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid + * possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid * caching headers to cache content. Responses without these headers will not * be cached at Google's edge, and will require a full trip to the origin on * every request, potentially impacting performance and increasing load on the - * origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", + * origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", * "no-store" or "no-cache" directives in Cache-Control response headers. * Warning: this may result in Cloud CDN caching private, per-user (user - * identifiable) content.CACHE_ALL_STATIC Automatically cache static content, + * identifiable) content. CACHE_ALL_STATIC Automatically cache static content, * including common image formats, media (video and audio), and web assets * (JavaScript and CSS). Requests and responses that are marked as * uncacheable, as well as dynamic content (including HTML), will not be @@ -204,14 +204,14 @@ public function getCacheKeyPolicy() } /** * Specifies the cache setting for all responses from this backend. The - * possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid + * possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid * caching headers to cache content. Responses without these headers will not * be cached at Google's edge, and will require a full trip to the origin on * every request, potentially impacting performance and increasing load on the - * origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", + * origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", * "no-store" or "no-cache" directives in Cache-Control response headers. * Warning: this may result in Cloud CDN caching private, per-user (user - * identifiable) content.CACHE_ALL_STATIC Automatically cache static content, + * identifiable) content. CACHE_ALL_STATIC Automatically cache static content, * including common image formats, media (video and audio), and web assets * (JavaScript and CSS). Requests and responses that are marked as * uncacheable, as well as dynamic content (including HTML), will not be diff --git a/src/Compute/BackendService.php b/src/Compute/BackendService.php index adbbfaca0e..c0609bc10a 100644 --- a/src/Compute/BackendService.php +++ b/src/Compute/BackendService.php @@ -419,8 +419,8 @@ class BackendService extends \Google\Collection public $kind; /** * Specifies the load balancer type. A backend service created for one type of - * load balancer cannot be used with another. For more information, refer - * toChoosing a load balancer. + * load balancer cannot be used with another. For more information, refer to + * Backend services product and scheme table. * * @var string */ @@ -449,19 +449,32 @@ class BackendService extends \Google\Collection * Backend reported Custom Metrics. If set, the Backend Service responses * are expected to contain non-standard HTTP response header field * Endpoint-Load-Metrics. The reported metrics to use for computing the - * weights are specified via thecustomMetrics field. This field is - * applicable to either: - A regional backend service with the service - * protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme - * set to INTERNAL_MANAGED. - A global backend service with the - * load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or - * EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, - * if session affinity remains at the default value of NONE—then the - * default value for localityLbPolicy is ROUND_ROBIN. If session affinity - * is set to a value other than NONE, then the default value for - * localityLbPolicy isMAGLEV. Only ROUND_ROBIN and RING_HASH are - * supported when the backend service is referenced by a URL map that is - * bound to target gRPC proxy that has validateForProxyless field set to - * true. localityLbPolicy cannot be specified with haPolicy. + * weights are specified via thecustomMetrics field. - WEIGHTED_MAGLEV: + * Per-endpoint weighted load balancing via health check reported weights. + * If set, the backend service must configure an HTTP-based Health Check, + * and health check replies are expected to contain the non-standard HTTP + * response header fieldX-Load-Balancing-Endpoint-Weight to specify the per- + * endpoint weights. If set, load balancing is weighted based on the per- + * endpoint weights reported in the last processed health check replies, as + * long as every instance either reported a valid weight or had + * UNAVAILABLE_WEIGHT. Otherwise, load balancing remains equal-weight. + * + * This field is applicable to either: - A regional backend service + * with the service protocol set to HTTP, HTTPS, HTTP2 or H2C, and + * load_balancing_scheme set to INTERNAL_MANAGED. - A global backend + * service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, + * INTERNAL_MANAGED, or EXTERNAL_MANAGED. + * + * If sessionAffinity is not configured—that is, if session affinity remains + * at the default value of NONE—then the default value for localityLbPolicy is + * ROUND_ROBIN. If session affinity is set to a value other than NONE, then + * the default value for localityLbPolicy isMAGLEV. + * + * Only ROUND_ROBIN and RING_HASH are supported when the backend service is + * referenced by a URL map that is bound to target gRPC proxy that has + * validateForProxyless field set to true. + * + * localityLbPolicy cannot be specified with haPolicy. * * @var string */ @@ -534,10 +547,9 @@ class BackendService extends \Google\Collection /** * The protocol this BackendService uses to communicate with backends. * - * Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC. - * depending on the chosen load balancer or Traffic Director configuration. - * Refer to the documentation for the load balancers or for Traffic Director - * for more information. + * Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP, GRPC, or + * UNSPECIFIED, depending on the chosen load balancer or Traffic Director + * configuration. Refer to Load balancing features for more information. * * Must be set to GRPC when the backend service is referenced by a URL map * that is bound to target gRPC proxy. @@ -969,9 +981,9 @@ public function getExternalManagedMigrationTestingPercentage() * Balancers](https://cloud.google.com/load-balancing/docs/internal/failover- * overview) and [external passthrough Network Load * Balancers](https://cloud.google.com/load-balancing/docs/network/networklb- - * failover-overview). - * - * failoverPolicy cannot be specified with haPolicy. + * failover-overview). failoverPolicy cannot be specified with + * haPolicy.failoverPolicy cannot be used by global external Passthrough + * Network Load Balancers. * * @param BackendServiceFailoverPolicy $failoverPolicy */ @@ -1034,10 +1046,10 @@ public function getFingerprint() * * haPolicy requires customers to be responsible for tracking backend endpoint * health and electing a leader among the healthy endpoints. Therefore, - * haPolicy cannot be specified with healthChecks. - * - * haPolicy can only be specified for External Passthrough Network Load - * Balancers and Internal Passthrough Network Load Balancers. + * haPolicy cannot be specified with healthChecks. haPolicy can only be + * specified for External Passthrough Network Load Balancers and Internal + * Passthrough Network Load Balancers.haPolicy cannot be used by global + * external Passthrough Network Load Balancers. * * @param BackendServiceHAPolicy $haPolicy */ @@ -1170,8 +1182,8 @@ public function getKind() } /** * Specifies the load balancer type. A backend service created for one type of - * load balancer cannot be used with another. For more information, refer - * toChoosing a load balancer. + * load balancer cannot be used with another. For more information, refer to + * Backend services product and scheme table. * * Accepted values: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED, * INTERNAL_SELF_MANAGED, INVALID_LOAD_BALANCING_SCHEME @@ -1238,19 +1250,32 @@ public function getLocalityLbPolicies() * Backend reported Custom Metrics. If set, the Backend Service responses * are expected to contain non-standard HTTP response header field * Endpoint-Load-Metrics. The reported metrics to use for computing the - * weights are specified via thecustomMetrics field. This field is - * applicable to either: - A regional backend service with the service - * protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme - * set to INTERNAL_MANAGED. - A global backend service with the - * load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or - * EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, - * if session affinity remains at the default value of NONE—then the - * default value for localityLbPolicy is ROUND_ROBIN. If session affinity - * is set to a value other than NONE, then the default value for - * localityLbPolicy isMAGLEV. Only ROUND_ROBIN and RING_HASH are - * supported when the backend service is referenced by a URL map that is - * bound to target gRPC proxy that has validateForProxyless field set to - * true. localityLbPolicy cannot be specified with haPolicy. + * weights are specified via thecustomMetrics field. - WEIGHTED_MAGLEV: + * Per-endpoint weighted load balancing via health check reported weights. + * If set, the backend service must configure an HTTP-based Health Check, + * and health check replies are expected to contain the non-standard HTTP + * response header fieldX-Load-Balancing-Endpoint-Weight to specify the per- + * endpoint weights. If set, load balancing is weighted based on the per- + * endpoint weights reported in the last processed health check replies, as + * long as every instance either reported a valid weight or had + * UNAVAILABLE_WEIGHT. Otherwise, load balancing remains equal-weight. + * + * This field is applicable to either: - A regional backend service + * with the service protocol set to HTTP, HTTPS, HTTP2 or H2C, and + * load_balancing_scheme set to INTERNAL_MANAGED. - A global backend + * service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, + * INTERNAL_MANAGED, or EXTERNAL_MANAGED. + * + * If sessionAffinity is not configured—that is, if session affinity remains + * at the default value of NONE—then the default value for localityLbPolicy is + * ROUND_ROBIN. If session affinity is set to a value other than NONE, then + * the default value for localityLbPolicy isMAGLEV. + * + * Only ROUND_ROBIN and RING_HASH are supported when the backend service is + * referenced by a URL map that is bound to target gRPC proxy that has + * validateForProxyless field set to true. + * + * localityLbPolicy cannot be specified with haPolicy. * * Accepted values: INVALID_LB_POLICY, LEAST_REQUEST, MAGLEV, * ORIGINAL_DESTINATION, RANDOM, RING_HASH, ROUND_ROBIN, @@ -1520,10 +1545,9 @@ public function getPortName() /** * The protocol this BackendService uses to communicate with backends. * - * Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC. - * depending on the chosen load balancer or Traffic Director configuration. - * Refer to the documentation for the load balancers or for Traffic Director - * for more information. + * Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP, GRPC, or + * UNSPECIFIED, depending on the chosen load balancer or Traffic Director + * configuration. Refer to Load balancing features for more information. * * Must be set to GRPC when the backend service is referenced by a URL map * that is bound to target gRPC proxy. diff --git a/src/Compute/BackendServiceCdnPolicy.php b/src/Compute/BackendServiceCdnPolicy.php index 9374507c91..9520f407e4 100644 --- a/src/Compute/BackendServiceCdnPolicy.php +++ b/src/Compute/BackendServiceCdnPolicy.php @@ -47,14 +47,14 @@ class BackendServiceCdnPolicy extends \Google\Collection protected $cacheKeyPolicyDataType = ''; /** * Specifies the cache setting for all responses from this backend. The - * possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid + * possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid * caching headers to cache content. Responses without these headers will not * be cached at Google's edge, and will require a full trip to the origin on * every request, potentially impacting performance and increasing load on the - * origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", + * origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", * "no-store" or "no-cache" directives in Cache-Control response headers. * Warning: this may result in Cloud CDN caching private, per-user (user - * identifiable) content.CACHE_ALL_STATIC Automatically cache static content, + * identifiable) content. CACHE_ALL_STATIC Automatically cache static content, * including common image formats, media (video and audio), and web assets * (JavaScript and CSS). Requests and responses that are marked as * uncacheable, as well as dynamic content (including HTML), will not be @@ -204,14 +204,14 @@ public function getCacheKeyPolicy() } /** * Specifies the cache setting for all responses from this backend. The - * possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid + * possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid * caching headers to cache content. Responses without these headers will not * be cached at Google's edge, and will require a full trip to the origin on * every request, potentially impacting performance and increasing load on the - * origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", + * origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", * "no-store" or "no-cache" directives in Cache-Control response headers. * Warning: this may result in Cloud CDN caching private, per-user (user - * identifiable) content.CACHE_ALL_STATIC Automatically cache static content, + * identifiable) content. CACHE_ALL_STATIC Automatically cache static content, * including common image formats, media (video and audio), and web assets * (JavaScript and CSS). Requests and responses that are marked as * uncacheable, as well as dynamic content (including HTML), will not be diff --git a/src/Compute/BackendServiceTlsSettings.php b/src/Compute/BackendServiceTlsSettings.php index c22b90fba9..1439e5be93 100644 --- a/src/Compute/BackendServiceTlsSettings.php +++ b/src/Compute/BackendServiceTlsSettings.php @@ -29,6 +29,38 @@ class BackendServiceTlsSettings extends \Google\Collection * @var string */ public $authenticationConfig; + /** + * Assigns the Managed Identity for the BackendService Workload. + * + * Use this property to configure the load balancer back-end to use + * certificates and roots of trust provisioned by the Managed Workload + * Identity system. + * + * The `identity` property is the fully-specified SPIFFE ID to use in the + * SVID presented by the Load Balancer Workload. + * + * The SPIFFE ID must be a resource starting with the `trustDomain` property + * value, followed by the path to the Managed Workload Identity. + * + * Supported SPIFFE ID format: - ns//sa/ + * + * The Trust Domain within the Managed Identity must refer to a valid Workload + * Identity Pool. The TrustConfig and CertificateIssuanceConfig will be + * inherited from the Workload Identity Pool. + * + * Restrictions: - If you set the `identity` property, you cannot + * manually set the following fields: - tlsSettings.sni - + * tlsSettings.subjectAltNames - tlsSettings.authenticationConfig + * + * When defining a `identity` for a RegionBackendServices, the corresponding + * Workload Identity Pool must have a ca_pool configured in the same region. + * + * The system will set up a read-onlytlsSettings.authenticationConfig for the + * Managed Identity. + * + * @var string + */ + public $identity; /** * Server Name Indication - see RFC3546 section 3.1. If set, the load balancer * sends this string as the SNI hostname in the TLS connection to the backend, @@ -64,6 +96,48 @@ public function getAuthenticationConfig() { return $this->authenticationConfig; } + /** + * Assigns the Managed Identity for the BackendService Workload. + * + * Use this property to configure the load balancer back-end to use + * certificates and roots of trust provisioned by the Managed Workload + * Identity system. + * + * The `identity` property is the fully-specified SPIFFE ID to use in the + * SVID presented by the Load Balancer Workload. + * + * The SPIFFE ID must be a resource starting with the `trustDomain` property + * value, followed by the path to the Managed Workload Identity. + * + * Supported SPIFFE ID format: - ns//sa/ + * + * The Trust Domain within the Managed Identity must refer to a valid Workload + * Identity Pool. The TrustConfig and CertificateIssuanceConfig will be + * inherited from the Workload Identity Pool. + * + * Restrictions: - If you set the `identity` property, you cannot + * manually set the following fields: - tlsSettings.sni - + * tlsSettings.subjectAltNames - tlsSettings.authenticationConfig + * + * When defining a `identity` for a RegionBackendServices, the corresponding + * Workload Identity Pool must have a ca_pool configured in the same region. + * + * The system will set up a read-onlytlsSettings.authenticationConfig for the + * Managed Identity. + * + * @param string $identity + */ + public function setIdentity($identity) + { + $this->identity = $identity; + } + /** + * @return string + */ + public function getIdentity() + { + return $this->identity; + } /** * Server Name Indication - see RFC3546 section 3.1. If set, the load balancer * sends this string as the SNI hostname in the TLS connection to the backend, diff --git a/src/Compute/Commitment.php b/src/Compute/Commitment.php index 928e445af7..683b14141e 100644 --- a/src/Compute/Commitment.php +++ b/src/Compute/Commitment.php @@ -94,6 +94,18 @@ class Commitment extends \Google\Collection * CUD bucket for C4N (dual Diorite) machines. */ public const TYPE_NETWORK_OPTIMIZED_C4N = 'NETWORK_OPTIMIZED_C4N'; + /** + * CUD bucket for NETWORK_OPTIMIZED_U4C machines. + */ + public const TYPE_NETWORK_OPTIMIZED_U4C = 'NETWORK_OPTIMIZED_U4C'; + /** + * CUD bucket for NETWORK_OPTIMIZED_U4P machines. + */ + public const TYPE_NETWORK_OPTIMIZED_U4P = 'NETWORK_OPTIMIZED_U4P'; + /** + * CUD bucket for NETWORK_OPTIMIZED_U4S machines. + */ + public const TYPE_NETWORK_OPTIMIZED_U4S = 'NETWORK_OPTIMIZED_U4S'; public const TYPE_STORAGE_OPTIMIZED_Z3 = 'STORAGE_OPTIMIZED_Z3'; /** * Note for internal users: When adding a new enum Type for v1, make sure to @@ -727,7 +739,8 @@ public function getStatusMessage() * MEMORY_OPTIMIZED_X4_24TB, MEMORY_OPTIMIZED_X4_32TB, * MEMORY_OPTIMIZED_X4_480_6T, MEMORY_OPTIMIZED_X4_480_8T, * MEMORY_OPTIMIZED_X4_960_12T, MEMORY_OPTIMIZED_X4_960_16T, - * NETWORK_OPTIMIZED_C4N, STORAGE_OPTIMIZED_Z3, TYPE_UNSPECIFIED + * NETWORK_OPTIMIZED_C4N, NETWORK_OPTIMIZED_U4C, NETWORK_OPTIMIZED_U4P, + * NETWORK_OPTIMIZED_U4S, STORAGE_OPTIMIZED_Z3, TYPE_UNSPECIFIED * * @param self::TYPE_* $type */ diff --git a/src/Compute/ForwardingRule.php b/src/Compute/ForwardingRule.php index 3c2049e5e9..c70b2d6037 100644 --- a/src/Compute/ForwardingRule.php +++ b/src/Compute/ForwardingRule.php @@ -112,6 +112,8 @@ class ForwardingRule extends \Google\Collection * regions/region/addresses/address-name - global/addresses/address-name * - address-name * + * The IP address can only be set at creation. Once set, it cannot be updated. + * * The forwarding rule's target or backendService, and in most cases, also the * loadBalancingScheme, determine the type of IP address that you can use. For * detailed information, see [IP address @@ -120,6 +122,12 @@ class ForwardingRule extends \Google\Collection * * When reading an IPAddress, the API always returns the IP address number. * + * When creating a global external Passthrough Network Load Balancer + * forwarding rule (a parent forwarding rule), you must use theIPAddresses + * field, but the Google Cloud generated child forwarding rules set the + * IPAddress field instead. Refer to theavailabilityGroup field for further + * details. + * * @var string */ public $iPAddress; @@ -176,8 +184,14 @@ class ForwardingRule extends \Google\Collection protected $attachedExtensionsDataType = 'array'; /** * Identifies the backend service to which the forwarding rule sends traffic. - * Required for internal and external passthrough Network Load Balancers; must - * be omitted for all other load balancer types. + * + * It is a required field for the following load balancers: - Internal + * passthrough Network Load Balancers - Backend service-based regional + * external passthrough Network Load Balancers - Global external + * passthrough Network Load Balancers + * + * It cannot be set by other load balancer types and protocol forwarding + * rules. * * @var string */ @@ -322,8 +336,7 @@ class ForwardingRule extends \Google\Collection /** * Specifies the forwarding rule type. * - * For more information about forwarding rules, refer to Forwarding rule - * concepts. + * For more information, refer to Forwarding rule product and scheme table. * * @var string */ @@ -343,6 +356,14 @@ class ForwardingRule extends \Google\Collection * APIs, the forwarding rule name must be a 1-20 characters string with * lowercase letters and numbers and must start with a letter. * + * For global external Passthrough Network Load Balancer forwarding rules, the + * forwarding rule name must be 1-43 characters long. For each global external + * Passthrough Network Load Balancer forwarding rule (a parent forwarding + * rule) that you create, Google Cloud generates two output-only child + * forwarding rules that are named by concatenating the parent forwarding rule + * name with the `-ag0` and `-ag1` suffixes, respectively. Refer to + * theavailabilityGroup field for further details. + * * @var string */ public $name; @@ -396,7 +417,8 @@ class ForwardingRule extends \Google\Collection * ports can be used. See port specifications for details. * * For external forwarding rules, two or more forwarding rules cannot use the - * same [IPAddress, IPProtocol] pair, and cannot have overlappingportRanges. + * same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, + * IPProtocol fields) if they have overlapping portRanges. * * For internal forwarding rules within the same VPC network, two or more * forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and @@ -421,7 +443,8 @@ class ForwardingRule extends \Google\Collection * contiguous or discontiguous. * * For external forwarding rules, two or more forwarding rules cannot use the - * same [IPAddress, IPProtocol] pair if they share at least one port number. + * same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, + * IPProtocol fields) if they share at least one port number. * * For internal forwarding rules within the same VPC network, two or more * forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they @@ -533,6 +556,12 @@ class ForwardingRule extends \Google\Collection * target must be a service attachment. The target is not mutable once set as * a service attachment. * + * The following load balancers cannot set the target field (they should set + * the backendService field instead): - Internal passthrough Network + * Load Balancers - Backend service-based regional external passthrough + * Network Load Balancers - Global external passthrough Network Load + * Balancers + * * @var string */ public $target; @@ -564,6 +593,8 @@ class ForwardingRule extends \Google\Collection * regions/region/addresses/address-name - global/addresses/address-name * - address-name * + * The IP address can only be set at creation. Once set, it cannot be updated. + * * The forwarding rule's target or backendService, and in most cases, also the * loadBalancingScheme, determine the type of IP address that you can use. For * detailed information, see [IP address @@ -572,6 +603,12 @@ class ForwardingRule extends \Google\Collection * * When reading an IPAddress, the API always returns the IP address number. * + * When creating a global external Passthrough Network Load Balancer + * forwarding rule (a parent forwarding rule), you must use theIPAddresses + * field, but the Google Cloud generated child forwarding rules set the + * IPAddress field instead. Refer to theavailabilityGroup field for further + * details. + * * @param string $iPAddress */ public function setIPAddress($iPAddress) @@ -695,8 +732,14 @@ public function getAttachedExtensions() } /** * Identifies the backend service to which the forwarding rule sends traffic. - * Required for internal and external passthrough Network Load Balancers; must - * be omitted for all other load balancer types. + * + * It is a required field for the following load balancers: - Internal + * passthrough Network Load Balancers - Backend service-based regional + * external passthrough Network Load Balancers - Global external + * passthrough Network Load Balancers + * + * It cannot be set by other load balancer types and protocol forwarding + * rules. * * @param string $backendService */ @@ -985,8 +1028,7 @@ public function getLabels() /** * Specifies the forwarding rule type. * - * For more information about forwarding rules, refer to Forwarding rule - * concepts. + * For more information, refer to Forwarding rule product and scheme table. * * Accepted values: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED, * INTERNAL_SELF_MANAGED, INVALID @@ -1051,6 +1093,14 @@ public function getMetadataFilters() * APIs, the forwarding rule name must be a 1-20 characters string with * lowercase letters and numbers and must start with a letter. * + * For global external Passthrough Network Load Balancer forwarding rules, the + * forwarding rule name must be 1-43 characters long. For each global external + * Passthrough Network Load Balancer forwarding rule (a parent forwarding + * rule) that you create, Google Cloud generates two output-only child + * forwarding rules that are named by concatenating the parent forwarding rule + * name with the `-ag0` and `-ag1` suffixes, respectively. Refer to + * theavailabilityGroup field for further details. + * * @param string $name */ public function setName($name) @@ -1147,7 +1197,8 @@ public function getNoAutomateDnsZone() * ports can be used. See port specifications for details. * * For external forwarding rules, two or more forwarding rules cannot use the - * same [IPAddress, IPProtocol] pair, and cannot have overlappingportRanges. + * same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, + * IPProtocol fields) if they have overlapping portRanges. * * For internal forwarding rules within the same VPC network, two or more * forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and @@ -1182,7 +1233,8 @@ public function getPortRange() * contiguous or discontiguous. * * For external forwarding rules, two or more forwarding rules cannot use the - * same [IPAddress, IPProtocol] pair if they share at least one port number. + * same [IPAddress, IPProtocol] pair (specified inIPAddress, IPAddresses, + * IPProtocol fields) if they share at least one port number. * * For internal forwarding rules within the same VPC network, two or more * forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they @@ -1409,6 +1461,12 @@ public function getSubnetwork() * target must be a service attachment. The target is not mutable once set as * a service attachment. * + * The following load balancers cannot set the target field (they should set + * the backendService field instead): - Internal passthrough Network + * Load Balancers - Backend service-based regional external passthrough + * Network Load Balancers - Global external passthrough Network Load + * Balancers + * * @param string $target */ public function setTarget($target) diff --git a/src/Compute/FutureReservation.php b/src/Compute/FutureReservation.php index 203e09c885..2294757bee 100644 --- a/src/Compute/FutureReservation.php +++ b/src/Compute/FutureReservation.php @@ -180,6 +180,14 @@ class FutureReservation extends \Google\Model public $reservationName; protected $resourceMetadataType = ResourceMetadata::class; protected $resourceMetadataDataType = ''; + /** + * Name of the resource intended to be delivered. Name should conform to + * RFC1035. This will be the name of storage pool or Exapool for persistent + * disk FRs. + * + * @var string + */ + public $resourceName; /** * Maintenance information for this reservation * @@ -214,6 +222,8 @@ class FutureReservation extends \Google\Model protected $specificSkuPropertiesDataType = ''; protected $statusType = FutureReservationStatus::class; protected $statusDataType = ''; + protected $storagePoolPropertiesType = FutureReservationStoragePoolProperties::class; + protected $storagePoolPropertiesDataType = ''; protected $timeWindowType = FutureReservationTimeWindow::class; protected $timeWindowDataType = ''; /** @@ -566,6 +576,24 @@ public function getResourceMetadata() { return $this->resourceMetadata; } + /** + * Name of the resource intended to be delivered. Name should conform to + * RFC1035. This will be the name of storage pool or Exapool for persistent + * disk FRs. + * + * @param string $resourceName + */ + public function setResourceName($resourceName) + { + $this->resourceName = $resourceName; + } + /** + * @return string + */ + public function getResourceName() + { + return $this->resourceName; + } /** * Maintenance information for this reservation * @@ -685,6 +713,22 @@ public function getStatus() { return $this->status; } + /** + * Storage pool details for the future reservation. + * + * @param FutureReservationStoragePoolProperties $storagePoolProperties + */ + public function setStoragePoolProperties(FutureReservationStoragePoolProperties $storagePoolProperties) + { + $this->storagePoolProperties = $storagePoolProperties; + } + /** + * @return FutureReservationStoragePoolProperties + */ + public function getStoragePoolProperties() + { + return $this->storagePoolProperties; + } /** * Time window for this Future Reservation. * diff --git a/src/Compute/FutureReservationStatus.php b/src/Compute/FutureReservationStatus.php index d7f45f5f41..07acc63d0b 100644 --- a/src/Compute/FutureReservationStatus.php +++ b/src/Compute/FutureReservationStatus.php @@ -106,6 +106,8 @@ class FutureReservationStatus extends \Google\Collection * @var string[] */ public $autoCreatedReservations; + protected $exapoolProvisionedCapacityGbType = StoragePoolExapoolProvisionedCapacityGb::class; + protected $exapoolProvisionedCapacityGbDataType = ''; protected $existingMatchingUsageInfoType = FutureReservationStatusExistingMatchingUsageInfo::class; protected $existingMatchingUsageInfoDataType = ''; /** @@ -136,6 +138,8 @@ class FutureReservationStatus extends \Google\Collection public $procurementStatus; protected $specificSkuPropertiesType = FutureReservationStatusSpecificSKUProperties::class; protected $specificSkuPropertiesDataType = ''; + protected $storagePoolProvisionedCapacityType = FutureReservationStoragePoolProvisionedCapacity::class; + protected $storagePoolProvisionedCapacityDataType = ''; /** * Output only. [Output Only] The current status of the requested amendment. @@ -173,6 +177,22 @@ public function getAutoCreatedReservations() { return $this->autoCreatedReservations; } + /** + * Output only. Exapool provisioned capacities for each SKU type. + * + * @param StoragePoolExapoolProvisionedCapacityGb $exapoolProvisionedCapacityGb + */ + public function setExapoolProvisionedCapacityGb(StoragePoolExapoolProvisionedCapacityGb $exapoolProvisionedCapacityGb) + { + $this->exapoolProvisionedCapacityGb = $exapoolProvisionedCapacityGb; + } + /** + * @return StoragePoolExapoolProvisionedCapacityGb + */ + public function getExapoolProvisionedCapacityGb() + { + return $this->exapoolProvisionedCapacityGb; + } /** * Output only. [Output Only] Represents the existing matching usage for the * future reservation. @@ -282,6 +302,22 @@ public function getSpecificSkuProperties() { return $this->specificSkuProperties; } + /** + * Output only. Storage pool provisioned capacities for each SKU type. + * + * @param FutureReservationStoragePoolProvisionedCapacity $storagePoolProvisionedCapacity + */ + public function setStoragePoolProvisionedCapacity(FutureReservationStoragePoolProvisionedCapacity $storagePoolProvisionedCapacity) + { + $this->storagePoolProvisionedCapacity = $storagePoolProvisionedCapacity; + } + /** + * @return FutureReservationStoragePoolProvisionedCapacity + */ + public function getStoragePoolProvisionedCapacity() + { + return $this->storagePoolProvisionedCapacity; + } } // Adding a class alias for backwards compatibility with the previous class name. diff --git a/src/Compute/FutureReservationStoragePoolProperties.php b/src/Compute/FutureReservationStoragePoolProperties.php new file mode 100644 index 0000000000..88c8809225 --- /dev/null +++ b/src/Compute/FutureReservationStoragePoolProperties.php @@ -0,0 +1,84 @@ +requestedExapoolProvisionedCapacityGb = $requestedExapoolProvisionedCapacityGb; + } + /** + * @return StoragePoolExapoolProvisionedCapacityGb + */ + public function getRequestedExapoolProvisionedCapacityGb() + { + return $this->requestedExapoolProvisionedCapacityGb; + } + /** + * Requested storage pool provisioned capacity. + * + * @param FutureReservationStoragePoolProvisionedCapacity $requestedStoragePoolProvisionedCapacity + */ + public function setRequestedStoragePoolProvisionedCapacity(FutureReservationStoragePoolProvisionedCapacity $requestedStoragePoolProvisionedCapacity) + { + $this->requestedStoragePoolProvisionedCapacity = $requestedStoragePoolProvisionedCapacity; + } + /** + * @return FutureReservationStoragePoolProvisionedCapacity + */ + public function getRequestedStoragePoolProvisionedCapacity() + { + return $this->requestedStoragePoolProvisionedCapacity; + } + /** + * Type of the storage pool. + * + * @param string $storagePoolType + */ + public function setStoragePoolType($storagePoolType) + { + $this->storagePoolType = $storagePoolType; + } + /** + * @return string + */ + public function getStoragePoolType() + { + return $this->storagePoolType; + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(FutureReservationStoragePoolProperties::class, 'Google_Service_Compute_FutureReservationStoragePoolProperties'); diff --git a/src/Compute/FutureReservationStoragePoolProvisionedCapacity.php b/src/Compute/FutureReservationStoragePoolProvisionedCapacity.php new file mode 100644 index 0000000000..eedc27c6dc --- /dev/null +++ b/src/Compute/FutureReservationStoragePoolProvisionedCapacity.php @@ -0,0 +1,96 @@ +poolProvisionedCapacityGb = $poolProvisionedCapacityGb; + } + /** + * @return string + */ + public function getPoolProvisionedCapacityGb() + { + return $this->poolProvisionedCapacityGb; + } + /** + * Provisioned IOPS of the storage pool. Only relevant if the storage pool + * type is hyperdisk-balanced. + * + * @param string $poolProvisionedIops + */ + public function setPoolProvisionedIops($poolProvisionedIops) + { + $this->poolProvisionedIops = $poolProvisionedIops; + } + /** + * @return string + */ + public function getPoolProvisionedIops() + { + return $this->poolProvisionedIops; + } + /** + * Provisioned throughput of the storage pool in MiB/s. Only relevant if the + * storage pool type is hyperdisk-balanced or hyperdisk-throughput. + * + * @param string $poolProvisionedThroughput + */ + public function setPoolProvisionedThroughput($poolProvisionedThroughput) + { + $this->poolProvisionedThroughput = $poolProvisionedThroughput; + } + /** + * @return string + */ + public function getPoolProvisionedThroughput() + { + return $this->poolProvisionedThroughput; + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(FutureReservationStoragePoolProvisionedCapacity::class, 'Google_Service_Compute_FutureReservationStoragePoolProvisionedCapacity'); diff --git a/src/Compute/Instance.php b/src/Compute/Instance.php index fe92f2b577..b38daa4336 100644 --- a/src/Compute/Instance.php +++ b/src/Compute/Instance.php @@ -264,8 +264,10 @@ class Instance extends \Google\Collection * * zones/zone/machineTypes/custom-CPUS-MEMORY * - * For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list - * of restrictions, read theSpecifications for custom machine types. + * For example: zones/us-central1-f/machineTypes/custom-4-5120 + * + * For a full list of restrictions, read theSpecifications for custom machine + * types. * * @var string */ @@ -789,8 +791,10 @@ public function getLocalSsdEncryptionMode() * * zones/zone/machineTypes/custom-CPUS-MEMORY * - * For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list - * of restrictions, read theSpecifications for custom machine types. + * For example: zones/us-central1-f/machineTypes/custom-4-5120 + * + * For a full list of restrictions, read theSpecifications for custom machine + * types. * * @param string $machineType */ diff --git a/src/Compute/InstanceFlexibilityPolicyInstanceSelection.php b/src/Compute/InstanceFlexibilityPolicyInstanceSelection.php index 20fb155b9c..f60c03114f 100644 --- a/src/Compute/InstanceFlexibilityPolicyInstanceSelection.php +++ b/src/Compute/InstanceFlexibilityPolicyInstanceSelection.php @@ -30,6 +30,13 @@ class InstanceFlexibilityPolicyInstanceSelection extends \Google\Collection * @var string[] */ public $machineTypes; + /** + * Name of the minimum CPU platform to be used by this instance selection. + * e.g. 'Intel Ice Lake'. + * + * @var string + */ + public $minCpuPlatform; /** * Rank when prioritizing the shape flexibilities. The instance selections * with rank are considered first, in the ascending order of the rank. If not @@ -74,6 +81,23 @@ public function getMachineTypes() { return $this->machineTypes; } + /** + * Name of the minimum CPU platform to be used by this instance selection. + * e.g. 'Intel Ice Lake'. + * + * @param string $minCpuPlatform + */ + public function setMinCpuPlatform($minCpuPlatform) + { + $this->minCpuPlatform = $minCpuPlatform; + } + /** + * @return string + */ + public function getMinCpuPlatform() + { + return $this->minCpuPlatform; + } /** * Rank when prioritizing the shape flexibilities. The instance selections * with rank are considered first, in the ascending order of the rank. If not diff --git a/src/Compute/RegexRewrite.php b/src/Compute/RegexRewrite.php new file mode 100644 index 0000000000..46b6dcd765 --- /dev/null +++ b/src/Compute/RegexRewrite.php @@ -0,0 +1,90 @@ +pathPattern = $pathPattern; + } + /** + * @return string + */ + public function getPathPattern() + { + return $this->pathPattern; + } + /** + * Required. Required when path pattern is specified. Used to rewrite matching + * parts of the path. + * + * @param string $pathSubstitution + */ + public function setPathSubstitution($pathSubstitution) + { + $this->pathSubstitution = $pathSubstitution; + } + /** + * @return string + */ + public function getPathSubstitution() + { + return $this->pathSubstitution; + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(RegexRewrite::class, 'Google_Service_Compute_RegexRewrite'); diff --git a/src/Compute/SecurityPolicyRuleRateLimitOptions.php b/src/Compute/SecurityPolicyRuleRateLimitOptions.php index 3283a1dbc4..2c3a090b73 100644 --- a/src/Compute/SecurityPolicyRuleRateLimitOptions.php +++ b/src/Compute/SecurityPolicyRuleRateLimitOptions.php @@ -20,6 +20,7 @@ class SecurityPolicyRuleRateLimitOptions extends \Google\Collection { public const ENFORCE_ON_KEY_ALL = 'ALL'; + public const ENFORCE_ON_KEY_ASN = 'ASN'; public const ENFORCE_ON_KEY_HTTP_COOKIE = 'HTTP_COOKIE'; public const ENFORCE_ON_KEY_HTTP_HEADER = 'HTTP_HEADER'; public const ENFORCE_ON_KEY_HTTP_PATH = 'HTTP_PATH'; @@ -204,8 +205,8 @@ public function getConformAction() * For "fairshare" action, this value is limited to ALL i.e. a single rate * limit threshold is enforced for all the requests matching the rule. * - * Accepted values: ALL, HTTP_COOKIE, HTTP_HEADER, HTTP_PATH, IP, REGION_CODE, - * SNI, TLS_JA3_FINGERPRINT, TLS_JA4_FINGERPRINT, USER_IP, XFF_IP + * Accepted values: ALL, ASN, HTTP_COOKIE, HTTP_HEADER, HTTP_PATH, IP, + * REGION_CODE, SNI, TLS_JA3_FINGERPRINT, TLS_JA4_FINGERPRINT, USER_IP, XFF_IP * * @param self::ENFORCE_ON_KEY_* $enforceOnKey */ diff --git a/src/Compute/SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php b/src/Compute/SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php index 09a53007aa..fa7a73fda9 100644 --- a/src/Compute/SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php +++ b/src/Compute/SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php @@ -20,6 +20,7 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig extends \Google\Model { public const ENFORCE_ON_KEY_TYPE_ALL = 'ALL'; + public const ENFORCE_ON_KEY_TYPE_ASN = 'ASN'; public const ENFORCE_ON_KEY_TYPE_HTTP_COOKIE = 'HTTP_COOKIE'; public const ENFORCE_ON_KEY_TYPE_HTTP_HEADER = 'HTTP_HEADER'; public const ENFORCE_ON_KEY_TYPE_HTTP_PATH = 'HTTP_PATH'; @@ -128,8 +129,8 @@ public function getEnforceOnKeyName() * TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or * HTTP/3. If not available, the key type defaults to ALL. * - * Accepted values: ALL, HTTP_COOKIE, HTTP_HEADER, HTTP_PATH, IP, REGION_CODE, - * SNI, TLS_JA3_FINGERPRINT, TLS_JA4_FINGERPRINT, USER_IP, XFF_IP + * Accepted values: ALL, ASN, HTTP_COOKIE, HTTP_HEADER, HTTP_PATH, IP, + * REGION_CODE, SNI, TLS_JA3_FINGERPRINT, TLS_JA4_FINGERPRINT, USER_IP, XFF_IP * * @param self::ENFORCE_ON_KEY_TYPE_* $enforceOnKeyType */ diff --git a/src/Compute/TargetPool.php b/src/Compute/TargetPool.php index f30cc51e24..63307ca5e8 100644 --- a/src/Compute/TargetPool.php +++ b/src/Compute/TargetPool.php @@ -77,7 +77,7 @@ class TargetPool extends \Google\Collection * The server-defined URL for the resource. This field is applicable only when * the containing target pool is serving a forwarding rule as the primary * pool, and its failoverRatio field is properly set to a value between [0, - * 1].backupPool and failoverRatio together define the fallback behavior of + * 1]. backupPool and failoverRatio together define the fallback behavior of * the primary target pool: if the ratio of the healthy instances in the * primary pool is at or belowfailoverRatio, traffic arriving at the load- * balanced IP will be directed to the backup pool. @@ -199,7 +199,7 @@ class TargetPool extends \Google\Collection * The server-defined URL for the resource. This field is applicable only when * the containing target pool is serving a forwarding rule as the primary * pool, and its failoverRatio field is properly set to a value between [0, - * 1].backupPool and failoverRatio together define the fallback behavior of + * 1]. backupPool and failoverRatio together define the fallback behavior of * the primary target pool: if the ratio of the healthy instances in the * primary pool is at or belowfailoverRatio, traffic arriving at the load- * balanced IP will be directed to the backup pool. diff --git a/src/Compute/UrlRewrite.php b/src/Compute/UrlRewrite.php index d1168df4e3..59e3c6e14b 100644 --- a/src/Compute/UrlRewrite.php +++ b/src/Compute/UrlRewrite.php @@ -62,6 +62,8 @@ class UrlRewrite extends \Google\Model * @var string */ public $pathTemplateRewrite; + protected $regexRewriteType = RegexRewrite::class; + protected $regexRewriteDataType = ''; /** * Before forwarding the request to the selected service, the request's host @@ -136,6 +138,23 @@ public function getPathTemplateRewrite() { return $this->pathTemplateRewrite; } + /** + * The regex rewrite to be applied to the URL. Only one ofpathPrefixRewrite, + * pathTemplateRewrite, orregexRewrite may be specified. + * + * @param RegexRewrite $regexRewrite + */ + public function setRegexRewrite(RegexRewrite $regexRewrite) + { + $this->regexRewrite = $regexRewrite; + } + /** + * @return RegexRewrite + */ + public function getRegexRewrite() + { + return $this->regexRewrite; + } } // Adding a class alias for backwards compatibility with the previous class name.