Google Cloud SDK version 210.0.0 introduces several breaking changes related to Container Builder command group renames and deprecations, along with changes to Kubernetes Engine cluster creation defaults. Key new features include the promotion of Compute Engine sole-tenancy commands to GA and the addition of new VPC flow logging flags for subnets. This release also includes significant groundwork for new services like Firestore and enhanced Cloud KMS capabilities, alongside various internal refactorings.
Jump to: Annotated Release Notes | Unannounced Changes 🕵️ | Stats 📊
Breaking Changes
- Removed deprecated
gcloud compute interconnects patch; users should now usegcloud compute interconnects update.- File: RELEASE_NOTES
- Deprecated the
container-builder-localbinary; users should transition tocloud-build-local.- File: RELEASE_NOTES
- Deprecated the
gcloud container buildscommand group; users should transition togcloud builds. Existing commands will work during a deprecation period.- File: RELEASE_NOTES
- Renamed the
containers.build_timeoutproperty tobuilds.timeoutingcloud builds.- File: RELEASE_NOTES
- Renamed the
container.build_check_tagproperty tobuilds.check_tagingcloud builds.- File: RELEASE_NOTES
- Starting in Kubernetes Engine version 1.12,
gcloud container clusters createwill have basic authentication and client certificate issuance disabled by default.- File: RELEASE_NOTES
- Removed automated
app.yamlgeneration fromgcloud app deploy; the deprecatedgcloud beta app gen-configis still available separately. - The
UnidentifiedDirMatchernow explicitly errors out if noapp.yamlis found, instead of attempting to generate one.- File: deployables.py:175
- Removed the
Rsyncfunction fromStorageClient, which may affect Python code directly utilizing this SDK helper.- File: storage_api.py:323
- Added a warning indicating that
RunGsutilCommandis not compatible with Python 3 and should no longer be used.- File: storage_util.py:299
- The
DRYRUN_AUDIT_LOG_ONLYenum value has been removed fromAdmissionRule.EnforcementModeValueValuesEnumin the Binary Authorizationv1beta1API. Existing configurations using this value may fail. - The
Bindingmessage in Cloud KMS API has been updated. Themembersfield was re-indexed from 1 to 2, and therolefield from 2 to 3, to accommodate a newconditionfield at index 1. This change could break clients relying on strict positional field indexing. - The
Bindingmessage in Cloud Resource Manager API has been updated. Themembersfield was re-indexed from 1 to 2, and therolefield from 2 to 3, to accommodate a newconditionfield at index 1. This change could break clients relying on strict positional field indexing. - The
CryptoKeyVersion.StateValueValuesEnumin Cloud KMS API had its integer values re-indexed to introduce a newPENDING_GENERATIONstate.ENABLEDmoved from 1 to 2,DISABLEDfrom 2 to 3, and so on. Clients relying on the integer values of these enum states may experience issues. - Removed
HostTypesServiceandHostsServicefrom the Compute Alpha API client, indicating the removal of functionality related to host types and hosts in the alpha version of the Compute API. - Removed generic message definitions for
StatusProto,TypedMessage, andMessageSetfromcomposer_v1.jsonandcomposer_v1beta1.json. This could be a breaking change for any client or tool directly relying on these specific schema definitions within the Composer API.- File: composer_v1_messages.py
- Removed
ComputeHostTypesAPI endpoints and associated resource collections (HOSTTYPES,HOSTS) from thecompute/alphaAPI. - Removed the
VERSIONED_EXPR_UNSPECIFIEDenum value fromSecurityPolicyRuleMatcher.VersionedExprValueValuesEnumin thecompute/betaAPI, which may affect clients relying on this specific value. - The
Hostobject has been entirely removed from the Compute Engine alpha API, and theHttpHealthCheckobject has been significantly redefined with fields removed, added, and renamed (e.g.,hostTyperemoved,hostadded,instancesremoved). This will break any client code interacting with these alpha API resources.- File: compute_alpha.json
- The
requestIdparameter has been removed from thecompute.instances.startmethod in the Compute Engine v1 API.- File: compute_v1.json
- The enum value
VERSIONED_EXPR_UNSPECIFIEDhas been removed fromSecurityPolicyRuleMatcher.versionedExprin the Compute Engine beta API. If programmatic clients relied on this enum, it could be a breaking change.- File: compute_beta.json
- Removed the
bearer_tokenandpp(prettyPrint) fields from theStandardQueryParametersmessage for the Datastorev1API. While these are typically internal query parameters, their removal could implicitly affect tooling that relied on them.- File: datastore_v1_messages.py
- Removed
bearer_tokenandpp(prettyPrint) global query parameters from the Datastorev1API schema.- File: datastore_v1.json
Security Updates
- The
Bindingmessage in Cloud Tasks API now includes aconditionfield of typeExpr, which provides groundwork for IAM Conditions. This will allow for more granular access control policies. [MEDIUM] - Introduced a new
SecurityPoliciesAPI (compute.securityPoliciesservice) incompute/v1. This enables comprehensive management of global network security policies, including methods for adding, deleting, getting, listing, patching, and removing security rules. It also allows associating security policies with backend services (compute.backendServices.setSecurityPolicy), significantly enhancing network security controls. [HIGH] - New
SecurityPolicyresources and methods (addRule,delete,get,getRule,insert,list,patch,patchRule,removeRule) have been introduced in the Compute Engine v1 API, along with asetSecurityPolicymethod forBackendService. This enables advanced security policy management, likely for Web Application Firewall (WAF) or similar features. [MEDIUM]- File: compute_v1.json
New Features by Service
Cloud Build
- Renamed the
container-builder-localbinary tocloud-build-local(no functional changes), with initial release version0.4.0.- File: RELEASE_NOTES
- Released initial
cloud-build-localpackage installers for deb and RPM.- File: RELEASE_NOTES
Cloud IoT
- Promoted
gcloud registries add-iam-policy-bindingto beta.- File: RELEASE_NOTES
- Promoted
gcloud registries remove-iam-policy-bindingto beta.- File: RELEASE_NOTES
Cloud Services
gcloud beta services disablenow supports the--forceoption to disable dependent services.- Flags:
--force - File: serviceusage.py:87
- Flags:
Compute Engine
- Promoted
sole-tenancycommands to GA.- File: RELEASE_NOTES
- Promoted the
--internal-ipflag ofgcloud compute sshto GA.- Flags:
--internal-ip - File: RELEASE_NOTES
- Flags:
- Added the
list-nodescommand togcloud compute sole-tenancy node-groupsfor displaying node information.- File: RELEASE_NOTES
- Added the
--use-serving-portflag togcloud compute health-checks tcp createcommand.- Flags:
--use-serving-port - File: RELEASE_NOTES
- Flags:
- Promoted the
--enable-loggingflag ofgcloud compute firewall-rules createandupdateto beta.- Flags:
--enable-logging - File: RELEASE_NOTES
- Flags:
- Promoted
gcloud compute networks subnets list-usableto GA.- File: RELEASE_NOTES
- Added
--aggregation-interval,--flow-sampling, and--metadataflags togcloud compute networks subnets updatefor configuring VPC flow logging.- Flags:
--aggregation-interval,--flow-sampling,--metadata - File: flags.py:130
- Flags:
- The
Commitmentmessage incompute/alphanow includes anallocationsfield for specifying resource allocations. - The
SslCertificatemessage incompute/betanow supports managed SSL certificates, introducing new fields likeexpireTime,managed,selfManaged,subjectAlternativeNames, andtype, along with newSslCertificateManagedSslCertificateandSslCertificateSelfManagedSslCertificatemessages. - The
compute/v1Instances service now includes aSimulateMaintenanceEventmethod to simulate maintenance events on instances. - The
BackendServicemessage incompute/v1now includes asecurityPolicyfield to indicate the associated security policy. - The
CustomerEncryptionKeymessage incompute/v1now includes akmsKeyNamefield for referencing encryption keys stored in Google Cloud KMS. - The
Firewallmessage incompute/v1now includes adisabledboolean field, allowing firewall rules to be temporarily disabled. - In the alpha API,
Commitmentresources now include anallocationsfield.HttpHealthCheckresources gain new configuration fields:checkIntervalSec,healthyThreshold,port,requestPath, andtimeoutSec.- File: compute_alpha.json
- In the beta API,
SslCertificateresources now support managed and self-managed configurations through new fields:expireTime,managed,selfManaged,subjectAlternativeNames, andtype. New typesSslCertificateManagedSslCertificateandSslCertificateSelfManagedSslCertificatehave been added to facilitate this.- File: compute_beta.json
- In the v1 API,
BackendServiceresources can now be associated with asecurityPolicyvia the newsetSecurityPolicymethod.CustomerEncryptionKeynow supports akmsKeyNamefield.Firewallrules can bedisabled. Instances gained asimulateMaintenanceEventmethod.- File: compute_v1.json
Kubernetes Engine
- Introduced initial CLI definitions for managing Kubernetes Managed Namespaces, including resource arguments and command logic for
kubernetespolicy.projects.namespaces.- File: command_lib.py:27
- In the v1alpha1 API,
AuthenticatorGroupsConfignow includes asecurityGroupfield, suggesting enhanced group authentication capabilities.
Cloud KMS
- Added new command flags and supporting logic for advanced Cloud KMS operations, including asymmetric signing (
--signature-file,--digest-algorithm), input/output files (--input-file,--output-file), specifying key protection levels (--protection-level), attestation files (--attestation-file), and default algorithms for crypto keys (--default-algorithm). This enables more granular control over key types and operations, particularly for asymmetric keys.- Flags:
--signature-file,--input-file,--output-file,--protection-level,--attestation-file,--default-algorithm,--digest-algorithm - File: flags.py:196
- Flags:
- Added the
AsymmetricDecryptmethod toCryptoKeyVersionsfor decrypting data encrypted with a public key.- File: cloudkms_v1_client.py:51
- Added the
AsymmetricSignmethod toCryptoKeyVersionsfor signing data using a private key.- File: cloudkms_v1_client.py:69
- Added the
GetPublicKeymethod toCryptoKeyVersionsfor retrieving the public key associated with an asymmetricCryptoKeyVersion.
Cloud Firestore
- Initial API client and message definitions for Cloud Firestore, supporting
v1andv1beta1versions, withv1beta1set as the default.- File: apis_map.py:466
- Introduced the client library for the Cloud Firestore v1 API, including new message definitions and resource paths for managing projects, databases, and operations.
- Introduction of the Cloud Firestore API, specifically adding the
v1beta1Python client library for data plane operations (defining messages and resources) and thev1Firestore Admin API via a Discovery JSON definition, providing administrative functions and metadata schemas for index, export, and import operations. - Added support for the Cloud Firestore
v1beta1API, including new index management capabilities viaGoogleFirestoreAdminV1beta1IndexandGoogleFirestoreAdminV1beta1IndexFieldschemas.- File: firestore_v1beta1.json:1
Cloud Key Management Service (KMS)
- Added comprehensive support for asymmetric keys with new
ASYMMETRIC_SIGNandASYMMETRIC_DECRYPTpurposes forCryptoKeyobjects. This includes new API methods likeAsymmetricSign,AsymmetricDecrypt, andGetPublicKeyto retrieve public key material and perform asymmetric cryptographic operations. - Introduced support for Hardware Security Module (HSM) protected keys via a new
protection_levelfield inCryptoKeyVersionandCryptoKeyVersionTemplate, along withKeyOperationAttestationfor verifying HSM operations. - Added
CryptoKeyVersionTemplateto specify properties for newCryptoKeyVersioninstances, includingalgorithmandprotectionLevel.
Cloud Tasks
- Groundwork for Conditional IAM policies by adding the
Binding.conditionfield and theExprmessage type to the Cloud Tasks v2beta2 API. TheExprmessage represents an expression in Common Expression Language (CEL) syntax for defining conditions, although the feature is currently marked as ‘Unimplemented’.
Dataproc
- In the v1beta2 API,
Bindingresources gained aconditionfield of typeExpr, hinting at support for IAM Conditions for Dataproc policies. - Added
conditionfield to theBindingresource and a newExprresource type in the Dataprocv1beta2API, indicating support for IAM Conditions for more granular access control.- File: dataproc_v1beta2.json
Datastore
- Added new API client methods and messages for managing Datastore indexes, including
GetandListoperations forprojects.indexesresources, and messages likeGoogleDatastoreAdminV1IndexandGoogleDatastoreAdminV1IndexedProperty.- File: datastore_v1_client.py
Firestore
- Introduced the
v1API client and extensive message definitions for Firestore, including operations forprojects.databases.operations(Cancel, Delete, Get, List) andprojects.locations(Get, List).- File: firestore_v1_client.py
- Introduced the
v1beta1API client and extensive message definitions for Firestore, including operations forprojects.databases.operations(Cancel, Delete, Get, List) andprojects.locations(Get, List). - Added the client library for the Firestore v1beta1 API. This new client enables programmatic interaction with Firestore documents, including operations like
BatchGet,BeginTransaction,Commit,CreateDocument,Delete,Get,List,ListCollectionIds,Listen,Patch,Rollback,RunQuery, andWrite. It also allows for the management of Firestore indexes (Create,Delete,Get,List) and provides methods forExportDocumentsandImportDocumentsat the database level.
Cloud Genomics
- Introduced the
ContainerKilledEventmessage to the Genomicsv1,v1alpha2, andv2alpha1APIs, providing an event for containers forcibly terminated by the worker. - Added a new
timeoutfield to theActionmessage in the Genomicsv2alpha1API, allowing users to specify a maximum execution time for individual pipeline actions. - Added a new
conditionfield of typeExprto theBindingmessage in the Genomicsv1API, enabling support for conditional IAM policies. - Introduced support for IAM policy conditions (
Exprtype), allowing more granular access control on resource bindings for Genomics v1 and v1alpha2 APIs.- File: genomics_v1.json:767
- Added a new
ContainerKilledEventfor Genomics pipelines, reporting when a container is forcibly terminated during execution (available across v1, v1alpha2, and v2alpha1 APIs).- File: genomics_v1.json:2316
- Enabled specifying a
timeoutduration for individual pipelineActionsteps in the Genomics v2alpha1 API, allowing termination of long-running actions.
Cloud IAM
- Introduced a new
LintPolicyAPI method to programmatically lint and validate Cloud IAM policy objects, bindings, and conditions in the IAM v1 API.- File: iam_v1_client.py:55
Identity and Access Management
- Introduced a Policy Linting API with new messages
LintPolicyRequest,LintPolicyResponse, andLintResultand a new methodiam.iamPolicies.lintPolicyfor validating IAM policies.- File: iam_v1.json:1789
Cloud Speech-to-Text
- Added a new
tags(repeated string) field toRecognitionMetadatafor tagging input samples, enabling grouping logs and training AutoML models.
Credential & Auth Changes
- Added the
conditionfield to theBindingmessage (using newExprmessage type) in the Cloud Genomicsv1API, providing groundwork for conditional IAM policies.
API Changes
Compute Engine
- Added
aggregation_interval,flow_sampling, andmetadataparameters toMakeSubnetworkUpdateRequestfor VPC flow logging configuration, aligning with new flags.- File: subnets_utils.py:28
- The
compute sole-tenancy node-types listcommand completer has been updated to remove explicitapi_version='beta', indicating a potential graduation or internal alignment with a stable API version.- File: flags.py:35
- Field numbering for the
Commitmentmessage incompute/alphawas adjusted to accommodate the newallocationsfield. - Field numbering for the
SslCertificatemessage incompute/betawas adjusted due to the insertion of new fields for managed certificates. - Field numbering for the
BackendServicemessage incompute/v1was adjusted to accommodate the newsecurityPolicyfield. - Field numbering for the
CustomerEncryptionKeymessage incompute/v1was adjusted to accommodate the newkmsKeyNamefield. - Field numbering for the
Firewallmessage incompute/v1was adjusted to accommodate the newdisabledfield. - The API revision for Compute Engine alpha, beta, and v1 APIs has been updated from
20180711to20180724.- File: compute_alpha.json
- The
Image.licensesdescription has been clarified across alpha, beta, and v1 APIs.- File: compute_alpha.json
- In the beta API, descriptions for
InstanceGroupManagerUpdatePolicy.minimalActionandSecurityPolicyhave been clarified.- File: compute_beta.json
Kubernetes Engine
- Logic added to
CreateClusterto setautoscalingifoptions.enable_autoprovisioningis specified, related to cluster autoscaling features.- File: api_adapter.py:1664
- In the v1beta1 API, descriptions for
ClusterAutoscaling.enableNodeAutoprovisioningandClusterAutoscaling.resourceLimitshave been clarified.
Cloud Endpoints
- The
CreateServiceIfNewfunction was refactored intoDoesServiceExistandCreateServiceto support explicit service existence checks and warn before implicit creation.- File: services_util.py:388
Cloud Services
- Renamed
PeerServicePermissionDeniedExceptiontoCreateConnectionsPermissionDeniedExceptionand introducedListConnectionsPermissionDeniedExceptionfor more specific error handling.- File: exceptions.py:34
- A new
ListConnectionsfunction was added to interact with service networking connections, alongside updates toCreateConnection.- File: peering.py:54
Cloud Composer
- API definitions for Cloud Composer (v1beta1 to v1) were updated, aligning with the promotion of
gcloud composercommands to GA. - Removed deprecated internal message types
MessageSet,StatusProto, andTypedMessagefromcomposer/v1andcomposer/v1beta1API messages. These were likely internal cleanup and not user-facing. - Removed deprecated internal message types
MessageSet,StatusProto, andTypedMessagefromcomposer/v1andcomposer/v1beta1API messages. These were likely internal cleanup and not user-facing.
Cloud Tasks
- API client and message definitions for Cloud Tasks (v2beta2) were significantly updated, aligning with the promotion of
gcloud taskscommands to beta.- File: cloudtasks_v2beta2.json
- Added a new message
Exprto represent an expression text, likely for IAM Conditions. This message defines fields likedescription,expression,location, andtitle. - The
Bindingmessage for IAM policies in Cloud Tasks now includes aconditionfield of typeExpr. The fields withinBindinghave also been reordered (previouslymembersandrole, nowcondition, thenmembers, thenrole). Theconditionfield is currently described as ‘Unimplemented’. - The
Tasks.Listmethod description now explicitly states that ‘The tasks may be returned in any order. The ordering may change at any time.’ - Updated descriptions for various fields, clarifying behavior and limits. For example,
LeaseTasksRequest.maxTasksnow states that the maximum total size of a lease tasks response is 32 MB, andListTasksRequestnow explicitly notes that tasks may be returned in any order.- File: cloudtasks_v2beta2.json
- Changed HTTP method enum values from title case (e.g.,
HTTP Post) to uppercase (e.g.,HTTP POST) inAppEngineHttpRequest.httpMethod.
Service Usage API
- Changed the
beta services listcommand to flatten service names using--flatten=config.nameinstead of--flatten=serviceName. A newConsumerServiceLegacyCompleterwas introduced, suggesting backward compatibility for the old service naming convention.- File: common_flags.py:27
App Engine
- Renamed references from ‘Google Cloud Container Builder’ to ‘Google Cloud Build’ in various API message and JSON schema descriptions (
Deployment.cloudBuildOptions,BuildInfo).
Cloud Bigtable
- Minor API revision update for
bigtableclusteradmin_v1from ‘20180514’ to ‘20180716’.
Binary Authorization
- Introduced the
Exprmessage type and added aconditionfield to theBindingmessage for supporting IAM conditions. Also addeddelegationServiceAccountEmailtoUserOwnedDrydockNote. The documentation URL has been updated.
Cloud Build
- Renamed ‘Cloud Container Builder’ to ‘Cloud Build’ across API descriptions, client information, and documentation links.
Cloud IoT Core
- Introduced the
Exprmessage type and added an ‘unimplemented’conditionfield to theBindingmessage for IAM conditions.
Cloud KMS
- The
Listmethod forCryptoKeyVersionsnow supports aviewquery parameter. - The
Createmethod forCryptoKeynow explicitly requiresCryptoKey.purposeandCryptoKey.version_template.algorithm. - The
DecryptandEncryptmethods forCryptoKeynow explicitly state thatCryptoKey.purposemust beENCRYPT_DECRYPT. - The
Listmethod forCryptoKeysnow supports aversionViewquery parameter. - The
UpdatePrimaryVersionmethod now returns an error if called on an asymmetric key.
Cloud Key Management Service (KMS)
- New message types
AsymmetricDecryptRequest,AsymmetricDecryptResponse,AsymmetricSignRequest,AsymmetricSignResponse,Digest,Expr,KeyOperationAttestation,CryptoKeyVersionTemplate,PublicKey, andLocationMetadatawere added to thecloudkms_v1API. - Modified the
CryptoKeymessage to include aversionTemplatefield and updated descriptions forprimary,nextRotationTime, androtationPeriodto clarify behavior with different key purposes. - The
CryptoKeyVersionmessage was significantly updated with new fields:algorithm,attestation,generateTime, andprotectionLevel. Descriptions forCryptoKeyVersionand its states were also expanded. - Updated
EncryptRequestmessage descriptions to specify size limits forplaintextandadditionalAuthenticatedDatabased on the key version’sprotection_level(SOFTWARE vs. HSM). - Added new query parameters
viewandversionViewtoCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListRequestandCloudkmsProjectsLocationsKeyRingsCryptoKeysListRequestrespectively, allowing control over the detail level in the response. - New RPC methods
GetPublicKey,AsymmetricSign, andAsymmetricDecryptwere added undercryptoKeyVersionsresource, enabling new asymmetric key functionalities.- File: cloudkms_v1.json:1461
Cloud Resource Manager
- A new
Exprmessage type was added and aconditionfield was introduced to theBindingmessage, likely laying groundwork for IAM Conditions.
Dataproc
- In the v1beta2 API, the
membersandrolefields in theBindingresource have shifted their field numbers due to the addition of theconditionfield. Descriptions forRegexValidation.regexes,TemplateParameter(fordescription,fields,name),ValueValidation.values, andWorkflowTemplate.parametershave been clarified or expanded. - Updated descriptions for
parameters,TemplateParameter,name,description,regexes, andvaluesfields within thedataproc_v1beta2.jsonschema to provide more clarity on template parameters.- File: dataproc_v1beta2.json
Datastore
- Changed the API title from ‘Google Cloud Datastore API’ to ‘Cloud Datastore API’ in
datastore_v1.json.- File: datastore_v1.json
- Added
CREATE_INDEXandDELETE_INDEXas newOperationTypeValueValuesEnumoptions inGoogleDatastoreAdminV1CommonMetadatafor Datastore Admin operations.- File: datastore_v1_messages.py
DLP
- Expanded the description for the
infoTypesfield inGooglePrivacyDlpV2InspectConfigto mention the ‘ALL_BASIC’ InfoType and emphasize the need for specific InfoTypes for precise control.- File: dlp_v2_messages.py
Deployment Manager
- Updated the API revision for
deploymentmanager_alpha.json,deploymentmanager_v2.json, anddeploymentmanager_v2beta.jsonto20180720.
DNS
- Updated the API revision for
dns_v1.json,dns_v1alpha2.json,dns_v1beta1.json,dns_v1beta2.json, anddns_v2beta1.jsonto20180720.- File: dns_v1.json
Cloud Firestore
- Added new API client messages and resource paths for Cloud Firestore v1. This includes operations for projects, databases, and locations. The
firestore_v1_messages.pyfile also bundles admin-related message types fromv1beta1andv1beta2for export, import, and index management.- File: firestore_v1_messages.py
- Added new resource definitions for Cloud Firestore v1, including
PROJECTS,PROJECTS_DATABASES,PROJECTS_DATABASES_OPERATIONS, andPROJECTS_LOCATIONSwithBASE_URLset tohttps://firestore.googleapis.com/v1/.- File: resources.py
- Added
v1beta1message definitions for Cloud Firestore, including comprehensive data structures for documents, values, queries, transactions, and various operations such asBatchGetDocumentsRequest,CommitRequest,RunQueryRequest,ListenRequest, and their respective responses. (2239 new lines) - Defined
v1beta1resource collections for Cloud Firestore, includingPROJECTS,PROJECTS_DATABASES,PROJECTS_DATABASES_DOCUMENTS, andPROJECTS_DATABASES_INDEXESwith their respective paths. (70 new lines)- File: resources.py:1
- The
v1beta1API for Cloud Firestore has been added to the SDK, including definitions for index management resources.- File: firestore_v1beta1.json:1
Firestore
- The Google Cloud Firestore v1beta1 API client library (
firestore_v1beta1_client.py) has been added to the SDK, making the Firestore v1beta1 API accessible for interaction with documents, indexes, and administrative operations.
Cloud Firestore Admin
- Introduced the
v1Discovery API JSON for Cloud Firestore, specifying API endpoints and schemas for administrative operations. This includes schemas for locations, long-running operations, and metadata for index, export, and import operations (e.g.,GoogleFirestoreAdminV1beta1IndexOperationMetadata,GoogleFirestoreAdminV1beta1ExportDocumentsMetadata,GoogleFirestoreAdminV1beta2FieldOperationMetadata). (853 new lines)- File: firestore_v1.json:1
Cloud Genomics
- Added the new
ContainerKilledEventmessage to Genomicsv1,v1alpha2, andv2alpha1API definitions. - Added the new
Exprmessage type to the Genomicsv1API, used for defining conditions in IAM bindings. - The
Actionmessage in the Genomicsv2alpha1API now includes atimeoutfield. - Field order in the
Bindingmessage for Genomicsv1API was adjusted, and aconditionfield was added. - Extensive rephrasing and formatting updates (e.g., using backticks for code elements like
--flag-name) were applied across various message descriptions in Genomicsv1,v1alpha2, andv2alpha1APIs for improved clarity and consistency.
Cloud Genomics (v1)
- The
Bindingobject ingenomics_v1.jsonnow includes aconditionfield (referencing the newExprmessage type) to support IAM policy conditions. A newExprmessage type is also defined.- File: genomics_v1.json:767
- Added the
ContainerKilledEventmessage type togenomics_v1.json.- File: genomics_v1.json:2316
Cloud Genomics (v1alpha2)
- Added the
ContainerKilledEventmessage type togenomics_v1alpha2.json.
Cloud Genomics (v2alpha1)
- The
Actionmessage ingenomics_v2alpha1.jsonnow includes a newtimeoutfield with typegoogle-duration. - Added the
ContainerKilledEventmessage type togenomics_v2alpha1.json.
Cloud IAM (v1)
- Added the
LintPolicymethod toiam_v1_client.pyand defined theiam.iamPolicies.lintPolicyAPI endpoint for linting IAM policies.- File: iam_v1_client.py:55
Identity and Access Management
- Added an ‘unimplemented’
conditionfield (referencing the newExprmessage type) toBindingandBindingDeltamessages, and re-indexed existing fields. This lays groundwork for IAM Policy Conditions.- File: iam_v1_messages.py:109
- Added a new
Exprmessage type to define expression text for conditions.- File: iam_v1_messages.py:263
Cloud Logging
- Updated the description for the
MetricDescriptortypefield to explicitly includeexternal.googleapis.comas a valid DNS name prefix for user-defined metric types, with an example for Prometheus metrics.
Cloud ML Engine
- Added an ‘unimplemented’
conditionfield (referencing the newGoogleTypeExprmessage) toGoogleIamV1Binding, and re-indexed existing fields. This lays groundwork for IAM Policy Conditions.- File: ml_v1_messages.py:1352
- Added a new
GoogleTypeExprmessage type to define expression text for conditions.- File: ml_v1_messages.py:1665
Cloud Pub/Sub
- Relaxed the message payload requirements for
Publishoperations, removing the strict constraint that the message payload must not be empty.- File: pubsub_v1_client.py:973
- Added an ‘unimplemented’
conditionfield (referencing the newExprmessage type) toBinding, and re-indexed existing fields. This lays groundwork for IAM Policy Conditions.- File: pubsub_v1_messages.py:29
- Added a new
Exprmessage type to define expression text for conditions. - Clarified the description for
PubsubMessageand itsdatafield, noting thatdatacan be empty if at least one attribute is present.
Service Management
- Updated the description for the
MetricDescriptortypefield to explicitly includeexternal.googleapis.comas a valid DNS name prefix for user-defined metric types, with an example for Prometheus metrics.
Service Networking
- Updated the description for the
MetricDescriptortypefield to explicitly includeexternal.googleapis.comas a valid DNS name prefix for user-defined metric types, with an example for Prometheus metrics.
Service Usage
- Updated the description for the
MetricDescriptortypefield to explicitly includeexternal.googleapis.comas a valid DNS name prefix for user-defined metric types, with an example for Prometheus metrics.
Cloud Storage
- Clarified the description for the
Patchmethod on buckets by removing redundant text about patch semantics.- File: storage_v1_client.py:378
Cloud Tool Results
- Added new
TestIssue.CategoryValueValuesEnumvalues:availableDeepLinksandnonSdkApiUsageViolation, expanding the types of test issues that can be reported.
Unannounced Changes
Changes found in code but not mentioned in official release notes: 🕵️
Groundwork
- Added
entrypointprocessing inAppengineApiClientto handle and remove anexecprefix for deployment, likely for App Engine Flex. - Implemented
GetDegradedWarninginV1AdapterandV1Alpha1Adapterto provide more specific degraded cluster warnings based on cluster conditions.- File: api_adapter.py:1511
- Added new API client and utility functions for
kubernetespolicy/v1alpha1service, enablingCreate,Delete,Get, andListoperations for Kubernetes Namespaces.- File: policy_api.py:20
- Added
TEST_NOT_APP_HOSTEDerror handling for invalid.xctestrunfiles in Firebase Test Lab.- File: tool_results.py:162
- Imported
OrderedDictand used it inDiscoveryDoc.FromJsonto preserve key order when loading JSON discovery documents, a minor internal tooling change.- File: resource_generator.py:15
- Performed a major refactoring and additions to
multitype.py, introducingMultitypeResourceSpecand complex logic for parsing and resolving polymorphic resource concepts.- File: multitype.py:18
- Added
__pycache__to the default.gcloudignorefor Python App Engine standard environment applications.- File: source_files_util.py:44
- Refactored
AddCycleFrequencyArgsto introduce asupports_weeklyparameter and conditional group naming, indicating enhancements to resource policy cycle frequency definitions.- File: flags.py:34
- Made significant additions to the Cloud KMS API client and messages (v1), along with new command library utilities (
get_digest.py,maps.py), indicating expanded KMS functionality.- File: cloudkms_v1_messages.py
- Empty
__init__.pyfiles were added forcontainer/policyandcontainer/policy/namespaces, laying groundwork for new command groups related to container policy.- File: init.py:1
- New module
kms/get_digest.pywas added, containing utility functions likeGetDigestfor calculating cryptographic digests (SHA256, SHA384, SHA512) of files, which is essential for KMS signing operations.- File: get_digest.py:1
- New module
kms/maps.pywas added, providing mappings for Cloud KMS algorithms, key purposes (encryption,asymmetric-signing,asymmetric-encryption), and protection levels (software,hsm), facilitating the integration of new KMS features.- File: maps.py:1
- New module
command_lib/util/glob.pywas created to centralize generalized globbing and ignore file parsing logic, includingGlobclass and helper functions (_HandleSpaces,_Unescape,GetPathPrefixes), previously embedded ingcloudignore.py.- File: glob.py:1
- New module
googlecloudsdk/core/console/multiline.pywas added, providing a framework (SimpleSuffixConsoleOutput,SuffixConsoleMessage) for managing and updating multiline console output with suffixes and indentation, likely for advanced interactive progress indicators.- File: multiline.py:1
- Added an internal property (
monitoring) for overriding Cloud Monitoring API endpoints, indicating groundwork for future monitoring features.- File: properties.py:1442
- Extensive groundwork for new Compute Engine security policies has been added, including new API definitions for
SecurityPolicy,SecurityPolicyList,SecurityPolicyReference,SecurityPolicyRule,SecurityPolicyRuleMatcher, andSecurityPolicyRuleMatcherConfigobjects, and methods for managing them.- File: compute_v1.json
- Groundwork for managed SSL certificates in Compute Engine beta API is introduced via new API definitions for
SslCertificateManagedSslCertificateandSslCertificateSelfManagedSslCertificateobjects.- File: compute_beta.json
- Groundwork for IAM Conditions in Dataproc is introduced with the new
Exprclass and theconditionfield in theBindingresource. - Added
_CLIENT_IDand_CLIENT_SECRETattributes to the generatedFirestoreV1client.- File: firestore_v1_client.py
- Added
_CLIENT_IDand_CLIENT_SECRETattributes to the generatedFirestoreV1beta1client. - Added new package markers
__init__.pyfiles forfirestoreand itsv1andv1beta1subdirectories, preparing for the new API integration.- File: init.py
- New generated message classes (
firestore_v1_messages.py) and resource definitions (resources.py) for the Cloud Firestore v1 API client have been added, laying the groundwork for v1 command-line interface features.- File: firestore_v1_messages.py
- The full
firestore_v1beta1_client.pyfile was added, providing programmatic access to the Firestore v1beta1 API, including client classes and methods for managing Firestore documents and indexes, as well as export/import operations. This is foundational for supporting Firestore v1beta1 commands in the SDK. - The new
FirestoreV1beta1client defines API access scopes (_SCOPES) includinghttps://www.googleapis.com/auth/cloud-platformandhttps://www.googleapis.com/auth/datastore. - Complete addition of the Cloud Firestore
v1beta1API client library (message classes, resource definitions) and thev1Firestore Admin API Discovery JSON, laying the groundwork for full Cloud Firestore support in the SDK. This is a significant internal addition not covered by official release notes. - New
v1beta1API definitions for Cloud Firestore were added, including index administration capabilities.- File: firestore_v1beta1.json:1
- A new
ContainerKilledEventmessage was introduced in the Cloud Genomics APIs (v1,v1alpha2,v2alpha1) for tracking forcibly terminated containers. - Groundwork for conditional IAM policies in Cloud Genomics
v1API was laid by adding aconditionfield to theBindingmessage and introducing theExprmessage type. - Added resource path definitions for
projectsandprojects.indexesfor thedatastore/v1API in the API generation configuration. - Added configuration entries for
firestore/v1beta1(marked as default) andfirestore/v1APIs, enabling their generation within the SDK.
Refactoring
- Removed resource registry entries for
compute.hostsandcompute.hostTypes, likely a refactoring related tosole-tenancycommands promotion. - Updated a prompt message in
daisy_utils.pyfrom ‘Google Cloud Container Builder service’ to ‘Google Cloud Build service’, reflecting rebranding.- File: daisy_utils.py:83
- Removed redundant
Http()helper function fromapi_lib/container/images/util.py, now directly usinghttp.Http()for transport.- File: util.py:31
- Improved
PrintWorkflowMetadatain Dataproc to correctly handle workflow templates, including those instantiated inline without explicit IDs.- File: util.py:195
- Clarified the ALPHA release track description in
calliope/base.pyregarding API permission errors and early access requirements.- File: base.py:84
- Added
IS_COMMAND_GROUP = TrueandIS_COMMAND = Trueattributes toGroupandCommandbase classes respectively for explicit identification.- File: base.py:476
- Updated
_ImplementationsFromModuleto use the newIS_COMMANDandIS_COMMAND_GROUPattributes for identifying commands and groups, improving modularity.- File: command_loading.py:458
- Refined the regex in
MarkdownGeneratorfor processing quoted strings, affecting how user input is rendered in markdown.- File: markdown.py:783
- Added
from __future__imports tocontainer/constants.pyfor Python 2/3 compatibility.- File: constants.py:15
- Removed
.encode('utf8')when writing instances tostdininml_engine/local_utils.py, likely a Python 2/3 compatibility fix or adjustment tostdin’s expected input type.- File: local_utils.py:92
- Added
property: spanner/instanceto the instance attribute inspanner/resources.yamlfor better integration with core properties, and renamed the internal YAML anchor from&repositoryto&databasefor clarity.- File: resources.yaml:18
- Refactored concept parsing logic in
command_lib/util/concepts/info_holders.pyby introducing_IsPluralArgto improve how plural arguments are handled for resource arguments.- File: info_holders.py:267
- Major refactoring of
command_lib/util/concepts/presentation_specs.py, renamingMultitypeConceptPresentationSpectoMultitypeResourcePresentationSpecand updatingGetFlagNameto prioritize the presentation name for anchor flags, improving flag generation logic for multitype resource arguments. - Extensive refactoring of the ignore file parsing logic:
command_lib/util/gcloudignore.pynow delegates core glob matching, space handling, and unescaping to a new dedicatedcommand_lib/util/glob.pymodule, simplifying thegcloudignoreimplementation.- File: gcloudignore.py:17
- Introduced a
_display_width_cacheingooglecloudsdk/core/console/console_attr.pyand implemented caching forDisplayWidthcalculations, optimizing performance for console output.- File: console_attr.py:279
- Significant refactoring of the SDK’s progress tracking logic, introducing
_BaseProgressTracker,_NormalProgressTracker, and_NonInteractiveProgressTrackerclasses, along with integration of a newmultilinemodule for improved console output in interactive and non-interactive environments.- File: progress_tracker.py
- Internal refactoring in
session_capturer.pyto useio.openinstead ofbuiltins.openfor file operations, likely for improved compatibility.- File: session_capturer.py:118
- Updated numerous App Engine documentation URLs within
AppEngineHttpTargetandAppEngineRoutingdescriptions from relative paths to absolutehttps://cloud.google.com/appengine/docs/...URLs. - The
PubsubMessagedescription was clarified from ‘payload must not be empty’ to ‘message must contain either a non-empty data field or at least one attribute’. - The
DOCS_URLfor Cloud Scheduler was updated fromhttps://cloud.google.com/cloud-scheduler/tohttps://cloud.google.com/scheduler/.- File: resources.py:18
- Updated numerous documentation links across Cloud Scheduler and Cloud Tasks API definitions from relative paths (e.g.,
/appengine/docs/...) to absolute HTTPS URLs (e.g.,https://cloud.google.com/appengine/docs/...). This impactscloudscheduler_v1alpha1.json,cloudtasks/v2beta2/cloudtasks_v2beta2_client.py, andcloudtasks/v2beta2/cloudtasks_v2beta2_messages.py. - Minor rewording in
AppEngineRoutingdescriptions forservice,version, andinstanceincloudscheduler_v1alpha1.json. - Minor rewording and clarification in
PubsubMessageandPubsubMessage.datadescriptions incloudscheduler_v1alpha1.json. - Removed specific API object links from task size descriptions in
cloudtasks/v2beta2/cloudtasks_v2beta2_client.py, simplifying the text. - Changed HTTP method enum values from
HTTP Post,HTTP Get, etc., toHTTP POST,HTTP GET, etc. (uppercase) inAppEngineHttpRequest.HttpMethodValueValuesEnum. - Simplified descriptions for
TaskStatus.attemptResponseCount,TaskStatus.firstAttemptStatus, andTaskStatus.lastAttemptStatusby replacing explicit API object references with ‘pull tasks’. - Numerous documentation links in the Cloud Tasks v2beta2 API definitions were updated from relative paths or non-HTTPS URLs to fully qualified
https://cloud.google.comURLs, improving consistency and reliability of references.- File: cloudtasks_v2beta2.json
- Minor punctuation update in the
nextPageTokendescription.- File: composer_v1.json:375
- Minor HTML tag update (from
<b>to<strong>) within theupdateMaskdescription for the Composer v1 API.- File: composer_v1.json:704
- Minor formatting change: added a newline at the end of
composer_v1.jsonandcomposer_v1beta1.json.- File: composer_v1.json:757
- Updated the description for the
licensesfield in theDiskmessage in bothcompute/betaandcompute/v1APIs for clarity. - Fixed a markdown rendering tag (
code>) in the description for theminimalActionfield inInstanceGroupManagerUpdatePolicyincompute/betamessages. - Updated the resource comment for
SecurityPolicyincompute/betamessages to reflect its availability inv1.securityPolicies. - Added a package marker file for
firestore/v1beta1(__init__.py), indicating a restructuring or further modularization of the Firestore API definitions within the SDK.- File: init.py
- Numerous descriptions and formatting (e.g., consistent use of backticks for code elements) were updated across Cloud Genomics API message definitions to enhance clarity and consistency.
- Numerous documentation and description string updates for improved clarity and consistent formatting across
genomics_v1.json,genomics_v1alpha2.json, andgenomics_v2alpha1.json.- File: genomics_v1.json:2327
- Updated the API revision date for
replicapoolupdater_v1beta1. - Updated the API revision date for
sqladmin_v1beta4.- File: sqladmin_v1beta4.json:5
- Updated the API revision date for
storage_v1.- File: storage_v1.json:4
- Updated the API revision date for
toolresults_v1beta3.
Other
MakeVmMaintenancePolicywas modified to only configuredailyMaintenanceWindow, effectively removingweeklyMaintenanceWindowfor VM maintenance policies.- File: util.py:51
Hidden Feature
- Added full API definitions for
Firestore(v1 and v1beta1), including new clients, messages, and resource definitions, indicating introduction of Firestore API support.- File: firestore_v1_messages.py
- The
Actionmessage in Cloud Genomicsv2alpha1API gained atimeoutfield to specify execution limits for pipeline actions. - Introduction of
Exprmessage type andconditionfield ingoogle-cloud-sdk/lib/googlecloudsdk/third_party/apis/genomics_v1.jsonto support IAM policy conditions.- File: genomics_v1.json:767
- Addition of
ContainerKilledEventmessage type ingoogle-cloud-sdk/lib/googlecloudsdk/third_party/apis/genomics_v1.json,genomics_v1alpha2.json, andgenomics_v2alpha1.json.- File: genomics_v1.json:2316
- Addition of
timeoutfield toActionmessage ingoogle-cloud-sdk/lib/googlecloudsdk/third_party/apis/genomics_v2alpha1.json. - New
LintPolicymethod added togoogle-cloud-sdk/lib/googlecloudsdk/third_party/apis/iam/v1/iam_v1_client.py.- File: iam_v1_client.py:55
Other
- The
DEGRADED_WARNINGmessage in container commands was updated to be more specific, includingcluster_nameandcluster_degraded_warningplaceholders.- File: constants.py:18
- The
AddEnableAutoRepairFlagin container commands now includes more detailed help text for create operations, clarifying that node autorepair is enabled by default for node pools using COS as a base image.- File: flags.py:619
Stats
- Files changed: 155
- Inserted lines: +20,417
- Deleted lines: -10,929
Generated by Gemini - View full diff
Google, Google Cloud, and gcloud are trademarks of Google LLC. This analysis was automatically generated by an AI agent examining only public release artifacts, without access to internal or non-public information from Google Cloud.