diff --git a/aiplatform/v1/aiplatform-api.json b/aiplatform/v1/aiplatform-api.json index becc292b2ff..744d2831ae0 100644 --- a/aiplatform/v1/aiplatform-api.json +++ b/aiplatform/v1/aiplatform-api.json @@ -15332,7 +15332,7 @@ } } }, - "revision": "20231229", + "revision": "20240105", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionEmbedVideoResponse": { @@ -37135,6 +37135,8 @@ "FILTER_REASON_RAI_VIDEO_FRAME_CSAM", "FILTER_REASON_RAI_VIDEO_FRAME_PEDO", "FILTER_REASON_RAI_CONTEXTUAL_DANGEROUS", + "FILTER_REASON_RAI_GRAIL_TEXT", + "FILTER_REASON_RAI_GRAIL_IMAGE", "FILTER_REASON_RAI_SAFETYCAT", "FILTER_REASON_TOXICITY", "FILTER_REASON_ATLAS_PRICING", @@ -37174,6 +37176,8 @@ "RAI Filter", "RAI Filter", "RAI Filter", + "Grail Text", + "Grail Image", "SafetyCat.", "Toxic content.", "Atlas specific topic filter for pricing questions.", diff --git a/aiplatform/v1/aiplatform-gen.go b/aiplatform/v1/aiplatform-gen.go index a3a9352b9c7..b8f52ead878 100644 --- a/aiplatform/v1/aiplatform-gen.go +++ b/aiplatform/v1/aiplatform-gen.go @@ -38695,6 +38695,8 @@ type LearningGenaiRootFilterMetadata struct { // "FILTER_REASON_RAI_VIDEO_FRAME_CSAM" - RAI Filter // "FILTER_REASON_RAI_VIDEO_FRAME_PEDO" - RAI Filter // "FILTER_REASON_RAI_CONTEXTUAL_DANGEROUS" - RAI Filter + // "FILTER_REASON_RAI_GRAIL_TEXT" - Grail Text + // "FILTER_REASON_RAI_GRAIL_IMAGE" - Grail Image // "FILTER_REASON_RAI_SAFETYCAT" - SafetyCat. // "FILTER_REASON_TOXICITY" - Toxic content. // "FILTER_REASON_ATLAS_PRICING" - Atlas specific topic filter for diff --git a/aiplatform/v1beta1/aiplatform-api.json b/aiplatform/v1beta1/aiplatform-api.json index 86f744d9e6e..07687c4e3d9 100644 --- a/aiplatform/v1beta1/aiplatform-api.json +++ b/aiplatform/v1beta1/aiplatform-api.json @@ -17279,7 +17279,7 @@ } } }, - "revision": "20231229", + "revision": "20240105", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionEmbedVideoResponse": { @@ -29821,17 +29821,6 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata": { - "description": "Details of operations that perform reboot PersistentResource.", - "id": "GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata", - "properties": { - "genericMetadata": { - "$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", - "description": "Operation metadata for PersistentResource." - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest": { "description": "Request message for MetadataService.DeleteContextChildrenRequest.", "id": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest", @@ -40016,6 +40005,8 @@ "FILTER_REASON_RAI_VIDEO_FRAME_CSAM", "FILTER_REASON_RAI_VIDEO_FRAME_PEDO", "FILTER_REASON_RAI_CONTEXTUAL_DANGEROUS", + "FILTER_REASON_RAI_GRAIL_TEXT", + "FILTER_REASON_RAI_GRAIL_IMAGE", "FILTER_REASON_RAI_SAFETYCAT", "FILTER_REASON_TOXICITY", "FILTER_REASON_ATLAS_PRICING", @@ -40055,6 +40046,8 @@ "RAI Filter", "RAI Filter", "RAI Filter", + "Grail Text", + "Grail Image", "SafetyCat.", "Toxic content.", "Atlas specific topic filter for pricing questions.", diff --git a/aiplatform/v1beta1/aiplatform-gen.go b/aiplatform/v1beta1/aiplatform-gen.go index a0967ab7516..6b97857449b 100644 --- a/aiplatform/v1beta1/aiplatform-gen.go +++ b/aiplatform/v1beta1/aiplatform-gen.go @@ -24153,37 +24153,6 @@ func (s *GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponsePerUserUsageDat return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata: -// -// Details of operations that perform reboot PersistentResource. -type GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata struct { - // GenericMetadata: Operation metadata for PersistentResource. - GenericMetadata *GoogleCloudAiplatformV1beta1GenericOperationMetadata `json:"genericMetadata,omitempty"` - - // ForceSendFields is a list of field names (e.g. "GenericMetadata") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "GenericMetadata") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest: Request // message for MetadataService.DeleteContextChildrenRequest. type GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest struct { @@ -40849,6 +40818,8 @@ type LearningGenaiRootFilterMetadata struct { // "FILTER_REASON_RAI_VIDEO_FRAME_CSAM" - RAI Filter // "FILTER_REASON_RAI_VIDEO_FRAME_PEDO" - RAI Filter // "FILTER_REASON_RAI_CONTEXTUAL_DANGEROUS" - RAI Filter + // "FILTER_REASON_RAI_GRAIL_TEXT" - Grail Text + // "FILTER_REASON_RAI_GRAIL_IMAGE" - Grail Image // "FILTER_REASON_RAI_SAFETYCAT" - SafetyCat. // "FILTER_REASON_TOXICITY" - Toxic content. // "FILTER_REASON_ATLAS_PRICING" - Atlas specific topic filter for diff --git a/androidmanagement/v1/androidmanagement-api.json b/androidmanagement/v1/androidmanagement-api.json index 6821613f4c2..8126891d984 100644 --- a/androidmanagement/v1/androidmanagement-api.json +++ b/androidmanagement/v1/androidmanagement-api.json @@ -1095,7 +1095,7 @@ } } }, - "revision": "20231204", + "revision": "20240108", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -2667,7 +2667,7 @@ "Defaults to OPEN_NETWORK_SECURITY, which means the device will be able to connect to all types of Wi-Fi networks.", "The device will be able to connect to all types of Wi-Fi networks.", "A personal network such as WEP, WPA2-PSK is the minimum required security. The device will not be able to connect to open wifi networks. This is stricter than OPEN_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13.", - "An enterprise EAP network is the minimum required security level. The device will not be able to connect to Wi-Fi network below this security level. This is stricter than PERSONAL_NETWORK_SECURITY A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13." + "An enterprise EAP network is the minimum required security level. The device will not be able to connect to Wi-Fi network below this security level. This is stricter than PERSONAL_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 13." ], "type": "string" }, diff --git a/androidmanagement/v1/androidmanagement-gen.go b/androidmanagement/v1/androidmanagement-gen.go index 8dd075360c1..3138f48e779 100644 --- a/androidmanagement/v1/androidmanagement-gen.go +++ b/androidmanagement/v1/androidmanagement-gen.go @@ -2482,7 +2482,7 @@ type DeviceRadioState struct { // "ENTERPRISE_NETWORK_SECURITY" - An enterprise EAP network is the // minimum required security level. The device will not be able to // connect to Wi-Fi network below this security level. This is stricter - // than PERSONAL_NETWORK_SECURITY A nonComplianceDetail with API_LEVEL + // than PERSONAL_NETWORK_SECURITY. A nonComplianceDetail with API_LEVEL // is reported if the Android version is less than 13. MinimumWifiSecurityLevel string `json:"minimumWifiSecurityLevel,omitempty"` diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index 5025880f035..7ea16b59c47 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -4695,7 +4695,7 @@ } } }, - "revision": "20240111", + "revision": "20240114", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -8038,12 +8038,18 @@ "id": "RevocationContext", "properties": { "proratedRefund": { - "$ref": "UNDEFINED_packageNameRevocationContextProratedRefund", + "$ref": "RevocationContextProratedRefund", "description": "Optional. Used when users should be refunded a prorated amount they paid for their subscription based on the amount of time remaining in a subscription. Not supported for subscriptions with multiple items." } }, "type": "object" }, + "RevocationContextProratedRefund": { + "description": "Used to determine if the refund type in the RevocationContext is a prorated refund.", + "id": "RevocationContextProratedRefund", + "properties": {}, + "type": "object" + }, "RevokeSubscriptionPurchaseRequest": { "description": "Request for the purchases.subscriptionsv2.revoke API.", "id": "RevokeSubscriptionPurchaseRequest", @@ -9235,12 +9241,6 @@ }, "type": "object" }, - "UNDEFINED_packageNameRevocationContextProratedRefund": { - "description": "Used to determine if the refund type in the RevocationContext is a prorated refund.", - "id": "UNDEFINED_packageNameRevocationContextProratedRefund", - "properties": {}, - "type": "object" - }, "UpdateBasePlanStateRequest": { "description": "Request message to update the state of a subscription base plan.", "id": "UpdateBasePlanStateRequest", diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 6059352b811..6fe41b2c601 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -6530,7 +6530,7 @@ type RevocationContext struct { // prorated amount they paid for their subscription based on the amount // of time remaining in a subscription. Not supported for subscriptions // with multiple items. - ProratedRefund *UNDEFINEDPackageNameRevocationContextProratedRefund `json:"proratedRefund,omitempty"` + ProratedRefund *RevocationContextProratedRefund `json:"proratedRefund,omitempty"` // ForceSendFields is a list of field names (e.g. "ProratedRefund") to // unconditionally include in API requests. By default, fields with @@ -6556,6 +6556,11 @@ func (s *RevocationContext) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RevocationContextProratedRefund: Used to determine if the refund type +// in the RevocationContext is a prorated refund. +type RevocationContextProratedRefund struct { +} + // RevokeSubscriptionPurchaseRequest: Request for the // purchases.subscriptionsv2.revoke API. type RevokeSubscriptionPurchaseRequest struct { @@ -8548,12 +8553,6 @@ func (s *TracksListResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// UNDEFINEDPackageNameRevocationContextProratedRefund: Used to -// determine if the refund type in the RevocationContext is a prorated -// refund. -type UNDEFINEDPackageNameRevocationContextProratedRefund struct { -} - // UpdateBasePlanStateRequest: Request message to update the state of a // subscription base plan. type UpdateBasePlanStateRequest struct { diff --git a/cloudbilling/v1/cloudbilling-api.json b/cloudbilling/v1/cloudbilling-api.json index 29842594d2b..e20bc204421 100644 --- a/cloudbilling/v1/cloudbilling-api.json +++ b/cloudbilling/v1/cloudbilling-api.json @@ -121,7 +121,7 @@ "parameterOrder": [], "parameters": { "parent": { - "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", "location": "query", "type": "string" } @@ -416,7 +416,7 @@ ], "parameters": { "parent": { - "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", "location": "path", "pattern": "^billingAccounts/[^/]+$", "required": true, @@ -496,7 +496,7 @@ ], "parameters": { "parent": { - "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -751,7 +751,7 @@ } } }, - "revision": "20231215", + "revision": "20240112", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "AggregationInfo": { diff --git a/cloudbilling/v1/cloudbilling-gen.go b/cloudbilling/v1/cloudbilling-gen.go index 485df5955ea..82b9eb0ca8e 100644 --- a/cloudbilling/v1/cloudbilling-gen.go +++ b/cloudbilling/v1/cloudbilling-gen.go @@ -1539,8 +1539,7 @@ func (r *BillingAccountsService) Create(billingaccount *BillingAccount) *Billing } // Parent sets the optional parameter "parent": The parent to create a -// billing account from. Format: - `organizations/{organization_id}`, -// for example, `organizations/12345678` - +// billing account from. Format: - // `billingAccounts/{billing_account_id}`, for example, // `billingAccounts/012345-567890-ABCDEF` func (c *BillingAccountsCreateCall) Parent(parent string) *BillingAccountsCreateCall { @@ -1643,7 +1642,7 @@ func (c *BillingAccountsCreateCall) Do(opts ...googleapi.CallOption) (*BillingAc // "parameterOrder": [], // "parameters": { // "parent": { - // "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + // "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", // "location": "query", // "type": "string" // } @@ -3042,9 +3041,8 @@ type BillingAccountsSubAccountsCreateCall struct { // provisioned for subaccounts. // // - parent: Optional. The parent to create a billing account from. -// Format: - `organizations/{organization_id}`, for example, -// `organizations/12345678` - `billingAccounts/{billing_account_id}`, -// for example, `billingAccounts/012345-567890-ABCDEF`. +// Format: - `billingAccounts/{billing_account_id}`, for example, +// `billingAccounts/012345-567890-ABCDEF`. func (r *BillingAccountsSubAccountsService) Create(parent string, billingaccount *BillingAccount) *BillingAccountsSubAccountsCreateCall { c := &BillingAccountsSubAccountsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -3152,7 +3150,7 @@ func (c *BillingAccountsSubAccountsCreateCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "parent": { - // "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + // "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", // "location": "path", // "pattern": "^billingAccounts/[^/]+$", // "required": true, @@ -3418,9 +3416,8 @@ type OrganizationsBillingAccountsCreateCall struct { // provisioned for subaccounts. // // - parent: Optional. The parent to create a billing account from. -// Format: - `organizations/{organization_id}`, for example, -// `organizations/12345678` - `billingAccounts/{billing_account_id}`, -// for example, `billingAccounts/012345-567890-ABCDEF`. +// Format: - `billingAccounts/{billing_account_id}`, for example, +// `billingAccounts/012345-567890-ABCDEF`. func (r *OrganizationsBillingAccountsService) Create(parent string, billingaccount *BillingAccount) *OrganizationsBillingAccountsCreateCall { c := &OrganizationsBillingAccountsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -3528,7 +3525,7 @@ func (c *OrganizationsBillingAccountsCreateCall) Do(opts ...googleapi.CallOption // ], // "parameters": { // "parent": { - // "description": "Optional. The parent to create a billing account from. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", + // "description": "Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index e826c7ecbda..626b535e7e6 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -40267,7 +40267,7 @@ } } }, - "revision": "20231231", + "revision": "20240109", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -45759,12 +45759,14 @@ "enum": [ "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", "SEV", - "SEV_SNP" + "SEV_SNP", + "TDX" ], "enumDescriptions": [ "No type specified. Do not use this value.", "AMD Secure Encrypted Virtualization.", - "AMD Secure Encrypted Virtualization - Secure Nested Paging." + "AMD Secure Encrypted Virtualization - Secure Nested Paging.", + "Intel Trust Domain eXtension." ], "type": "string" }, @@ -48913,7 +48915,7 @@ "type": "boolean" }, "allowGlobalAccess": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", + "description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", "type": "boolean" }, "allowPscGlobalAccess": { @@ -50546,7 +50548,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - IDPF For more information, see Enabling guest operating system features.", + "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -50557,6 +50559,7 @@ "SEV_LIVE_MIGRATABLE", "SEV_LIVE_MIGRATABLE_V2", "SEV_SNP_CAPABLE", + "TDX_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS" @@ -50573,6 +50576,7 @@ "", "", "", + "", "" ], "type": "string" @@ -63086,7 +63090,7 @@ "type": "string" }, "instance": { - "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "The name or a URL of a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", "type": "string" }, "ipAddress": { diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index de85ef9e382..7df460d5b56 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -9367,6 +9367,7 @@ type ConfidentialInstanceConfig struct { // "SEV" - AMD Secure Encrypted Virtualization. // "SEV_SNP" - AMD Secure Encrypted Virtualization - Secure Nested // Paging. + // "TDX" - Intel Trust Domain eXtension. ConfidentialInstanceType string `json:"confidentialInstanceType,omitempty"` // EnableConfidentialCompute: Defines whether the instance should have @@ -14057,15 +14058,13 @@ type ForwardingRule struct { // protocol requires allPorts be set to true. AllPorts bool `json:"allPorts,omitempty"` - // AllowGlobalAccess: This field is used along with the backend_service - // field for internal load balancing or with the target field for - // internal TargetInstance. If set to true, clients can access the - // internal passthrough Network Load Balancers, the regional internal - // Application Load Balancer, and the regional internal proxy Network - // Load Balancer from all regions. If false, only allows access from the - // local region the load balancer is located at. Note that for - // INTERNAL_MANAGED forwarding rules, this field cannot be changed after - // the forwarding rule is created. + // AllowGlobalAccess: If set to true, clients can access the internal + // passthrough Network Load Balancers, the regional internal Application + // Load Balancer, and the regional internal proxy Network Load Balancer + // from all regions. If false, only allows access from the local region + // the load balancer is located at. Note that for INTERNAL_MANAGED + // forwarding rules, this field cannot be changed after the forwarding + // rule is created. AllowGlobalAccess bool `json:"allowGlobalAccess,omitempty"` // AllowPscGlobalAccess: This is used in PSC consumer ForwardingRule to @@ -16391,8 +16390,8 @@ type GuestOsFeature struct { // commas to separate values. Set to one or more of the following // values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - // UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - - // SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - IDPF For more information, - // see Enabling guest operating system features. + // SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more + // information, see Enabling guest operating system features. // // Possible values: // "FEATURE_TYPE_UNSPECIFIED" @@ -16404,6 +16403,7 @@ type GuestOsFeature struct { // "SEV_LIVE_MIGRATABLE" // "SEV_LIVE_MIGRATABLE_V2" // "SEV_SNP_CAPABLE" + // "TDX_CAPABLE" // "UEFI_COMPATIBLE" // "VIRTIO_SCSI_MULTIQUEUE" // "WINDOWS" @@ -34332,11 +34332,13 @@ type NetworkEndpoint struct { // is NON_GCP_FQDN_PORT. Fqdn string `json:"fqdn,omitempty"` - // Instance: The name for a specific VM instance that the IP address - // belongs to. This is required for network endpoints of type + // Instance: The name or a URL of a specific VM instance that the IP + // address belongs to. This is required for network endpoints of type // GCE_VM_IP_PORT. The instance must be in the same zone of network - // endpoint group. The name must be 1-63 characters long, and comply - // with RFC1035. + // endpoint group (for zonal NEGs) or in the zone within the region of + // the NEG (for regional NEGs). The name must be 1-63 characters long, + // and comply with RFC1035 or be a valid URL pointing to an existing + // instance. Instance string `json:"instance,omitempty"` // IpAddress: Optional IPv4 address of network endpoint. The IP address diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 60b8fc39475..92948da62ad 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -35386,7 +35386,7 @@ } } }, - "revision": "20231231", + "revision": "20240109", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -43782,7 +43782,7 @@ "type": "boolean" }, "allowGlobalAccess": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", + "description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", "type": "boolean" }, "allowPscGlobalAccess": { @@ -44660,7 +44660,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - IDPF For more information, see Enabling guest operating system features.", + "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -55804,7 +55804,7 @@ "type": "string" }, "instance": { - "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "The name or a URL of a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", "type": "string" }, "ipAddress": { diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 954688cde47..071ce5724a6 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -13565,15 +13565,13 @@ type ForwardingRule struct { // protocol requires allPorts be set to true. AllPorts bool `json:"allPorts,omitempty"` - // AllowGlobalAccess: This field is used along with the backend_service - // field for internal load balancing or with the target field for - // internal TargetInstance. If set to true, clients can access the - // internal passthrough Network Load Balancers, the regional internal - // Application Load Balancer, and the regional internal proxy Network - // Load Balancer from all regions. If false, only allows access from the - // local region the load balancer is located at. Note that for - // INTERNAL_MANAGED forwarding rules, this field cannot be changed after - // the forwarding rule is created. + // AllowGlobalAccess: If set to true, clients can access the internal + // passthrough Network Load Balancers, the regional internal Application + // Load Balancer, and the regional internal proxy Network Load Balancer + // from all regions. If false, only allows access from the local region + // the load balancer is located at. Note that for INTERNAL_MANAGED + // forwarding rules, this field cannot be changed after the forwarding + // rule is created. AllowGlobalAccess bool `json:"allowGlobalAccess,omitempty"` // AllowPscGlobalAccess: This is used in PSC consumer ForwardingRule to @@ -14900,8 +14898,8 @@ type GuestOsFeature struct { // commas to separate values. Set to one or more of the following // values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - // UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - - // SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - IDPF For more information, - // see Enabling guest operating system features. + // SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more + // information, see Enabling guest operating system features. // // Possible values: // "FEATURE_TYPE_UNSPECIFIED" @@ -30743,11 +30741,13 @@ type NetworkEndpoint struct { // is NON_GCP_FQDN_PORT. Fqdn string `json:"fqdn,omitempty"` - // Instance: The name for a specific VM instance that the IP address - // belongs to. This is required for network endpoints of type + // Instance: The name or a URL of a specific VM instance that the IP + // address belongs to. This is required for network endpoints of type // GCE_VM_IP_PORT. The instance must be in the same zone of network - // endpoint group. The name must be 1-63 characters long, and comply - // with RFC1035. + // endpoint group (for zonal NEGs) or in the zone within the region of + // the NEG (for regional NEGs). The name must be 1-63 characters long, + // and comply with RFC1035 or be a valid URL pointing to an existing + // instance. Instance string `json:"instance,omitempty"` // IpAddress: Optional IPv4 address of network endpoint. The IP address diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index 113f5f5964c..c3086a31517 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -5453,7 +5453,7 @@ "reports": { "methods": { "search": { - "description": "Retrieves merchant performance mertrics matching the search query and optionally segmented by selected dimensions.", + "description": "Retrieves merchant performance metrics matching the search query and optionally segmented by selected dimensions.", "flatPath": "{merchantId}/reports/search", "httpMethod": "POST", "id": "content.reports.search", @@ -6315,7 +6315,7 @@ } } }, - "revision": "20240110", + "revision": "20240113", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -15462,7 +15462,7 @@ "type": "integer" }, "id": { - "description": "Required. Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `\"online\"`, `\"in_store\"`, or `\"online_in_store\"`.", + "description": "Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `\"online\"`, `\"in_store\"`, or `\"online_in_store\"`.", "readOnly": true, "type": "string" }, diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index f09ef20e78c..49f9dd59e97 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -16132,10 +16132,10 @@ type Promotion struct { // promotion. GetThisQuantityDiscounted int64 `json:"getThisQuantityDiscounted,omitempty"` - // Id: Required. Output only. The REST promotion ID to uniquely identify - // the promotion. Content API methods that operate on promotions take - // this as their `promotionId` parameter. The REST ID for a promotion is - // of the form channel:contentLanguage:targetCountry:promotionId The + // Id: Output only. The REST promotion ID to uniquely identify the + // promotion. Content API methods that operate on promotions take this + // as their `promotionId` parameter. The REST ID for a promotion is of + // the form channel:contentLanguage:targetCountry:promotionId The // `channel` field has a value of "online", "in_store", or // "online_in_store". Id string `json:"id,omitempty"` @@ -45247,7 +45247,7 @@ type ReportsSearchCall struct { header_ http.Header } -// Search: Retrieves merchant performance mertrics matching the search +// Search: Retrieves merchant performance metrics matching the search // query and optionally segmented by selected dimensions. // // - merchantId: Id of the merchant making the call. Must be a @@ -45350,7 +45350,7 @@ func (c *ReportsSearchCall) Do(opts ...googleapi.CallOption) (*SearchResponse, e } return ret, nil // { - // "description": "Retrieves merchant performance mertrics matching the search query and optionally segmented by selected dimensions.", + // "description": "Retrieves merchant performance metrics matching the search query and optionally segmented by selected dimensions.", // "flatPath": "{merchantId}/reports/search", // "httpMethod": "POST", // "id": "content.reports.search", diff --git a/datafusion/v1/datafusion-api.json b/datafusion/v1/datafusion-api.json index b9b0ee5eb62..f0826f31360 100644 --- a/datafusion/v1/datafusion-api.json +++ b/datafusion/v1/datafusion-api.json @@ -194,7 +194,7 @@ ], "parameters": { "instanceId": { - "description": "Required. The name of the instance to create.", + "description": "Required. The name of the instance to create. Instance name can only contain lowercase alphanumeric characters and hyphens. It must start with a letter and must not end with a hyphen. It can have a maximum of 30 characters.", "location": "query", "type": "string" }, @@ -737,7 +737,7 @@ } } }, - "revision": "20231130", + "revision": "20240111", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -838,7 +838,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", "items": { "type": "string" }, @@ -1007,7 +1007,7 @@ "description": "The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." }, "dataplexDataLineageIntegrationEnabled": { - "description": "Optional. Reserved for future use.", + "description": "Optional. Option to enable the Dataplex Lineage Integration feature.", "type": "boolean" }, "dataprocServiceAccount": { diff --git a/datafusion/v1/datafusion-gen.go b/datafusion/v1/datafusion-gen.go index 61cb66a32f7..880fbd836c4 100644 --- a/datafusion/v1/datafusion-gen.go +++ b/datafusion/v1/datafusion-gen.go @@ -407,11 +407,34 @@ type Binding struct { // For example, `admins@example.com`. * `domain:{domain}`: The G Suite // domain (primary) that represents all the users of that domain. For // example, `google.com` or `example.com`. * - // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a user that has been recently - // deleted. For example, `alice@example.com?uid=123456789012345678901`. - // If the user is recovered, this value reverts to `user:{emailid}` and - // the recovered user retains the role in the binding. * + // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_ + // id}/subject/{subject_attribute_value}`: A single identity in a + // workforce identity pool. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/group/{group_id}`: All workforce identities in a group. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/attribute.{attribute_name}/{attribute_value}`: All workforce + // identities with a specific attribute value. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/*`: All identities in a workforce identity pool. * + // `principal://iam.googleapis.com/projects/{project_number}/locations/gl + // obal/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value} + // `: A single identity in a workload identity pool. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload + // identity pool group. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{at + // tribute_value}`: All identities in a workload identity pool with a + // certain attribute. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/*`: All identities in a + // workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An + // email address (plus unique identifier) representing a user that has + // been recently deleted. For example, + // `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered + // user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -423,7 +446,12 @@ type Binding struct { // that has been recently deleted. For example, // `admins@example.com?uid=123456789012345678901`. If the group is // recovered, this value reverts to `group:{emailid}` and the recovered - // group retains the role in the binding. + // group retains the role in the binding. * + // `deleted:principal://iam.googleapis.com/locations/global/workforcePool + // s/{pool_id}/subject/{subject_attribute_value}`: Deleted single + // identity in a workforce identity pool. For example, + // `deleted:principal://iam.googleapis.com/locations/global/workforcePool + // s/my-pool-id/subject/my-subject-attribute-value`. Members []string `json:"members,omitempty"` // Role: Role that is assigned to the list of `members`, or principals. @@ -713,8 +741,8 @@ type Instance struct { // the Customer-Managed Encryption Keys (CMEK) feature. CryptoKeyConfig *CryptoKeyConfig `json:"cryptoKeyConfig,omitempty"` - // DataplexDataLineageIntegrationEnabled: Optional. Reserved for future - // use. + // DataplexDataLineageIntegrationEnabled: Optional. Option to enable the + // Dataplex Lineage Integration feature. DataplexDataLineageIntegrationEnabled bool `json:"dataplexDataLineageIntegrationEnabled,omitempty"` // DataprocServiceAccount: User-managed service account to set on @@ -2144,7 +2172,10 @@ func (r *ProjectsLocationsInstancesService) Create(parent string, instance *Inst } // InstanceId sets the optional parameter "instanceId": Required. The -// name of the instance to create. +// name of the instance to create. Instance name can only contain +// lowercase alphanumeric characters and hyphens. It must start with a +// letter and must not end with a hyphen. It can have a maximum of 30 +// characters. func (c *ProjectsLocationsInstancesCreateCall) InstanceId(instanceId string) *ProjectsLocationsInstancesCreateCall { c.urlParams_.Set("instanceId", instanceId) return c @@ -2250,7 +2281,7 @@ func (c *ProjectsLocationsInstancesCreateCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "instanceId": { - // "description": "Required. The name of the instance to create.", + // "description": "Required. The name of the instance to create. Instance name can only contain lowercase alphanumeric characters and hyphens. It must start with a letter and must not end with a hyphen. It can have a maximum of 30 characters.", // "location": "query", // "type": "string" // }, diff --git a/datafusion/v1beta1/datafusion-api.json b/datafusion/v1beta1/datafusion-api.json index 4dae82deef3..cf40a2298b1 100644 --- a/datafusion/v1beta1/datafusion-api.json +++ b/datafusion/v1beta1/datafusion-api.json @@ -222,7 +222,7 @@ ], "parameters": { "instanceId": { - "description": "Required. The name of the instance to create.", + "description": "Required. The name of the instance to create. Instance name can only contain lowercase alphanumeric characters and hyphens. It must start with a letter and must not end with a hyphen. It can have a maximum of 30 characters.", "location": "query", "type": "string" }, @@ -935,7 +935,7 @@ } } }, - "revision": "20231130", + "revision": "20240111", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -1036,7 +1036,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", "items": { "type": "string" }, @@ -1220,7 +1220,7 @@ "description": "The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." }, "dataplexDataLineageIntegrationEnabled": { - "description": "Optional. Reserved for future use.", + "description": "Optional. Option to enable the Dataplex Lineage Integration feature.", "type": "boolean" }, "dataprocServiceAccount": { diff --git a/datafusion/v1beta1/datafusion-gen.go b/datafusion/v1beta1/datafusion-gen.go index 0fd942a3fd7..1877cd0a093 100644 --- a/datafusion/v1beta1/datafusion-gen.go +++ b/datafusion/v1beta1/datafusion-gen.go @@ -419,11 +419,34 @@ type Binding struct { // For example, `admins@example.com`. * `domain:{domain}`: The G Suite // domain (primary) that represents all the users of that domain. For // example, `google.com` or `example.com`. * - // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a user that has been recently - // deleted. For example, `alice@example.com?uid=123456789012345678901`. - // If the user is recovered, this value reverts to `user:{emailid}` and - // the recovered user retains the role in the binding. * + // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_ + // id}/subject/{subject_attribute_value}`: A single identity in a + // workforce identity pool. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/group/{group_id}`: All workforce identities in a group. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/attribute.{attribute_name}/{attribute_value}`: All workforce + // identities with a specific attribute value. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{po + // ol_id}/*`: All identities in a workforce identity pool. * + // `principal://iam.googleapis.com/projects/{project_number}/locations/gl + // obal/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value} + // `: A single identity in a workload identity pool. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload + // identity pool group. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{at + // tribute_value}`: All identities in a workload identity pool with a + // certain attribute. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations + // /global/workloadIdentityPools/{pool_id}/*`: All identities in a + // workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An + // email address (plus unique identifier) representing a user that has + // been recently deleted. For example, + // `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered + // user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -435,7 +458,12 @@ type Binding struct { // that has been recently deleted. For example, // `admins@example.com?uid=123456789012345678901`. If the group is // recovered, this value reverts to `group:{emailid}` and the recovered - // group retains the role in the binding. + // group retains the role in the binding. * + // `deleted:principal://iam.googleapis.com/locations/global/workforcePool + // s/{pool_id}/subject/{subject_attribute_value}`: Deleted single + // identity in a workforce identity pool. For example, + // `deleted:principal://iam.googleapis.com/locations/global/workforcePool + // s/my-pool-id/subject/my-subject-attribute-value`. Members []string `json:"members,omitempty"` // Role: Role that is assigned to the list of `members`, or principals. @@ -758,8 +786,8 @@ type Instance struct { // the Customer-Managed Encryption Keys (CMEK) feature. CryptoKeyConfig *CryptoKeyConfig `json:"cryptoKeyConfig,omitempty"` - // DataplexDataLineageIntegrationEnabled: Optional. Reserved for future - // use. + // DataplexDataLineageIntegrationEnabled: Optional. Option to enable the + // Dataplex Lineage Integration feature. DataplexDataLineageIntegrationEnabled bool `json:"dataplexDataLineageIntegrationEnabled,omitempty"` // DataprocServiceAccount: User-managed service account to set on @@ -2414,7 +2442,10 @@ func (r *ProjectsLocationsInstancesService) Create(parent string, instance *Inst } // InstanceId sets the optional parameter "instanceId": Required. The -// name of the instance to create. +// name of the instance to create. Instance name can only contain +// lowercase alphanumeric characters and hyphens. It must start with a +// letter and must not end with a hyphen. It can have a maximum of 30 +// characters. func (c *ProjectsLocationsInstancesCreateCall) InstanceId(instanceId string) *ProjectsLocationsInstancesCreateCall { c.urlParams_.Set("instanceId", instanceId) return c @@ -2520,7 +2551,7 @@ func (c *ProjectsLocationsInstancesCreateCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "instanceId": { - // "description": "Required. The name of the instance to create.", + // "description": "Required. The name of the instance to create. Instance name can only contain lowercase alphanumeric characters and hyphens. It must start with a letter and must not end with a hyphen. It can have a maximum of 30 characters.", // "location": "query", // "type": "string" // }, diff --git a/datastore/v1/datastore-api.json b/datastore/v1/datastore-api.json index f19a92f6af3..ced5fa406c0 100644 --- a/datastore/v1/datastore-api.json +++ b/datastore/v1/datastore-api.json @@ -654,7 +654,7 @@ } } }, - "revision": "20230905", + "revision": "20240109", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -2119,6 +2119,21 @@ }, "type": "object" }, + "QueryPlan": { + "description": "Plan for the query.", + "id": "QueryPlan", + "properties": { + "planInfo": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Planning phase information for the query. It will include: { \"indexes_used\": [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ] }", + "type": "object" + } + }, + "type": "object" + }, "QueryResultBatch": { "description": "A batch of results produced by a query.", "id": "QueryResultBatch", @@ -2275,6 +2290,25 @@ "properties": {}, "type": "object" }, + "ResultSetStats": { + "description": "Planning and execution statistics for the query.", + "id": "ResultSetStats", + "properties": { + "queryPlan": { + "$ref": "QueryPlan", + "description": "Plan for the query." + }, + "queryStats": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Aggregated statistics from the execution of the query. This will only be present when the request specifies `PROFILE` mode. For example, a query will return the statistics including: { \"results_returned\": \"20\", \"documents_scanned\": \"20\", \"indexes_entries_scanned\": \"10050\", \"total_execution_time\": \"100.7 msecs\" }", + "type": "object" + } + }, + "type": "object" + }, "RollbackRequest": { "description": "The request for Datastore.Rollback.", "id": "RollbackRequest", @@ -2313,6 +2347,20 @@ "$ref": "GqlQuery", "description": "The GQL query to run. This query must be an aggregation query." }, + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "partitionId": { "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." @@ -2336,6 +2384,10 @@ "$ref": "AggregationQuery", "description": "The parsed form of the `GqlQuery` from the request, if it was set." }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL`." + }, "transaction": { "description": "The identifier of the transaction that was started as part of this RunAggregationQuery request. Set only when ReadOptions.new_transaction was set in RunAggregationQueryRequest.read_options.", "format": "byte", @@ -2356,6 +2408,20 @@ "$ref": "GqlQuery", "description": "The GQL query to run. This query must be a non-aggregation query." }, + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "partitionId": { "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." @@ -2383,6 +2449,10 @@ "$ref": "Query", "description": "The parsed form of the `GqlQuery` from the request, if it was set." }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL`." + }, "transaction": { "description": "The identifier of the transaction that was started as part of this RunQuery request. Set only when ReadOptions.new_transaction was set in RunQueryRequest.read_options.", "format": "byte", diff --git a/datastore/v1/datastore-gen.go b/datastore/v1/datastore-gen.go index 4eb8dcb16d5..f485a0994a3 100644 --- a/datastore/v1/datastore-gen.go +++ b/datastore/v1/datastore-gen.go @@ -2728,6 +2728,37 @@ func (s *Query) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QueryPlan: Plan for the query. +type QueryPlan struct { + // PlanInfo: Planning phase information for the query. It will include: + // { "indexes_used": [ {"query_scope": "Collection", "properties": "(foo + // ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": + // "(bar ASC, __name__ ASC)"} ] } + PlanInfo googleapi.RawMessage `json:"planInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlanInfo") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlanInfo") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryPlan) MarshalJSON() ([]byte, error) { + type NoMethod QueryPlan + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // QueryResultBatch: A batch of results produced by a query. type QueryResultBatch struct { // EndCursor: A cursor that points to the position after the last result @@ -2969,6 +3000,42 @@ type ReserveIdsResponse struct { googleapi.ServerResponse `json:"-"` } +// ResultSetStats: Planning and execution statistics for the query. +type ResultSetStats struct { + // QueryPlan: Plan for the query. + QueryPlan *QueryPlan `json:"queryPlan,omitempty"` + + // QueryStats: Aggregated statistics from the execution of the query. + // This will only be present when the request specifies `PROFILE` mode. + // For example, a query will return the statistics including: { + // "results_returned": "20", "documents_scanned": "20", + // "indexes_entries_scanned": "10050", "total_execution_time": "100.7 + // msecs" } + QueryStats googleapi.RawMessage `json:"queryStats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "QueryPlan") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QueryPlan") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResultSetStats) MarshalJSON() ([]byte, error) { + type NoMethod ResultSetStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Datastore.Rollback. type RollbackRequest struct { // DatabaseId: The ID of the database against which to make the request. @@ -3026,6 +3093,19 @@ type RunAggregationQueryRequest struct { // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // PartitionId: Entities are partitioned into subsets, identified by a // partition ID. Queries are scoped to a single partition. This // partition ID is normalized with the standard default context @@ -3069,6 +3149,11 @@ type RunAggregationQueryResponse struct { // set. Query *AggregationQuery `json:"query,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL`. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The identifier of the transaction that was started as // part of this RunAggregationQuery request. Set only when // ReadOptions.new_transaction was set in @@ -3113,6 +3198,19 @@ type RunQueryRequest struct { // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // PartitionId: Entities are partitioned into subsets, identified by a // partition ID. Queries are scoped to a single partition. This // partition ID is normalized with the standard default context @@ -3157,6 +3255,11 @@ type RunQueryResponse struct { // set. Query *Query `json:"query,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL`. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The identifier of the transaction that was started as // part of this RunQuery request. Set only when // ReadOptions.new_transaction was set in RunQueryRequest.read_options. diff --git a/datastore/v1beta3/datastore-api.json b/datastore/v1beta3/datastore-api.json index 94e793c5d34..c46f73f6a22 100644 --- a/datastore/v1beta3/datastore-api.json +++ b/datastore/v1beta3/datastore-api.json @@ -336,7 +336,7 @@ } } }, - "revision": "20230905", + "revision": "20240109", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -1565,6 +1565,21 @@ }, "type": "object" }, + "QueryPlan": { + "description": "Plan for the query.", + "id": "QueryPlan", + "properties": { + "planInfo": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Planning phase information for the query. It will include: { \"indexes_used\": [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ] }", + "type": "object" + } + }, + "type": "object" + }, "QueryResultBatch": { "description": "A batch of results produced by a query.", "id": "QueryResultBatch", @@ -1717,6 +1732,25 @@ "properties": {}, "type": "object" }, + "ResultSetStats": { + "description": "Planning and execution statistics for the query.", + "id": "ResultSetStats", + "properties": { + "queryPlan": { + "$ref": "QueryPlan", + "description": "Plan for the query." + }, + "queryStats": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Aggregated statistics from the execution of the query. This will only be present when the request specifies `PROFILE` mode. For example, a query will return the statistics including: { \"results_returned\": \"20\", \"documents_scanned\": \"20\", \"indexes_entries_scanned\": \"10050\", \"total_execution_time\": \"100.7 msecs\" }", + "type": "object" + } + }, + "type": "object" + }, "RollbackRequest": { "description": "The request for Datastore.Rollback.", "id": "RollbackRequest", @@ -1747,6 +1781,20 @@ "$ref": "GqlQuery", "description": "The GQL query to run. This query must be an aggregation query." }, + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "partitionId": { "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." @@ -1769,6 +1817,10 @@ "query": { "$ref": "AggregationQuery", "description": "The parsed form of the `GqlQuery` from the request, if it was set." + }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL`." } }, "type": "object" @@ -1781,6 +1833,20 @@ "$ref": "GqlQuery", "description": "The GQL query to run. This query must be a non-aggregation query." }, + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "partitionId": { "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." @@ -1807,6 +1873,10 @@ "query": { "$ref": "Query", "description": "The parsed form of the `GqlQuery` from the request, if it was set." + }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL`." } }, "type": "object" diff --git a/datastore/v1beta3/datastore-gen.go b/datastore/v1beta3/datastore-gen.go index a430fd57b0d..bf71f043ed6 100644 --- a/datastore/v1beta3/datastore-gen.go +++ b/datastore/v1beta3/datastore-gen.go @@ -2311,6 +2311,37 @@ func (s *Query) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QueryPlan: Plan for the query. +type QueryPlan struct { + // PlanInfo: Planning phase information for the query. It will include: + // { "indexes_used": [ {"query_scope": "Collection", "properties": "(foo + // ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": + // "(bar ASC, __name__ ASC)"} ] } + PlanInfo googleapi.RawMessage `json:"planInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlanInfo") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlanInfo") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryPlan) MarshalJSON() ([]byte, error) { + type NoMethod QueryPlan + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // QueryResultBatch: A batch of results produced by a query. type QueryResultBatch struct { // EndCursor: A cursor that points to the position after the last result @@ -2546,6 +2577,42 @@ type ReserveIdsResponse struct { googleapi.ServerResponse `json:"-"` } +// ResultSetStats: Planning and execution statistics for the query. +type ResultSetStats struct { + // QueryPlan: Plan for the query. + QueryPlan *QueryPlan `json:"queryPlan,omitempty"` + + // QueryStats: Aggregated statistics from the execution of the query. + // This will only be present when the request specifies `PROFILE` mode. + // For example, a query will return the statistics including: { + // "results_returned": "20", "documents_scanned": "20", + // "indexes_entries_scanned": "10050", "total_execution_time": "100.7 + // msecs" } + QueryStats googleapi.RawMessage `json:"queryStats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "QueryPlan") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QueryPlan") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResultSetStats) MarshalJSON() ([]byte, error) { + type NoMethod ResultSetStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Datastore.Rollback. type RollbackRequest struct { // Transaction: Required. The transaction identifier, returned by a call @@ -2593,6 +2660,19 @@ type RunAggregationQueryRequest struct { // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // PartitionId: Entities are partitioned into subsets, identified by a // partition ID. Queries are scoped to a single partition. This // partition ID is normalized with the standard default context @@ -2636,6 +2716,11 @@ type RunAggregationQueryResponse struct { // set. Query *AggregationQuery `json:"query,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL`. + Stats *ResultSetStats `json:"stats,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2669,6 +2754,19 @@ type RunQueryRequest struct { // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // PartitionId: Entities are partitioned into subsets, identified by a // partition ID. Queries are scoped to a single partition. This // partition ID is normalized with the standard default context @@ -2713,6 +2811,11 @@ type RunQueryResponse struct { // set. Query *Query `json:"query,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL`. + Stats *ResultSetStats `json:"stats,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` diff --git a/firestore/v1/firestore-api.json b/firestore/v1/firestore-api.json index c2cae6b9782..df01caf400a 100644 --- a/firestore/v1/firestore-api.json +++ b/firestore/v1/firestore-api.json @@ -1672,7 +1672,7 @@ } } }, - "revision": "20231214", + "revision": "20240109", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -3628,7 +3628,7 @@ }, "field": { "$ref": "FieldReference", - "description": "Order based on the value referenced by this field." + "description": "The field to order by." } }, "type": "object" @@ -3711,6 +3711,21 @@ }, "type": "object" }, + "QueryPlan": { + "description": "Plan for the query.", + "id": "QueryPlan", + "properties": { + "planInfo": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Planning phase information for the query. It will include: { \"indexes_used\": [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ] }", + "type": "object" + } + }, + "type": "object" + }, "QueryTarget": { "description": "A target specified by a query.", "id": "QueryTarget", @@ -3750,6 +3765,25 @@ }, "type": "object" }, + "ResultSetStats": { + "description": "Planning and execution statistics for the query.", + "id": "ResultSetStats", + "properties": { + "queryPlan": { + "$ref": "QueryPlan", + "description": "Plan for the query." + }, + "queryStats": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Aggregated statistics from the execution of the query. This will only be present when the request specifies `PROFILE` mode. For example, a query will return the statistics including: { \"results_returned\": \"20\", \"documents_scanned\": \"20\", \"indexes_entries_scanned\": \"10050\", \"total_execution_time\": \"100.7 msecs\" }", + "type": "object" + } + }, + "type": "object" + }, "RollbackRequest": { "description": "The request for Firestore.Rollback.", "id": "RollbackRequest", @@ -3766,6 +3800,20 @@ "description": "The request for Firestore.RunAggregationQuery.", "id": "RunAggregationQueryRequest", "properties": { + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "newTransaction": { "$ref": "TransactionOptions", "description": "Starts a new transaction as part of the query, defaulting to read-only. The new transaction ID will be returned as the first response in the stream." @@ -3800,6 +3848,10 @@ "$ref": "AggregationResult", "description": "A single aggregation result. Not present when reporting partial progress." }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL` and is sent only once with the last response in the stream." + }, "transaction": { "description": "The transaction that was started as part of this request. Only present on the first response when the request requested to start a new transaction.", "format": "byte", @@ -3812,6 +3864,20 @@ "description": "The request for Firestore.RunQuery.", "id": "RunQueryRequest", "properties": { + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "newTransaction": { "$ref": "TransactionOptions", "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream." @@ -3855,6 +3921,10 @@ "format": "int32", "type": "integer" }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL` and is sent only once with the last response in the stream." + }, "transaction": { "description": "The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.", "format": "byte", diff --git a/firestore/v1/firestore-gen.go b/firestore/v1/firestore-gen.go index ae9a874bfa2..d40f7208a88 100644 --- a/firestore/v1/firestore-gen.go +++ b/firestore/v1/firestore-gen.go @@ -3561,7 +3561,7 @@ type Order struct { // "DESCENDING" - Descending. Direction string `json:"direction,omitempty"` - // Field: Order based on the value referenced by this field. + // Field: The field to order by. Field *FieldReference `json:"field,omitempty"` // ForceSendFields is a list of field names (e.g. "Direction") to @@ -3761,6 +3761,37 @@ func (s *Projection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QueryPlan: Plan for the query. +type QueryPlan struct { + // PlanInfo: Planning phase information for the query. It will include: + // { "indexes_used": [ {"query_scope": "Collection", "properties": "(foo + // ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": + // "(bar ASC, __name__ ASC)"} ] } + PlanInfo googleapi.RawMessage `json:"planInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlanInfo") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlanInfo") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryPlan) MarshalJSON() ([]byte, error) { + type NoMethod QueryPlan + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // QueryTarget: A target specified by a query. type QueryTarget struct { // Parent: The parent resource name. In the format: @@ -3861,6 +3892,42 @@ func (s *ReadWrite) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ResultSetStats: Planning and execution statistics for the query. +type ResultSetStats struct { + // QueryPlan: Plan for the query. + QueryPlan *QueryPlan `json:"queryPlan,omitempty"` + + // QueryStats: Aggregated statistics from the execution of the query. + // This will only be present when the request specifies `PROFILE` mode. + // For example, a query will return the statistics including: { + // "results_returned": "20", "documents_scanned": "20", + // "indexes_entries_scanned": "10050", "total_execution_time": "100.7 + // msecs" } + QueryStats googleapi.RawMessage `json:"queryStats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "QueryPlan") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QueryPlan") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResultSetStats) MarshalJSON() ([]byte, error) { + type NoMethod ResultSetStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Firestore.Rollback. type RollbackRequest struct { // Transaction: Required. The transaction to roll back. @@ -3892,6 +3959,19 @@ func (s *RollbackRequest) MarshalJSON() ([]byte, error) { // RunAggregationQueryRequest: The request for // Firestore.RunAggregationQuery. type RunAggregationQueryRequest struct { + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // NewTransaction: Starts a new transaction as part of the query, // defaulting to read-only. The new transaction ID will be returned as // the first response in the stream. @@ -3911,7 +3991,7 @@ type RunAggregationQueryRequest struct { // the query in. Transaction string `json:"transaction,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewTransaction") to + // ForceSendFields is a list of field names (e.g. "Mode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -3919,13 +3999,12 @@ type RunAggregationQueryRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "Mode") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -3950,6 +4029,12 @@ type RunAggregationQueryResponse struct { // partial progress. Result *AggregationResult `json:"result,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL` and is + // sent only once with the last response in the stream. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The transaction that was started as part of this // request. Only present on the first response when the request // requested to start a new transaction. @@ -3984,6 +4069,19 @@ func (s *RunAggregationQueryResponse) MarshalJSON() ([]byte, error) { // RunQueryRequest: The request for Firestore.RunQuery. type RunQueryRequest struct { + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // NewTransaction: Starts a new transaction and reads the documents. // Defaults to a read-only transaction. The new transaction ID will be // returned as the first response in the stream. @@ -4002,7 +4100,7 @@ type RunQueryRequest struct { // value here is the opaque transaction ID to execute the query in. Transaction string `json:"transaction,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewTransaction") to + // ForceSendFields is a list of field names (e.g. "Mode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4010,13 +4108,12 @@ type RunQueryRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "Mode") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -4047,6 +4144,12 @@ type RunQueryResponse struct { // an offset between the last response and the current response. SkippedResults int64 `json:"skippedResults,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL` and is + // sent only once with the last response in the stream. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The transaction that was started as part of this // request. Can only be set in the first response, and only if // RunQueryRequest.new_transaction was set in the request. If set, no diff --git a/firestore/v1beta1/firestore-api.json b/firestore/v1beta1/firestore-api.json index 6896034bcbd..f56caa3abd5 100644 --- a/firestore/v1beta1/firestore-api.json +++ b/firestore/v1beta1/firestore-api.json @@ -950,7 +950,7 @@ } } }, - "revision": "20231214", + "revision": "20240109", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -2169,7 +2169,7 @@ }, "field": { "$ref": "FieldReference", - "description": "Order based on the value referenced by this field." + "description": "The field to order by." } }, "type": "object" @@ -2252,6 +2252,21 @@ }, "type": "object" }, + "QueryPlan": { + "description": "Plan for the query.", + "id": "QueryPlan", + "properties": { + "planInfo": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Planning phase information for the query. It will include: { \"indexes_used\": [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ] }", + "type": "object" + } + }, + "type": "object" + }, "QueryTarget": { "description": "A target specified by a query.", "id": "QueryTarget", @@ -2291,6 +2306,25 @@ }, "type": "object" }, + "ResultSetStats": { + "description": "Planning and execution statistics for the query.", + "id": "ResultSetStats", + "properties": { + "queryPlan": { + "$ref": "QueryPlan", + "description": "Plan for the query." + }, + "queryStats": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Aggregated statistics from the execution of the query. This will only be present when the request specifies `PROFILE` mode. For example, a query will return the statistics including: { \"results_returned\": \"20\", \"documents_scanned\": \"20\", \"indexes_entries_scanned\": \"10050\", \"total_execution_time\": \"100.7 msecs\" }", + "type": "object" + } + }, + "type": "object" + }, "RollbackRequest": { "description": "The request for Firestore.Rollback.", "id": "RollbackRequest", @@ -2307,6 +2341,20 @@ "description": "The request for Firestore.RunAggregationQuery.", "id": "RunAggregationQueryRequest", "properties": { + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "newTransaction": { "$ref": "TransactionOptions", "description": "Starts a new transaction as part of the query, defaulting to read-only. The new transaction ID will be returned as the first response in the stream." @@ -2341,6 +2389,10 @@ "$ref": "AggregationResult", "description": "A single aggregation result. Not present when reporting partial progress." }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL` and is sent only once with the last response in the stream." + }, "transaction": { "description": "The transaction that was started as part of this request. Only present on the first response when the request requested to start a new transaction.", "format": "byte", @@ -2353,6 +2405,20 @@ "description": "The request for Firestore.RunQuery.", "id": "RunQueryRequest", "properties": { + "mode": { + "description": "Optional. The mode in which the query request is processed. This field is optional, and when not provided, it defaults to `NORMAL` mode where no additional statistics will be returned with the query results.", + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ], + "enumDescriptions": [ + "The default mode. Only the query results are returned.", + "This mode returns only the query plan, without any results or execution statistics information.", + "This mode returns both the query plan and the execution statistics along with the results." + ], + "type": "string" + }, "newTransaction": { "$ref": "TransactionOptions", "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream." @@ -2396,6 +2462,10 @@ "format": "int32", "type": "integer" }, + "stats": { + "$ref": "ResultSetStats", + "description": "Query plan and execution statistics. Note that the returned stats are subject to change as Firestore evolves. This is only present when the request specifies a mode other than `NORMAL` and is sent only once with the last response in the stream." + }, "transaction": { "description": "The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.", "format": "byte", diff --git a/firestore/v1beta1/firestore-gen.go b/firestore/v1beta1/firestore-gen.go index d791e77d96d..a4000f74fba 100644 --- a/firestore/v1beta1/firestore-gen.go +++ b/firestore/v1beta1/firestore-gen.go @@ -2366,7 +2366,7 @@ type Order struct { // "DESCENDING" - Descending. Direction string `json:"direction,omitempty"` - // Field: Order based on the value referenced by this field. + // Field: The field to order by. Field *FieldReference `json:"field,omitempty"` // ForceSendFields is a list of field names (e.g. "Direction") to @@ -2566,6 +2566,37 @@ func (s *Projection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QueryPlan: Plan for the query. +type QueryPlan struct { + // PlanInfo: Planning phase information for the query. It will include: + // { "indexes_used": [ {"query_scope": "Collection", "properties": "(foo + // ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": + // "(bar ASC, __name__ ASC)"} ] } + PlanInfo googleapi.RawMessage `json:"planInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlanInfo") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlanInfo") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryPlan) MarshalJSON() ([]byte, error) { + type NoMethod QueryPlan + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // QueryTarget: A target specified by a query. type QueryTarget struct { // Parent: The parent resource name. In the format: @@ -2666,6 +2697,42 @@ func (s *ReadWrite) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ResultSetStats: Planning and execution statistics for the query. +type ResultSetStats struct { + // QueryPlan: Plan for the query. + QueryPlan *QueryPlan `json:"queryPlan,omitempty"` + + // QueryStats: Aggregated statistics from the execution of the query. + // This will only be present when the request specifies `PROFILE` mode. + // For example, a query will return the statistics including: { + // "results_returned": "20", "documents_scanned": "20", + // "indexes_entries_scanned": "10050", "total_execution_time": "100.7 + // msecs" } + QueryStats googleapi.RawMessage `json:"queryStats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "QueryPlan") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QueryPlan") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResultSetStats) MarshalJSON() ([]byte, error) { + type NoMethod ResultSetStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Firestore.Rollback. type RollbackRequest struct { // Transaction: Required. The transaction to roll back. @@ -2697,6 +2764,19 @@ func (s *RollbackRequest) MarshalJSON() ([]byte, error) { // RunAggregationQueryRequest: The request for // Firestore.RunAggregationQuery. type RunAggregationQueryRequest struct { + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // NewTransaction: Starts a new transaction as part of the query, // defaulting to read-only. The new transaction ID will be returned as // the first response in the stream. @@ -2716,7 +2796,7 @@ type RunAggregationQueryRequest struct { // the query in. Transaction string `json:"transaction,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewTransaction") to + // ForceSendFields is a list of field names (e.g. "Mode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2724,13 +2804,12 @@ type RunAggregationQueryRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "Mode") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -2755,6 +2834,12 @@ type RunAggregationQueryResponse struct { // partial progress. Result *AggregationResult `json:"result,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL` and is + // sent only once with the last response in the stream. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The transaction that was started as part of this // request. Only present on the first response when the request // requested to start a new transaction. @@ -2789,6 +2874,19 @@ func (s *RunAggregationQueryResponse) MarshalJSON() ([]byte, error) { // RunQueryRequest: The request for Firestore.RunQuery. type RunQueryRequest struct { + // Mode: Optional. The mode in which the query request is processed. + // This field is optional, and when not provided, it defaults to + // `NORMAL` mode where no additional statistics will be returned with + // the query results. + // + // Possible values: + // "NORMAL" - The default mode. Only the query results are returned. + // "PLAN" - This mode returns only the query plan, without any results + // or execution statistics information. + // "PROFILE" - This mode returns both the query plan and the execution + // statistics along with the results. + Mode string `json:"mode,omitempty"` + // NewTransaction: Starts a new transaction and reads the documents. // Defaults to a read-only transaction. The new transaction ID will be // returned as the first response in the stream. @@ -2807,7 +2905,7 @@ type RunQueryRequest struct { // value here is the opaque transaction ID to execute the query in. Transaction string `json:"transaction,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewTransaction") to + // ForceSendFields is a list of field names (e.g. "Mode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2815,13 +2913,12 @@ type RunQueryRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "Mode") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -2852,6 +2949,12 @@ type RunQueryResponse struct { // an offset between the last response and the current response. SkippedResults int64 `json:"skippedResults,omitempty"` + // Stats: Query plan and execution statistics. Note that the returned + // stats are subject to change as Firestore evolves. This is only + // present when the request specifies a mode other than `NORMAL` and is + // sent only once with the last response in the stream. + Stats *ResultSetStats `json:"stats,omitempty"` + // Transaction: The transaction that was started as part of this // request. Can only be set in the first response, and only if // RunQueryRequest.new_transaction was set in the request. If set, no diff --git a/places/v1/places-api.json b/places/v1/places-api.json index fe8f82b6d79..f4315014a05 100644 --- a/places/v1/places-api.json +++ b/places/v1/places-api.json @@ -120,7 +120,7 @@ "places": { "methods": { "get": { - "description": "Get place details with a place id (in a name) string.", + "description": "Get the details of a place based on its resource name, which is a string in the `places/{place_id}` format.", "flatPath": "v1/places/{placesId}", "httpMethod": "GET", "id": "places.places.get", @@ -134,7 +134,7 @@ "type": "string" }, "name": { - "description": "Required. A place ID returned in a Place (with \"places/\" prefix), or equivalently the name in the same Place. Format: `places/{place_id}`.", + "description": "Required. The resource name of a place, in the `places/{place_id}` format.", "location": "path", "pattern": "^places/[^/]+$", "required": true, @@ -248,7 +248,7 @@ } } }, - "revision": "20231205", + "revision": "20240114", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -633,7 +633,7 @@ "type": "boolean" }, "name": { - "description": "An ID representing this place which may be used to look up this place again (a.k.a. the API \"resource\" name: places/place_id).", + "description": "This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place.", "type": "string" }, "nationalPhoneNumber": { diff --git a/places/v1/places-gen.go b/places/v1/places-gen.go index 656025af77a..d81c1f7807f 100644 --- a/places/v1/places-gen.go +++ b/places/v1/places-gen.go @@ -754,8 +754,8 @@ type GoogleMapsPlacesV1Place struct { // MenuForChildren: Place has a children's menu. MenuForChildren bool `json:"menuForChildren,omitempty"` - // Name: An ID representing this place which may be used to look up this - // place again (a.k.a. the API "resource" name: places/place_id). + // Name: This Place's resource name, in `places/{place_id}` format. Can + // be used to look up the Place. Name string `json:"name,omitempty"` // NationalPhoneNumber: A human-readable phone number for the place, in @@ -2071,11 +2071,11 @@ type PlacesGetCall struct { header_ http.Header } -// Get: Get place details with a place id (in a name) string. +// Get: Get the details of a place based on its resource name, which is +// a string in the `places/{place_id}` format. // -// - name: A place ID returned in a Place (with "places/" prefix), or -// equivalently the name in the same Place. Format: -// `places/{place_id}`. +// - name: The resource name of a place, in the `places/{place_id}` +// format. func (r *PlacesService) Get(name string) *PlacesGetCall { c := &PlacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -2202,7 +2202,7 @@ func (c *PlacesGetCall) Do(opts ...googleapi.CallOption) (*GoogleMapsPlacesV1Pla } return ret, nil // { - // "description": "Get place details with a place id (in a name) string.", + // "description": "Get the details of a place based on its resource name, which is a string in the `places/{place_id}` format.", // "flatPath": "v1/places/{placesId}", // "httpMethod": "GET", // "id": "places.places.get", @@ -2216,7 +2216,7 @@ func (c *PlacesGetCall) Do(opts ...googleapi.CallOption) (*GoogleMapsPlacesV1Pla // "type": "string" // }, // "name": { - // "description": "Required. A place ID returned in a Place (with \"places/\" prefix), or equivalently the name in the same Place. Format: `places/{place_id}`.", + // "description": "Required. The resource name of a place, in the `places/{place_id}` format.", // "location": "path", // "pattern": "^places/[^/]+$", // "required": true,