diff --git a/api-list.json b/api-list.json index 46ad894541c..7e858b04386 100644 --- a/api-list.json +++ b/api-list.json @@ -1945,7 +1945,7 @@ "name": "dataform", "version": "v1beta1", "title": "Dataform API", - "description": "", + "description": "Service to develop, version control, and operationalize SQL pipelines in BigQuery.", "discoveryRestUrl": "https://dataform.googleapis.com/$discovery/rest?version=v1beta1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", diff --git a/cloudchannel/v1/cloudchannel-api.json b/cloudchannel/v1/cloudchannel-api.json index 19af6151800..6c71fbca171 100644 --- a/cloudchannel/v1/cloudchannel-api.json +++ b/cloudchannel/v1/cloudchannel-api.json @@ -2178,7 +2178,7 @@ } } }, - "revision": "20230906", + "revision": "20230910", "rootUrl": "https://cloudchannel.googleapis.com/", "schemas": { "GoogleCloudChannelV1ActivateEntitlementRequest": { @@ -4428,7 +4428,8 @@ }, "channelPartnerGranularity": { "$ref": "GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity", - "description": "Applies the repricing configuration at the channel partner level. Only ChannelPartnerRepricingConfig supports this value." + "deprecated": true, + "description": "Applies the repricing configuration at the channel partner level. Only ChannelPartnerRepricingConfig supports this value. Deprecated: This is no longer supported. Use RepricingConfig.entitlement_granularity instead." }, "conditionalOverrides": { "description": "The conditional overrides to apply for this configuration. If you list multiple overrides, only the first valid override is used. If you don't list any overrides, the API uses the normal adjustment and rebilling basis.", @@ -4463,7 +4464,8 @@ "type": "object" }, "GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity": { - "description": "Applies the repricing configuration at the channel partner level. The channel partner value is derived from the resource name. Takes an empty json object.", + "deprecated": true, + "description": "Applies the repricing configuration at the channel partner level. The channel partner value is derived from the resource name. Takes an empty json object. Deprecated: This is no longer supported. Use RepricingConfig.EntitlementGranularity instead.", "id": "GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity", "properties": {}, "type": "object" diff --git a/cloudchannel/v1/cloudchannel-gen.go b/cloudchannel/v1/cloudchannel-gen.go index ad0bd2ee3ed..2fc47e0331a 100644 --- a/cloudchannel/v1/cloudchannel-gen.go +++ b/cloudchannel/v1/cloudchannel-gen.go @@ -4018,7 +4018,8 @@ type GoogleCloudChannelV1RepricingConfig struct { // ChannelPartnerGranularity: Applies the repricing configuration at the // channel partner level. Only ChannelPartnerRepricingConfig supports - // this value. + // this value. Deprecated: This is no longer supported. Use + // RepricingConfig.entitlement_granularity instead. ChannelPartnerGranularity *GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity `json:"channelPartnerGranularity,omitempty"` // ConditionalOverrides: The conditional overrides to apply for this @@ -4080,7 +4081,8 @@ func (s *GoogleCloudChannelV1RepricingConfig) MarshalJSON() ([]byte, error) { // GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity: Applies // the repricing configuration at the channel partner level. The channel // partner value is derived from the resource name. Takes an empty json -// object. +// object. Deprecated: This is no longer supported. Use +// RepricingConfig.EntitlementGranularity instead. type GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity struct { } diff --git a/displayvideo/v1/displayvideo-api.json b/displayvideo/v1/displayvideo-api.json index 1c83769cfa4..ed511fd2be4 100644 --- a/displayvideo/v1/displayvideo-api.json +++ b/displayvideo/v1/displayvideo-api.json @@ -8146,7 +8146,7 @@ } } }, - "revision": "20230831", + "revision": "20230906", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -17011,7 +17011,8 @@ "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", - "PARTNER_COST_TYPE_CUSTOM_FEE_5" + "PARTNER_COST_TYPE_CUSTOM_FEE_5", + "PARTNER_COST_TYPE_SCIBIDS_FEE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -17043,7 +17044,8 @@ "The cost is charged as custom fee 2. Billed by the partner.", "The cost is charged as custom fee 3. Billed by the partner.", "The cost is charged as custom fee 4. Billed by the partner.", - "The cost is charged as custom fee 5. Billed by the partner." + "The cost is charged as custom fee 5. Billed by the partner.", + "The cost is charged for using Scibids. Billed through DV360. This type is currently only available to certain customers. Other customers attempting to use this type will receive an error." ], "type": "string" }, diff --git a/displayvideo/v1/displayvideo-gen.go b/displayvideo/v1/displayvideo-gen.go index b8202b11412..fe21004b3ce 100644 --- a/displayvideo/v1/displayvideo-gen.go +++ b/displayvideo/v1/displayvideo-gen.go @@ -13573,6 +13573,10 @@ type PartnerCost struct { // fee 4. Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom // fee 5. Billed by the partner. + // "PARTNER_COST_TYPE_SCIBIDS_FEE" - The cost is charged for using + // Scibids. Billed through DV360. This type is currently only available + // to certain customers. Other customers attempting to use this type + // will receive an error. CostType string `json:"costType,omitempty"` // FeeAmount: The CPM fee amount in micros of advertiser's currency. diff --git a/displayvideo/v2/displayvideo-api.json b/displayvideo/v2/displayvideo-api.json index 2f8c8c5afb6..d480f05f730 100644 --- a/displayvideo/v2/displayvideo-api.json +++ b/displayvideo/v2/displayvideo-api.json @@ -9172,7 +9172,7 @@ } } }, - "revision": "20230831", + "revision": "20230906", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -18730,7 +18730,8 @@ "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", - "PARTNER_COST_TYPE_CUSTOM_FEE_5" + "PARTNER_COST_TYPE_CUSTOM_FEE_5", + "PARTNER_COST_TYPE_SCIBIDS_FEE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -18762,7 +18763,8 @@ "The cost is charged as custom fee 2. Billed by the partner.", "The cost is charged as custom fee 3. Billed by the partner.", "The cost is charged as custom fee 4. Billed by the partner.", - "The cost is charged as custom fee 5. Billed by the partner." + "The cost is charged as custom fee 5. Billed by the partner.", + "The cost is charged for using Scibids. Billed through DV360. This type is currently only available to certain customers. Other customers attempting to use this type will receive an error." ], "type": "string" }, diff --git a/displayvideo/v2/displayvideo-gen.go b/displayvideo/v2/displayvideo-gen.go index 544e8a217a4..878235f29a8 100644 --- a/displayvideo/v2/displayvideo-gen.go +++ b/displayvideo/v2/displayvideo-gen.go @@ -14712,6 +14712,10 @@ type PartnerCost struct { // fee 4. Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom // fee 5. Billed by the partner. + // "PARTNER_COST_TYPE_SCIBIDS_FEE" - The cost is charged for using + // Scibids. Billed through DV360. This type is currently only available + // to certain customers. Other customers attempting to use this type + // will receive an error. CostType string `json:"costType,omitempty"` // FeeAmount: The CPM fee amount in micros of advertiser's currency. diff --git a/firebasehosting/v1/firebasehosting-api.json b/firebasehosting/v1/firebasehosting-api.json index 9be1d1ca51c..1dde4d26a14 100644 --- a/firebasehosting/v1/firebasehosting-api.json +++ b/firebasehosting/v1/firebasehosting-api.json @@ -1,4 +1,16 @@ { + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/firebase": { + "description": "View and administer all your Firebase data and settings" + } + } + } + }, "basePath": "", "baseUrl": "https://firebasehosting.googleapis.com/", "batchPath": "batch", @@ -184,9 +196,80 @@ } } } + }, + "projects": { + "resources": { + "sites": { + "resources": { + "customDomains": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "CancelOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", + "flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.customDomains.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "DeleteOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", + "flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "firebasehosting.projects.sites.customDomains.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + } + } + } + } + } + } } }, - "revision": "20230806", + "revision": "20230910", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -195,12 +278,255 @@ "properties": {}, "type": "object" }, + "CertVerification": { + "description": "A set of ACME challenges you can use to allow Hosting to create an SSL certificate for your domain name before directing traffic to Hosting servers. Use either the DNS or HTTP challenge; it's not necessary to provide both.", + "id": "CertVerification", + "properties": { + "dns": { + "$ref": "DnsUpdates", + "description": "Output only. A `TXT` record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name.", + "readOnly": true + }, + "http": { + "$ref": "HttpUpdate", + "description": "Output only. A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name.", + "readOnly": true + } + }, + "type": "object" + }, + "CustomDomainMetadata": { + "description": "Metadata associated with a`CustomDomain` operation.", + "id": "CustomDomainMetadata", + "properties": { + "certState": { + "description": "The `CertState` of the domain name's SSL certificate.", + "enum": [ + "CERT_STATE_UNSPECIFIED", + "CERT_PREPARING", + "CERT_VALIDATING", + "CERT_PROPAGATING", + "CERT_ACTIVE", + "CERT_EXPIRING_SOON", + "CERT_EXPIRED" + ], + "enumDescriptions": [ + "The certificate's state is unspecified. The message is invalid if this is unspecified.", + "The initial state of every certificate, represents Hosting's intent to create a certificate, before requests to a Certificate Authority are made.", + "Hosting is validating whether a domain name's DNS records are in a state that allow certificate creation on its behalf.", + "The certificate was recently created, and needs time to propagate in Hosting's CDN.", + "The certificate is active, providing secure connections for the domain names it represents.", + "The certificate is expiring, all domain names on it will be given new certificates.", + "The certificate has expired. Hosting can no longer serve secure content on your domain name." + ], + "type": "string" + }, + "hostState": { + "description": "The `HostState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "HOST_STATE_UNSPECIFIED", + "HOST_UNHOSTED", + "HOST_UNREACHABLE", + "HOST_MISMATCH", + "HOST_CONFLICT", + "HOST_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s host state is unspecified. The message is invalid if this is unspecified.", + "Your `CustomDomain`'s domain name isn't associated with any IP addresses.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name has IP addresses that don't ultimately resolve to Hosting.", + "Your `CustomDomain`'s domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove `A` and `AAAA` records related to non-Hosting services.", + "All requests against your `CustomDomain`'s domain name are served by Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting serves your Hosting Site's content on the domain name." + ], + "type": "string" + }, + "issues": { + "description": "A list of issues that are currently preventing Hosting from completing the operation. These are generally DNS-related issues that Hosting encounters when querying a domain name's records or attempting to mint an SSL certificate.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "liveMigrationSteps": { + "description": "A set of DNS record updates and ACME challenges that allow you to transition domain names to Firebase Hosting with zero downtime. These updates allow Hosting's to create an SSL certificate and establish ownership for your custom domain before Hosting begins serving traffic on it. If your domain name is already in active use with another provider, add one of the challenges and make the recommended dns updates. After adding challenges and adjusting DNS records as necessary, wait for the `ownershipState` to be `OWNERSHIP_ACTIVE` and the `certState` to be `CERT_ACTIVE` before sending traffic to Hosting.", + "items": { + "$ref": "LiveMigrationStep" + }, + "type": "array" + }, + "ownershipState": { + "description": "The `OwnershipState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "OWNERSHIP_STATE_UNSPECIFIED", + "OWNERSHIP_MISSING", + "OWNERSHIP_UNREACHABLE", + "OWNERSHIP_MISMATCH", + "OWNERSHIP_CONFLICT", + "OWNERSHIP_PENDING", + "OWNERSHIP_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s ownership state is unspecified. This should never happen.", + "Your `CustomDomain`'s domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name is owned by another Firebase project. Remove the conflicting `TXT` records and replace them with project-specific records for your current Firebase project.", + "Your `CustomDomain`'s domain name has conflicting `TXT` records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership.", + "Your `CustomDomain`'s DNS records are configured correctly. Hosting will transfer ownership of your domain to this `CustomDomain` within 24 hours.", + "Your `CustomDomain`'s domain name has `TXT` records that grant its project permission to act on its behalf." + ], + "type": "string" + }, + "quickSetupUpdates": { + "$ref": "DnsUpdates", + "description": "A set of DNS record updates that allow Hosting to serve secure content on your domain name. The record type determines the update's purpose: - `A` and `AAAA`: Updates your domain name's IP addresses so that they direct traffic to Hosting servers. - `TXT`: Updates ownership permissions on your domain name, letting Hosting know that your custom domain's project has permission to perfrom actions for that domain name. - `CAA`: Updates your domain name's list of authorized Certificate Authorities (CAs). Only present if you have existing `CAA` records that prohibit Hosting's CA from minting certs for your domain name. These updates include all DNS changes you'll need to get started with Hosting, but, if made all at once, can result in a brief period of downtime for your domain name--while Hosting creates and uploads an SSL cert, for example. If you'd like to add your domain name to Hosting without downtime, complete the `liveMigrationSteps` first, before making the remaining updates in this field." + } + }, + "type": "object" + }, + "DnsRecord": { + "description": "DNS records are resource records that define how systems and services should behave when handling requests for a domain name. For example, when you add `A` records to your domain name's DNS records, you're informing other systems (e.g. your users' web browsers) to contact those IPv4 addresses to retrieve resources relevant to your domain name (e.g. your Hosting site files).", + "id": "DnsRecord", + "properties": { + "domainName": { + "description": "Output only. The domain name the record pertains to, e.g. `foo.bar.com.`.", + "readOnly": true, + "type": "string" + }, + "rdata": { + "description": "Output only. The data of the record. The meaning of the value depends on record type: - A and AAAA: IP addresses for the domain name. - CNAME: Another domain to check for records. - TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf. - CAA: The record's flags, tag, and value, e.g. `0 issue \"pki.goog\"`.", + "readOnly": true, + "type": "string" + }, + "requiredAction": { + "description": "Output only. An enum that indicates the a required action for this record.", + "enum": [ + "NONE", + "ADD", + "REMOVE" + ], + "enumDescriptions": [ + "No action necessary.", + "Add this record to your DNS records.", + "Remove this record from your DNS records." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The record's type, which determines what data the record contains.", + "enum": [ + "TYPE_UNSPECIFIED", + "A", + "CNAME", + "TXT", + "AAAA", + "CAA" + ], + "enumDescriptions": [ + "The record's type is unspecified. The message is invalid if this is unspecified.", + "An `A` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). A records determine which IPv4 addresses a domain name directs traffic towards.", + "A `CNAME` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `CNAME` or Canonical Name records map a domain name to a different, canonical domain name. If a `CNAME` record is present, it should be the only record on the domain name.", + "A `TXT` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `TXT` records hold arbitrary text data on a domain name. Hosting uses `TXT` records to establish which Firebase Project has permission to act on a domain name.", + "An AAAA record, as defined in [RFC 3596](https://tools.ietf.org/html/rfc3596) AAAA records determine which IPv6 addresses a domain name directs traffic towards.", + "A CAA record, as defined in [RFC 6844](https://tools.ietf.org/html/rfc6844). CAA, or Certificate Authority Authorization, records determine which Certificate Authorities (SSL certificate minting organizations) are authorized to mint a certificate for the domain name. Firebase Hosting uses `pki.goog` as its primary CA. CAA records cascade. A CAA record on `foo.com` also applies to `bar.foo.com` unless `bar.foo.com` has its own set of CAA records. CAA records are optional. If a domain name and its parents have no CAA records, all CAs are authorized to mint certificates on its behalf. In general, Hosting only asks you to modify CAA records when doing so is required to unblock SSL cert creation." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsRecordSet": { + "description": "A set of DNS records relevant to the set up and maintenance of a Custom Domain in Firebase Hosting.", + "id": "DnsRecordSet", + "properties": { + "checkError": { + "$ref": "Status", + "description": "Output only. An error Hosting services encountered when querying your domain name's DNS records. Note: Hosting ignores `NXDOMAIN` errors, as those generally just mean that a domain name hasn't been set up yet.", + "readOnly": true + }, + "domainName": { + "description": "Output only. The domain name the record set pertains to.", + "readOnly": true, + "type": "string" + }, + "records": { + "description": "Output only. Records on the domain.", + "items": { + "$ref": "DnsRecord" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DnsUpdates": { + "description": "A set of DNS record updates that you should make to allow Hosting to serve secure content in response to requests against your domain name. These updates present the current state of your domain name's DNS records when Hosting last queried them, and the desired set of records that Hosting needs to see before your Custom Domain can be fully active.", + "id": "DnsUpdates", + "properties": { + "checkTime": { + "description": "The last time Hosting checked your CustomDomain's DNS records.", + "format": "google-datetime", + "type": "string" + }, + "desired": { + "description": "The set of DNS records Hosting needs to serve secure content on the domain.", + "items": { + "$ref": "DnsRecordSet" + }, + "type": "array" + }, + "discovered": { + "description": "The set of DNS records Hosting discovered when inspecting a domain.", + "items": { + "$ref": "DnsRecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, + "HttpUpdate": { + "description": "A file you can add to your existing, non-Hosting hosting service that confirms your intent to allow Hosting's Certificate Authorities to create an SSL certificate for your domain.", + "id": "HttpUpdate", + "properties": { + "checkError": { + "$ref": "Status", + "description": "Output only. An error encountered during the last contents check. If null, the check completed successfully.", + "readOnly": true + }, + "desired": { + "description": "Output only. A text string to serve at the path.", + "readOnly": true, + "type": "string" + }, + "discovered": { + "description": "Output only. Whether Hosting was able to find the required file contents on the specified path during its last check.", + "readOnly": true, + "type": "string" + }, + "lastCheckTime": { + "description": "Output only. The last time Hosting systems checked for the file contents.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "path": { + "description": "Output only. The path to the file.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -219,6 +545,52 @@ }, "type": "object" }, + "LiveMigrationStep": { + "description": "A set of updates including ACME challenges and DNS records that allow Hosting to create an SSL certificate and establish project ownership for your domain name before you direct traffic to Hosting servers. Use these updates to facilitate zero downtime migrations to Hosting from other services. After you've made the recommended updates, check your custom domain's `ownershipState` and `certState`. To avoid downtime, they should be `OWNERSHIP_ACTIVE` and `CERT_ACTIVE`, respectively, before you update your `A` and `AAAA` records.", + "id": "LiveMigrationStep", + "properties": { + "certVerification": { + "$ref": "CertVerification", + "description": "Output only. A pair of ACME challenges that Hosting's Certificate Authority (CA) can use to create an SSL cert for your domain name. Use either the DNS or HTTP challenge; it's not necessary to provide both.", + "readOnly": true + }, + "dnsUpdates": { + "$ref": "DnsUpdates", + "description": "Output only. DNS updates to facilitate your domain's zero-downtime migration to Hosting.", + "readOnly": true + }, + "issues": { + "description": "Output only. Issues that prevent the current step from completing.", + "items": { + "$ref": "Status" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. The state of the live migration step, indicates whether you should work to complete the step now, in the future, or have already completed it.", + "enum": [ + "STATE_UNSPECIFIED", + "PREPARING", + "PENDING", + "INCOMPLETE", + "PROCESSING", + "COMPLETE" + ], + "enumDescriptions": [ + "The step's state is unspecified. The message is invalid if this is unspecified.", + "Hosting doesn't have enough information to construct the step yet. Complete any prior steps and/or resolve this step's issue to proceed.", + "The step's state is pending. Complete prior steps before working on a `PENDING` step.", + "The step is incomplete. You should complete any `certVerification` or `dnsUpdates` changes to complete it.", + "You've done your part to update records and present challenges as necessary. Hosting is now completing background processes to complete the step, e.g. minting an SSL cert for your domain name.", + "The step is complete. You've already made the necessary changes to your domain and/or prior hosting service to advance to the next step. Once all steps are complete, Hosting is ready to serve secure content on your domain." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", diff --git a/firebasehosting/v1/firebasehosting-gen.go b/firebasehosting/v1/firebasehosting-gen.go index 217e9f8cad1..e52395faac2 100644 --- a/firebasehosting/v1/firebasehosting-gen.go +++ b/firebasehosting/v1/firebasehosting-gen.go @@ -34,6 +34,11 @@ // // # Other authentication options // +// By default, all available scopes (see "Constants") are used to authenticate. +// To restrict scopes, use [google.golang.org/api/option.WithScopes]: +// +// firebasehostingService, err := firebasehosting.NewService(ctx, option.WithScopes(firebasehosting.FirebaseScope)) +// // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // @@ -92,8 +97,24 @@ const apiVersion = "v1" const basePath = "https://firebasehosting.googleapis.com/" const mtlsBasePath = "https://firebasehosting.mtls.googleapis.com/" +// OAuth2 scopes used by this API. +const ( + // See, edit, configure, and delete your Google Cloud data and see the + // email address for your Google Account. + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // View and administer all your Firebase data and settings + FirebaseScope = "https://www.googleapis.com/auth/firebase" +) + // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) client, endpoint, err := htransport.NewClient(ctx, opts...) @@ -121,6 +142,7 @@ func New(client *http.Client) (*Service, error) { } s := &Service{client: client, BasePath: basePath} s.Operations = NewOperationsService(s) + s.Projects = NewProjectsService(s) return s, nil } @@ -130,6 +152,8 @@ type Service struct { UserAgent string // optional additional User-Agent fragment Operations *OperationsService + + Projects *ProjectsService } func (s *Service) userAgent() string { @@ -148,11 +172,397 @@ type OperationsService struct { s *Service } +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Sites = NewProjectsSitesService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Sites *ProjectsSitesService +} + +func NewProjectsSitesService(s *Service) *ProjectsSitesService { + rs := &ProjectsSitesService{s: s} + rs.CustomDomains = NewProjectsSitesCustomDomainsService(s) + return rs +} + +type ProjectsSitesService struct { + s *Service + + CustomDomains *ProjectsSitesCustomDomainsService +} + +func NewProjectsSitesCustomDomainsService(s *Service) *ProjectsSitesCustomDomainsService { + rs := &ProjectsSitesCustomDomainsService{s: s} + rs.Operations = NewProjectsSitesCustomDomainsOperationsService(s) + return rs +} + +type ProjectsSitesCustomDomainsService struct { + s *Service + + Operations *ProjectsSitesCustomDomainsOperationsService +} + +func NewProjectsSitesCustomDomainsOperationsService(s *Service) *ProjectsSitesCustomDomainsOperationsService { + rs := &ProjectsSitesCustomDomainsOperationsService{s: s} + return rs +} + +type ProjectsSitesCustomDomainsOperationsService struct { + s *Service +} + // CancelOperationRequest: The request message for // Operations.CancelOperation. type CancelOperationRequest struct { } +// CertVerification: A set of ACME challenges you can use to allow +// Hosting to create an SSL certificate for your domain name before +// directing traffic to Hosting servers. Use either the DNS or HTTP +// challenge; it's not necessary to provide both. +type CertVerification struct { + // Dns: Output only. A `TXT` record to add to your DNS records that + // confirms your intent to let Hosting create an SSL cert for your + // domain name. + Dns *DnsUpdates `json:"dns,omitempty"` + + // Http: Output only. A file to add to your existing, non-Hosting + // hosting service that confirms your intent to let Hosting create an + // SSL cert for your domain name. + Http *HttpUpdate `json:"http,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Dns") 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. "Dns") 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 *CertVerification) MarshalJSON() ([]byte, error) { + type NoMethod CertVerification + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomDomainMetadata: Metadata associated with a`CustomDomain` +// operation. +type CustomDomainMetadata struct { + // CertState: The `CertState` of the domain name's SSL certificate. + // + // Possible values: + // "CERT_STATE_UNSPECIFIED" - The certificate's state is unspecified. + // The message is invalid if this is unspecified. + // "CERT_PREPARING" - The initial state of every certificate, + // represents Hosting's intent to create a certificate, before requests + // to a Certificate Authority are made. + // "CERT_VALIDATING" - Hosting is validating whether a domain name's + // DNS records are in a state that allow certificate creation on its + // behalf. + // "CERT_PROPAGATING" - The certificate was recently created, and + // needs time to propagate in Hosting's CDN. + // "CERT_ACTIVE" - The certificate is active, providing secure + // connections for the domain names it represents. + // "CERT_EXPIRING_SOON" - The certificate is expiring, all domain + // names on it will be given new certificates. + // "CERT_EXPIRED" - The certificate has expired. Hosting can no longer + // serve secure content on your domain name. + CertState string `json:"certState,omitempty"` + + // HostState: The `HostState` of the domain name this `CustomDomain` + // refers to. + // + // Possible values: + // "HOST_STATE_UNSPECIFIED" - Your `CustomDomain`'s host state is + // unspecified. The message is invalid if this is unspecified. + // "HOST_UNHOSTED" - Your `CustomDomain`'s domain name isn't + // associated with any IP addresses. + // "HOST_UNREACHABLE" - Your `CustomDomain`'s domain name can't be + // reached. Hosting services' DNS queries to find your domain name's IP + // addresses resulted in errors. See your `CustomDomain`'s `issues` + // field for more details. + // "HOST_MISMATCH" - Your `CustomDomain`'s domain name has IP + // addresses that don't ultimately resolve to Hosting. + // "HOST_CONFLICT" - Your `CustomDomain`'s domain name has IP + // addresses that resolve to both Hosting and other services. To ensure + // consistent results, remove `A` and `AAAA` records related to + // non-Hosting services. + // "HOST_ACTIVE" - All requests against your `CustomDomain`'s domain + // name are served by Hosting. If the `CustomDomain`'s `OwnershipState` + // is also `ACTIVE`, Hosting serves your Hosting Site's content on the + // domain name. + HostState string `json:"hostState,omitempty"` + + // Issues: A list of issues that are currently preventing Hosting from + // completing the operation. These are generally DNS-related issues that + // Hosting encounters when querying a domain name's records or + // attempting to mint an SSL certificate. + Issues []*Status `json:"issues,omitempty"` + + // LiveMigrationSteps: A set of DNS record updates and ACME challenges + // that allow you to transition domain names to Firebase Hosting with + // zero downtime. These updates allow Hosting's to create an SSL + // certificate and establish ownership for your custom domain before + // Hosting begins serving traffic on it. If your domain name is already + // in active use with another provider, add one of the challenges and + // make the recommended dns updates. After adding challenges and + // adjusting DNS records as necessary, wait for the `ownershipState` to + // be `OWNERSHIP_ACTIVE` and the `certState` to be `CERT_ACTIVE` before + // sending traffic to Hosting. + LiveMigrationSteps []*LiveMigrationStep `json:"liveMigrationSteps,omitempty"` + + // OwnershipState: The `OwnershipState` of the domain name this + // `CustomDomain` refers to. + // + // Possible values: + // "OWNERSHIP_STATE_UNSPECIFIED" - Your `CustomDomain`'s ownership + // state is unspecified. This should never happen. + // "OWNERSHIP_MISSING" - Your `CustomDomain`'s domain name has no + // Hosting-related ownership records; no Firebase project has permission + // to act on the domain name's behalf. + // "OWNERSHIP_UNREACHABLE" - Your `CustomDomain`'s domain name can't + // be reached. Hosting services' DNS queries to find your domain name's + // ownership records resulted in errors. See your `CustomDomain`'s + // `issues` field for more details. + // "OWNERSHIP_MISMATCH" - Your `CustomDomain`'s domain name is owned + // by another Firebase project. Remove the conflicting `TXT` records and + // replace them with project-specific records for your current Firebase + // project. + // "OWNERSHIP_CONFLICT" - Your `CustomDomain`'s domain name has + // conflicting `TXT` records that indicate ownership by both your + // current Firebase project and another project. Remove the other + // project's ownership records to grant the current project ownership. + // "OWNERSHIP_PENDING" - Your `CustomDomain`'s DNS records are + // configured correctly. Hosting will transfer ownership of your domain + // to this `CustomDomain` within 24 hours. + // "OWNERSHIP_ACTIVE" - Your `CustomDomain`'s domain name has `TXT` + // records that grant its project permission to act on its behalf. + OwnershipState string `json:"ownershipState,omitempty"` + + // QuickSetupUpdates: A set of DNS record updates that allow Hosting to + // serve secure content on your domain name. The record type determines + // the update's purpose: - `A` and `AAAA`: Updates your domain name's IP + // addresses so that they direct traffic to Hosting servers. - `TXT`: + // Updates ownership permissions on your domain name, letting Hosting + // know that your custom domain's project has permission to perfrom + // actions for that domain name. - `CAA`: Updates your domain name's + // list of authorized Certificate Authorities (CAs). Only present if you + // have existing `CAA` records that prohibit Hosting's CA from minting + // certs for your domain name. These updates include all DNS changes + // you'll need to get started with Hosting, but, if made all at once, + // can result in a brief period of downtime for your domain name--while + // Hosting creates and uploads an SSL cert, for example. If you'd like + // to add your domain name to Hosting without downtime, complete the + // `liveMigrationSteps` first, before making the remaining updates in + // this field. + QuickSetupUpdates *DnsUpdates `json:"quickSetupUpdates,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertState") 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. "CertState") 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 *CustomDomainMetadata) MarshalJSON() ([]byte, error) { + type NoMethod CustomDomainMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsRecord: DNS records are resource records that define how systems +// and services should behave when handling requests for a domain name. +// For example, when you add `A` records to your domain name's DNS +// records, you're informing other systems (e.g. your users' web +// browsers) to contact those IPv4 addresses to retrieve resources +// relevant to your domain name (e.g. your Hosting site files). +type DnsRecord struct { + // DomainName: Output only. The domain name the record pertains to, e.g. + // `foo.bar.com.`. + DomainName string `json:"domainName,omitempty"` + + // Rdata: Output only. The data of the record. The meaning of the value + // depends on record type: - A and AAAA: IP addresses for the domain + // name. - CNAME: Another domain to check for records. - TXT: Arbitrary + // text strings associated with the domain name. Hosting uses TXT + // records to determine a which Firebase Projects have permission to act + // on the domain name's behalf. - CAA: The record's flags, tag, and + // value, e.g. `0 issue "pki.goog". + Rdata string `json:"rdata,omitempty"` + + // RequiredAction: Output only. An enum that indicates the a required + // action for this record. + // + // Possible values: + // "NONE" - No action necessary. + // "ADD" - Add this record to your DNS records. + // "REMOVE" - Remove this record from your DNS records. + RequiredAction string `json:"requiredAction,omitempty"` + + // Type: Output only. The record's type, which determines what data the + // record contains. + // + // Possible values: + // "TYPE_UNSPECIFIED" - The record's type is unspecified. The message + // is invalid if this is unspecified. + // "A" - An `A` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). A records determine which + // IPv4 addresses a domain name directs traffic towards. + // "CNAME" - A `CNAME` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). `CNAME` or Canonical Name + // records map a domain name to a different, canonical domain name. If a + // `CNAME` record is present, it should be the only record on the domain + // name. + // "TXT" - A `TXT` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). `TXT` records hold + // arbitrary text data on a domain name. Hosting uses `TXT` records to + // establish which Firebase Project has permission to act on a domain + // name. + // "AAAA" - An AAAA record, as defined in [RFC + // 3596](https://tools.ietf.org/html/rfc3596) AAAA records determine + // which IPv6 addresses a domain name directs traffic towards. + // "CAA" - A CAA record, as defined in [RFC + // 6844](https://tools.ietf.org/html/rfc6844). CAA, or Certificate + // Authority Authorization, records determine which Certificate + // Authorities (SSL certificate minting organizations) are authorized to + // mint a certificate for the domain name. Firebase Hosting uses + // `pki.goog` as its primary CA. CAA records cascade. A CAA record on + // `foo.com` also applies to `bar.foo.com` unless `bar.foo.com` has its + // own set of CAA records. CAA records are optional. If a domain name + // and its parents have no CAA records, all CAs are authorized to mint + // certificates on its behalf. In general, Hosting only asks you to + // modify CAA records when doing so is required to unblock SSL cert + // creation. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DomainName") 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. "DomainName") 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 *DnsRecord) MarshalJSON() ([]byte, error) { + type NoMethod DnsRecord + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsRecordSet: A set of DNS records relevant to the set up and +// maintenance of a Custom Domain in Firebase Hosting. +type DnsRecordSet struct { + // CheckError: Output only. An error Hosting services encountered when + // querying your domain name's DNS records. Note: Hosting ignores + // `NXDOMAIN` errors, as those generally just mean that a domain name + // hasn't been set up yet. + CheckError *Status `json:"checkError,omitempty"` + + // DomainName: Output only. The domain name the record set pertains to. + DomainName string `json:"domainName,omitempty"` + + // Records: Output only. Records on the domain. + Records []*DnsRecord `json:"records,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckError") 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. "CheckError") 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 *DnsRecordSet) MarshalJSON() ([]byte, error) { + type NoMethod DnsRecordSet + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsUpdates: A set of DNS record updates that you should make to allow +// Hosting to serve secure content in response to requests against your +// domain name. These updates present the current state of your domain +// name's DNS records when Hosting last queried them, and the desired +// set of records that Hosting needs to see before your Custom Domain +// can be fully active. +type DnsUpdates struct { + // CheckTime: The last time Hosting checked your CustomDomain's DNS + // records. + CheckTime string `json:"checkTime,omitempty"` + + // Desired: The set of DNS records Hosting needs to serve secure content + // on the domain. + Desired []*DnsRecordSet `json:"desired,omitempty"` + + // Discovered: The set of DNS records Hosting discovered when inspecting + // a domain. + Discovered []*DnsRecordSet `json:"discovered,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckTime") 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. "CheckTime") 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 *DnsUpdates) MarshalJSON() ([]byte, error) { + type NoMethod DnsUpdates + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For @@ -164,6 +574,51 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// HttpUpdate: A file you can add to your existing, non-Hosting hosting +// service that confirms your intent to allow Hosting's Certificate +// Authorities to create an SSL certificate for your domain. +type HttpUpdate struct { + // CheckError: Output only. An error encountered during the last + // contents check. If null, the check completed successfully. + CheckError *Status `json:"checkError,omitempty"` + + // Desired: Output only. A text string to serve at the path. + Desired string `json:"desired,omitempty"` + + // Discovered: Output only. Whether Hosting was able to find the + // required file contents on the specified path during its last check. + Discovered string `json:"discovered,omitempty"` + + // LastCheckTime: Output only. The last time Hosting systems checked for + // the file contents. + LastCheckTime string `json:"lastCheckTime,omitempty"` + + // Path: Output only. The path to the file. + Path string `json:"path,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckError") 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. "CheckError") 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 *HttpUpdate) MarshalJSON() ([]byte, error) { + type NoMethod HttpUpdate + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListOperationsResponse: The response message for // Operations.ListOperations. type ListOperationsResponse struct { @@ -201,6 +656,78 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LiveMigrationStep: A set of updates including ACME challenges and DNS +// records that allow Hosting to create an SSL certificate and establish +// project ownership for your domain name before you direct traffic to +// Hosting servers. Use these updates to facilitate zero downtime +// migrations to Hosting from other services. After you've made the +// recommended updates, check your custom domain's `ownershipState` and +// `certState`. To avoid downtime, they should be `OWNERSHIP_ACTIVE` and +// `CERT_ACTIVE`, respectively, before you update your `A` and `AAAA` +// records. +type LiveMigrationStep struct { + // CertVerification: Output only. A pair of ACME challenges that + // Hosting's Certificate Authority (CA) can use to create an SSL cert + // for your domain name. Use either the DNS or HTTP challenge; it's not + // necessary to provide both. + CertVerification *CertVerification `json:"certVerification,omitempty"` + + // DnsUpdates: Output only. DNS updates to facilitate your domain's + // zero-downtime migration to Hosting. + DnsUpdates *DnsUpdates `json:"dnsUpdates,omitempty"` + + // Issues: Output only. Issues that prevent the current step from + // completing. + Issues []*Status `json:"issues,omitempty"` + + // State: Output only. The state of the live migration step, indicates + // whether you should work to complete the step now, in the future, or + // have already completed it. + // + // Possible values: + // "STATE_UNSPECIFIED" - The step's state is unspecified. The message + // is invalid if this is unspecified. + // "PREPARING" - Hosting doesn't have enough information to construct + // the step yet. Complete any prior steps and/or resolve this step's + // issue to proceed. + // "PENDING" - The step's state is pending. Complete prior steps + // before working on a `PENDING` step. + // "INCOMPLETE" - The step is incomplete. You should complete any + // `certVerification` or `dnsUpdates` changes to complete it. + // "PROCESSING" - You've done your part to update records and present + // challenges as necessary. Hosting is now completing background + // processes to complete the step, e.g. minting an SSL cert for your + // domain name. + // "COMPLETE" - The step is complete. You've already made the + // necessary changes to your domain and/or prior hosting service to + // advance to the next step. Once all steps are complete, Hosting is + // ready to serve secure content on your domain. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertVerification") 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. "CertVerification") 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 *LiveMigrationStep) MarshalJSON() ([]byte, error) { + type NoMethod LiveMigrationStep + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Operation: This resource represents a long-running operation that is // the result of a network API call. type Operation struct { @@ -785,3 +1312,283 @@ func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsRe c.PageToken(x.NextPageToken) } } + +// method id "firebasehosting.projects.sites.customDomains.operations.cancel": + +type ProjectsSitesCustomDomainsOperationsCancelCall struct { + s *Service + name string + canceloperationrequest *CancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: CancelOperation is a part of the +// google.longrunning.Operations interface, but is not implemented for +// CustomDomain resources. +// +// - name: The name of the operation resource to be cancelled. +func (r *ProjectsSitesCustomDomainsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsSitesCustomDomainsOperationsCancelCall { + c := &ProjectsSitesCustomDomainsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.canceloperationrequest = canceloperationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsOperationsCancelCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsSitesCustomDomainsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "CancelOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", + // "flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "firebasehosting.projects.sites.customDomains.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be cancelled.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:cancel", + // "request": { + // "$ref": "CancelOperationRequest" + // }, + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.operations.delete": + +type ProjectsSitesCustomDomainsOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: DeleteOperation is a part of the +// google.longrunning.Operations interface, but is not implemented for +// CustomDomain resources. +// +// - name: The name of the operation resource to be deleted. +func (r *ProjectsSitesCustomDomainsOperationsService) Delete(name string) *ProjectsSitesCustomDomainsOperationsDeleteCall { + c := &ProjectsSitesCustomDomainsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsOperationsDeleteCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsSitesCustomDomainsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "DeleteOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", + // "flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "firebasehosting.projects.sites.customDomains.operations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be deleted.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} diff --git a/firebasehosting/v1beta1/firebasehosting-api.json b/firebasehosting/v1beta1/firebasehosting-api.json index 3d73820e0fc..f34ecb513c4 100644 --- a/firebasehosting/v1beta1/firebasehosting-api.json +++ b/firebasehosting/v1beta1/firebasehosting-api.json @@ -655,6 +655,314 @@ } } }, + "customDomains": { + "methods": { + "create": { + "description": "Creates a `CustomDomain`.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.customDomains.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "customDomainId": { + "description": "Required. The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `CustomDomain`'s parent, specifically a Firebase Hosting `Site`.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually create a new `CustomDomain`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+parent}/customDomains", + "request": { + "$ref": "CustomDomain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "Deletes the specified `CustomDomain`.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + "httpMethod": "DELETE", + "id": "firebasehosting.projects.sites.customDomains.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If true, the request succeeds even if the `CustomDomain` doesn't exist.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "A tag that represents the state of the `CustomDomain` as you know it. If present, the supplied tag must match the current value on your `CustomDomain`, or the request fails.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the `CustomDomain` to delete.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually delete the `CustomDomain`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the specified `CustomDomain`.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.customDomains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `CustomDomain` to get.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "CustomDomain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "list": { + "description": "Lists each `CustomDomain` associated with the specified parent Hosting Site. Returns `CustomDomain`s in a consistent, but undefined, order to facilitate pagination.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.customDomains.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The max number of `CustomDomain` entities to return in a request. Defaults to 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token from a previous call to `ListCustomDomains` that tells the server where to resume listing.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Firebase Hosting `Site` with `CustomDomain` entities you'd like to list.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "If true, the request returns soft-deleted `CustomDomain`s that haven't been fully-deleted yet. To restore deleted `CustomDomain`s, make an `UndeleteCustomDomain` request.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+parent}/customDomains", + "response": { + "$ref": "ListCustomDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "patch": { + "description": "Updates the specified `CustomDomain`.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + "httpMethod": "PATCH", + "id": "firebasehosting.projects.sites.customDomains.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If true, Hosting creates the `CustomDomain` if it doesn't already exist.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The fully-qualified name of the `CustomDomain`.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The set of field names from your `CustomDomain` that you want to update. A field will be overwritten if, and only if, it's in the mask. If you don't provide a mask, Hosting updates the entire `CustomDomain`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually create or update the `CustomDomain`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "CustomDomain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "undelete": { + "description": "Undeletes the specified `CustomDomain` if it has been soft-deleted. Hosting retains soft-deleted CustomDomains for around 30 days before permanently deleting them.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}:undelete", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.customDomains.undelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `CustomDomain` to delete.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:undelete", + "request": { + "$ref": "UndeleteCustomDomainRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.customDomains.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.customDomains.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + } + } + } + } + }, "domains": { "methods": { "create": { @@ -2114,7 +2422,7 @@ } } }, - "revision": "20230906", + "revision": "20230910", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "ActingUser": { @@ -2162,35 +2470,126 @@ }, "type": "object" }, - "Channel": { - "description": "A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the Firebase-provided subdomains and any connected custom domains.", - "id": "Channel", + "CertVerification": { + "description": "A set of ACME challenges you can use to allow Hosting to create an SSL certificate for your domain name before directing traffic to Hosting servers. Use either the DNS or HTTP challenge; it's not necessary to provide both.", + "id": "CertVerification", + "properties": { + "dns": { + "$ref": "DnsUpdates", + "description": "Output only. A `TXT` record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name.", + "readOnly": true + }, + "http": { + "$ref": "HttpUpdate", + "description": "Output only. A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name.", + "readOnly": true + } + }, + "type": "object" + }, + "Certificate": { + "description": "An SSL certificate used to provide end-to-end encryption for requests against your domain name. A `Certificate` can be an actual SSL certificate or, for newly-created Custom Domains, Hosting's intent to create one.", + "id": "Certificate", "properties": { "createTime": { - "description": "Output only. The time at which the channel was created.", + "description": "Output only. The certificate's creation time. For `TEMPORARY` certs this is the time Hosting first generated challenges for your domain name. For all other cert types, it's the time the actual cert was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "expireTime": { - "description": "The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in the output whether it's set directly or via the `ttl` field.", + "description": "Output only. The certificate's expiration time. After this time, the cert can no longer be used to provide secure communication between Hosting and your Site's visitors.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" + "issues": { + "description": "Output only. A set of errors Hosting encountered when attempting to create a cert for your domain name. Resolve these issues to ensure Hosting is able to provide secure communication with your site's visitors.", + "items": { + "$ref": "Status" }, - "description": "Text labels used for extra metadata and/or filtering.", - "type": "object" - }, - "name": { - "description": "The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID", - "type": "string" + "readOnly": true, + "type": "array" }, - "release": { - "$ref": "Release", - "description": "Output only. The current release for the channel, if any.", + "state": { + "description": "Output only. The state of the certificate. Only the `CERT_ACTIVE` and `CERT_EXPIRING_SOON` states provide SSL coverage for a domain name. If the state is `PROPAGATING` and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.", + "enum": [ + "CERT_STATE_UNSPECIFIED", + "CERT_PREPARING", + "CERT_VALIDATING", + "CERT_PROPAGATING", + "CERT_ACTIVE", + "CERT_EXPIRING_SOON", + "CERT_EXPIRED" + ], + "enumDescriptions": [ + "The certificate's state is unspecified. The message is invalid if this is unspecified.", + "The initial state of every certificate, represents Hosting's intent to create a certificate, before requests to a Certificate Authority are made.", + "Hosting is validating whether a domain name's DNS records are in a state that allow certificate creation on its behalf.", + "The certificate was recently created, and needs time to propagate in Hosting's CDN.", + "The certificate is active, providing secure connections for the domain names it represents.", + "The certificate is expiring, all domain names on it will be given new certificates.", + "The certificate has expired. Hosting can no longer serve secure content on your domain name." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The certificate's type.", + "enum": [ + "TYPE_UNSPECIFIED", + "TEMPORARY", + "GROUPED", + "PROJECT_GROUPED", + "DEDICATED" + ], + "enumDescriptions": [ + "The certificate's type is unspecified. The message is invalid if this is unspecified.", + "A short-lived certificate type that covers a domain name temporarily, while Hosting creates a more permanent certificate.", + "The standard certificate for Spark plan `CustomDomain`s.", + "Blaze plan only. A certificate that covers from 1 to 100 domain names with `CustomDomain`s on the same Firebase project.", + "Blaze plan only. A certificate that covers a single domain name." + ], + "readOnly": true, + "type": "string" + }, + "verification": { + "$ref": "CertVerification", + "description": "Output only. A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting.", + "readOnly": true + } + }, + "type": "object" + }, + "Channel": { + "description": "A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the Firebase-provided subdomains and any connected custom domains.", + "id": "Channel", + "properties": { + "createTime": { + "description": "Output only. The time at which the channel was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in the output whether it's set directly or via the `ttl` field.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Text labels used for extra metadata and/or filtering.", + "type": "object" + }, + "name": { + "description": "The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID", + "type": "string" + }, + "release": { + "$ref": "Release", + "description": "Output only. The current release for the channel, if any.", "readOnly": true }, "retainedReleaseCount": { @@ -2258,6 +2657,343 @@ }, "type": "object" }, + "CustomDomain": { + "description": "A `CustomDomain` is an entity that links a domain name to a Firebase Hosting Site. Add a `CustomDomain` to your Site to allow Hosting to serve the Site's content in response to requests against your domain name.", + "id": "CustomDomain", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Annotations you can add to leave both human- and machine-readable metadata about your `CustomDomain`.", + "type": "object" + }, + "cert": { + "$ref": "Certificate", + "description": "Output only. The SSL certificate Hosting has for this `CustomDomain`'s domain name. For new `CustomDomain`s, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the `state` field for more.", + "readOnly": true + }, + "certPreference": { + "description": "A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan `CustomDomain`s only have access to the `GROUPED` cert type, while Blaze plan can select any option.", + "enum": [ + "TYPE_UNSPECIFIED", + "TEMPORARY", + "GROUPED", + "PROJECT_GROUPED", + "DEDICATED" + ], + "enumDescriptions": [ + "The certificate's type is unspecified. The message is invalid if this is unspecified.", + "A short-lived certificate type that covers a domain name temporarily, while Hosting creates a more permanent certificate.", + "The standard certificate for Spark plan `CustomDomain`s.", + "Blaze plan only. A certificate that covers from 1 to 100 domain names with `CustomDomain`s on the same Firebase project.", + "Blaze plan only. A certificate that covers a single domain name." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The `CustomDomain`'s create time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The time the `CustomDomain` was deleted; null for `CustomDomains` that haven't been deleted. Deleted `CustomDomains` persist for approximately 30 days, after which time Hosting removes them completely. To restore a deleted `CustomDomain`, make an `UndeleteCustomDomain` request.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. A string that represents the current state of the `CustomDomain` and allows you to confirm its initial state in requests that would modify it. Use the tag to ensure consistency when making `UpdateCustomDomain`, `DeleteCustomDomain`, and `UndeleteCustomDomain` requests.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The minimum time before a soft-deleted `CustomDomain` is completely removed from Hosting; null for `CustomDomains` that haven't been deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "hostState": { + "description": "Output only. The `HostState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "HOST_STATE_UNSPECIFIED", + "HOST_UNHOSTED", + "HOST_UNREACHABLE", + "HOST_MISMATCH", + "HOST_CONFLICT", + "HOST_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s host state is unspecified. The message is invalid if this is unspecified.", + "Your `CustomDomain`'s domain name isn't associated with any IP addresses.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name has IP addresses that don't ultimately resolve to Hosting.", + "Your `CustomDomain`'s domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove `A` and `AAAA` records related to non-Hosting services.", + "All requests against your `CustomDomain`'s domain name are served by Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting serves your Hosting Site's content on the domain name." + ], + "readOnly": true, + "type": "string" + }, + "issues": { + "description": "Output only. A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your `CustomDomain` behaves properly.", + "items": { + "$ref": "Status" + }, + "readOnly": true, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels used for extra metadata and/or filtering.", + "type": "object" + }, + "name": { + "description": "Output only. The fully-qualified name of the `CustomDomain`.", + "readOnly": true, + "type": "string" + }, + "ownershipState": { + "description": "Output only. The `OwnershipState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "OWNERSHIP_STATE_UNSPECIFIED", + "OWNERSHIP_MISSING", + "OWNERSHIP_UNREACHABLE", + "OWNERSHIP_MISMATCH", + "OWNERSHIP_CONFLICT", + "OWNERSHIP_PENDING", + "OWNERSHIP_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s ownership state is unspecified. This should never happen.", + "Your `CustomDomain`'s domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name is owned by another Firebase project. Remove the conflicting `TXT` records and replace them with project-specific records for your current Firebase project.", + "Your `CustomDomain`'s domain name has conflicting `TXT` records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership.", + "Your `CustomDomain`'s DNS records are configured correctly. Hosting will transfer ownership of your domain to this `CustomDomain` within 24 hours.", + "Your `CustomDomain`'s domain name has `TXT` records that grant its project permission to act on its behalf." + ], + "readOnly": true, + "type": "string" + }, + "reconciling": { + "description": "Output only. A field that, if true, indicates that Hosting's systems are attmepting to make the `CustomDomain`'s state match your preferred state. This is most frequently `true` when initially provisioning a `CustomDomain` after a `CreateCustomDomain` request or when creating a new SSL certificate to match an updated `cert_preference` after an `UpdateCustomDomain` request.", + "readOnly": true, + "type": "boolean" + }, + "redirectTarget": { + "description": "A domain name that this CustomDomain should direct traffic towards. If specified, Hosting will respond to requests against this CustomDomain with an HTTP 301 code, and route traffic to the specified `redirect_target` instead.", + "type": "string" + }, + "requiredDnsUpdates": { + "$ref": "DnsUpdates", + "description": "Output only. A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The last time the `CustomDomain` was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomDomainMetadata": { + "description": "Metadata associated with a`CustomDomain` operation.", + "id": "CustomDomainMetadata", + "properties": { + "certState": { + "description": "The `CertState` of the domain name's SSL certificate.", + "enum": [ + "CERT_STATE_UNSPECIFIED", + "CERT_PREPARING", + "CERT_VALIDATING", + "CERT_PROPAGATING", + "CERT_ACTIVE", + "CERT_EXPIRING_SOON", + "CERT_EXPIRED" + ], + "enumDescriptions": [ + "The certificate's state is unspecified. The message is invalid if this is unspecified.", + "The initial state of every certificate, represents Hosting's intent to create a certificate, before requests to a Certificate Authority are made.", + "Hosting is validating whether a domain name's DNS records are in a state that allow certificate creation on its behalf.", + "The certificate was recently created, and needs time to propagate in Hosting's CDN.", + "The certificate is active, providing secure connections for the domain names it represents.", + "The certificate is expiring, all domain names on it will be given new certificates.", + "The certificate has expired. Hosting can no longer serve secure content on your domain name." + ], + "type": "string" + }, + "hostState": { + "description": "The `HostState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "HOST_STATE_UNSPECIFIED", + "HOST_UNHOSTED", + "HOST_UNREACHABLE", + "HOST_MISMATCH", + "HOST_CONFLICT", + "HOST_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s host state is unspecified. The message is invalid if this is unspecified.", + "Your `CustomDomain`'s domain name isn't associated with any IP addresses.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name has IP addresses that don't ultimately resolve to Hosting.", + "Your `CustomDomain`'s domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove `A` and `AAAA` records related to non-Hosting services.", + "All requests against your `CustomDomain`'s domain name are served by Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting serves your Hosting Site's content on the domain name." + ], + "type": "string" + }, + "issues": { + "description": "A list of issues that are currently preventing Hosting from completing the operation. These are generally DNS-related issues that Hosting encounters when querying a domain name's records or attempting to mint an SSL certificate.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "liveMigrationSteps": { + "description": "A set of DNS record updates and ACME challenges that allow you to transition domain names to Firebase Hosting with zero downtime. These updates allow Hosting's to create an SSL certificate and establish ownership for your custom domain before Hosting begins serving traffic on it. If your domain name is already in active use with another provider, add one of the challenges and make the recommended dns updates. After adding challenges and adjusting DNS records as necessary, wait for the `ownershipState` to be `OWNERSHIP_ACTIVE` and the `certState` to be `CERT_ACTIVE` before sending traffic to Hosting.", + "items": { + "$ref": "LiveMigrationStep" + }, + "type": "array" + }, + "ownershipState": { + "description": "The `OwnershipState` of the domain name this `CustomDomain` refers to.", + "enum": [ + "OWNERSHIP_STATE_UNSPECIFIED", + "OWNERSHIP_MISSING", + "OWNERSHIP_UNREACHABLE", + "OWNERSHIP_MISMATCH", + "OWNERSHIP_CONFLICT", + "OWNERSHIP_PENDING", + "OWNERSHIP_ACTIVE" + ], + "enumDescriptions": [ + "Your `CustomDomain`'s ownership state is unspecified. This should never happen.", + "Your `CustomDomain`'s domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf.", + "Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your `CustomDomain`'s `issues` field for more details.", + "Your `CustomDomain`'s domain name is owned by another Firebase project. Remove the conflicting `TXT` records and replace them with project-specific records for your current Firebase project.", + "Your `CustomDomain`'s domain name has conflicting `TXT` records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership.", + "Your `CustomDomain`'s DNS records are configured correctly. Hosting will transfer ownership of your domain to this `CustomDomain` within 24 hours.", + "Your `CustomDomain`'s domain name has `TXT` records that grant its project permission to act on its behalf." + ], + "type": "string" + }, + "quickSetupUpdates": { + "$ref": "DnsUpdates", + "description": "A set of DNS record updates that allow Hosting to serve secure content on your domain name. The record type determines the update's purpose: - `A` and `AAAA`: Updates your domain name's IP addresses so that they direct traffic to Hosting servers. - `TXT`: Updates ownership permissions on your domain name, letting Hosting know that your custom domain's project has permission to perfrom actions for that domain name. - `CAA`: Updates your domain name's list of authorized Certificate Authorities (CAs). Only present if you have existing `CAA` records that prohibit Hosting's CA from minting certs for your domain name. These updates include all DNS changes you'll need to get started with Hosting, but, if made all at once, can result in a brief period of downtime for your domain name--while Hosting creates and uploads an SSL cert, for example. If you'd like to add your domain name to Hosting without downtime, complete the `liveMigrationSteps` first, before making the remaining updates in this field." + } + }, + "type": "object" + }, + "DnsRecord": { + "description": "DNS records are resource records that define how systems and services should behave when handling requests for a domain name. For example, when you add `A` records to your domain name's DNS records, you're informing other systems (e.g. your users' web browsers) to contact those IPv4 addresses to retrieve resources relevant to your domain name (e.g. your Hosting site files).", + "id": "DnsRecord", + "properties": { + "domainName": { + "description": "Output only. The domain name the record pertains to, e.g. `foo.bar.com.`.", + "readOnly": true, + "type": "string" + }, + "rdata": { + "description": "Output only. The data of the record. The meaning of the value depends on record type: - A and AAAA: IP addresses for the domain name. - CNAME: Another domain to check for records. - TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine a which Firebase Projects have permission to act on the domain name's behalf. - CAA: The record's flags, tag, and value, e.g. `0 issue \"pki.goog\"`.", + "readOnly": true, + "type": "string" + }, + "requiredAction": { + "description": "Output only. An enum that indicates the a required action for this record.", + "enum": [ + "NONE", + "ADD", + "REMOVE" + ], + "enumDescriptions": [ + "No action necessary.", + "Add this record to your DNS records.", + "Remove this record from your DNS records." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The record's type, which determines what data the record contains.", + "enum": [ + "TYPE_UNSPECIFIED", + "A", + "CNAME", + "TXT", + "AAAA", + "CAA" + ], + "enumDescriptions": [ + "The record's type is unspecified. The message is invalid if this is unspecified.", + "An `A` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). A records determine which IPv4 addresses a domain name directs traffic towards.", + "A `CNAME` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `CNAME` or Canonical Name records map a domain name to a different, canonical domain name. If a `CNAME` record is present, it should be the only record on the domain name.", + "A `TXT` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `TXT` records hold arbitrary text data on a domain name. Hosting uses `TXT` records to establish which Firebase Project has permission to act on a domain name.", + "An AAAA record, as defined in [RFC 3596](https://tools.ietf.org/html/rfc3596) AAAA records determine which IPv6 addresses a domain name directs traffic towards.", + "A CAA record, as defined in [RFC 6844](https://tools.ietf.org/html/rfc6844). CAA, or Certificate Authority Authorization, records determine which Certificate Authorities (SSL certificate minting organizations) are authorized to mint a certificate for the domain name. Firebase Hosting uses `pki.goog` as its primary CA. CAA records cascade. A CAA record on `foo.com` also applies to `bar.foo.com` unless `bar.foo.com` has its own set of CAA records. CAA records are optional. If a domain name and its parents have no CAA records, all CAs are authorized to mint certificates on its behalf. In general, Hosting only asks you to modify CAA records when doing so is required to unblock SSL cert creation." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsRecordSet": { + "description": "A set of DNS records relevant to the set up and maintenance of a Custom Domain in Firebase Hosting.", + "id": "DnsRecordSet", + "properties": { + "checkError": { + "$ref": "Status", + "description": "Output only. An error Hosting services encountered when querying your domain name's DNS records. Note: Hosting ignores `NXDOMAIN` errors, as those generally just mean that a domain name hasn't been set up yet.", + "readOnly": true + }, + "domainName": { + "description": "Output only. The domain name the record set pertains to.", + "readOnly": true, + "type": "string" + }, + "records": { + "description": "Output only. Records on the domain.", + "items": { + "$ref": "DnsRecord" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DnsUpdates": { + "description": "A set of DNS record updates that you should make to allow Hosting to serve secure content in response to requests against your domain name. These updates present the current state of your domain name's DNS records when Hosting last queried them, and the desired set of records that Hosting needs to see before your Custom Domain can be fully active.", + "id": "DnsUpdates", + "properties": { + "checkTime": { + "description": "The last time Hosting checked your CustomDomain's DNS records.", + "format": "google-datetime", + "type": "string" + }, + "desired": { + "description": "The set of DNS records Hosting needs to serve secure content on the domain.", + "items": { + "$ref": "DnsRecordSet" + }, + "type": "array" + }, + "discovered": { + "description": "The set of DNS records Hosting discovered when inspecting a domain.", + "items": { + "$ref": "DnsRecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, "Domain": { "description": "The intended behavior and status information of a domain.", "id": "Domain", @@ -2445,6 +3181,39 @@ }, "type": "object" }, + "HttpUpdate": { + "description": "A file you can add to your existing, non-Hosting hosting service that confirms your intent to allow Hosting's Certificate Authorities to create an SSL certificate for your domain.", + "id": "HttpUpdate", + "properties": { + "checkError": { + "$ref": "Status", + "description": "Output only. An error encountered during the last contents check. If null, the check completed successfully.", + "readOnly": true + }, + "desired": { + "description": "Output only. A text string to serve at the path.", + "readOnly": true, + "type": "string" + }, + "discovered": { + "description": "Output only. Whether Hosting was able to find the required file contents on the specified path during its last check.", + "readOnly": true, + "type": "string" + }, + "lastCheckTime": { + "description": "Output only. The last time Hosting systems checked for the file contents.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "path": { + "description": "Output only. The path to the file.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "I18nConfig": { "description": "If provided, i18n rewrites are enabled.", "id": "I18nConfig", @@ -2473,6 +3242,24 @@ }, "type": "object" }, + "ListCustomDomainsResponse": { + "description": "The response from `ListCustomDomains`.", + "id": "ListCustomDomainsResponse", + "properties": { + "customDomains": { + "description": "A list of `CustomDomain` entities associated with the specified Firebase `Site`.", + "items": { + "$ref": "CustomDomain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token, if more results exist beyond the ones in this response. Include this token in your next call to `ListCustomDomains`. Page tokens are short-lived and should not be stored.", + "type": "string" + } + }, + "type": "object" + }, "ListDomainsResponse": { "description": "The response to listing Domains.", "id": "ListDomainsResponse", @@ -2491,6 +3278,24 @@ }, "type": "object" }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, "ListReleasesResponse": { "id": "ListReleasesResponse", "properties": { @@ -2559,6 +3364,52 @@ }, "type": "object" }, + "LiveMigrationStep": { + "description": "A set of updates including ACME challenges and DNS records that allow Hosting to create an SSL certificate and establish project ownership for your domain name before you direct traffic to Hosting servers. Use these updates to facilitate zero downtime migrations to Hosting from other services. After you've made the recommended updates, check your custom domain's `ownershipState` and `certState`. To avoid downtime, they should be `OWNERSHIP_ACTIVE` and `CERT_ACTIVE`, respectively, before you update your `A` and `AAAA` records.", + "id": "LiveMigrationStep", + "properties": { + "certVerification": { + "$ref": "CertVerification", + "description": "Output only. A pair of ACME challenges that Hosting's Certificate Authority (CA) can use to create an SSL cert for your domain name. Use either the DNS or HTTP challenge; it's not necessary to provide both.", + "readOnly": true + }, + "dnsUpdates": { + "$ref": "DnsUpdates", + "description": "Output only. DNS updates to facilitate your domain's zero-downtime migration to Hosting.", + "readOnly": true + }, + "issues": { + "description": "Output only. Issues that prevent the current step from completing.", + "items": { + "$ref": "Status" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. The state of the live migration step, indicates whether you should work to complete the step now, in the future, or have already completed it.", + "enum": [ + "STATE_UNSPECIFIED", + "PREPARING", + "PENDING", + "INCOMPLETE", + "PROCESSING", + "COMPLETE" + ], + "enumDescriptions": [ + "The step's state is unspecified. The message is invalid if this is unspecified.", + "Hosting doesn't have enough information to construct the step yet. Complete any prior steps and/or resolve this step's issue to proceed.", + "The step's state is pending. Complete prior steps before working on a `PENDING` step.", + "The step is incomplete. You should complete any `certVerification` or `dnsUpdates` changes to complete it.", + "You've done your part to update records and present challenges as necessary. Hosting is now completing background processes to complete the step, e.g. minting an SSL cert for your domain name.", + "The step is complete. You've already made the necessary changes to your domain and/or prior hosting service to advance to the next step. Once all steps are complete, Hosting is ready to serve secure content on your domain." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -2889,6 +3740,21 @@ }, "type": "object" }, + "UndeleteCustomDomainRequest": { + "description": "The request sent to `UndeleteCustomDomain`.", + "id": "UndeleteCustomDomainRequest", + "properties": { + "etag": { + "description": "A tag that represents the state of the `CustomDomain` as you know it. If present, the supplied tag must match the current value on your `CustomDomain`, or the request fails.", + "type": "string" + }, + "validateOnly": { + "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually delete the `CustomDomain`.", + "type": "boolean" + } + }, + "type": "object" + }, "Version": { "description": "A `Version` is a configuration and a collection of static files which determine how a site is displayed.", "id": "Version", diff --git a/firebasehosting/v1beta1/firebasehosting-gen.go b/firebasehosting/v1beta1/firebasehosting-gen.go index 0074b903513..a1642367481 100644 --- a/firebasehosting/v1beta1/firebasehosting-gen.go +++ b/firebasehosting/v1beta1/firebasehosting-gen.go @@ -199,6 +199,7 @@ type ProjectsOperationsService struct { func NewProjectsSitesService(s *Service) *ProjectsSitesService { rs := &ProjectsSitesService{s: s} rs.Channels = NewProjectsSitesChannelsService(s) + rs.CustomDomains = NewProjectsSitesCustomDomainsService(s) rs.Domains = NewProjectsSitesDomainsService(s) rs.Releases = NewProjectsSitesReleasesService(s) rs.Versions = NewProjectsSitesVersionsService(s) @@ -210,6 +211,8 @@ type ProjectsSitesService struct { Channels *ProjectsSitesChannelsService + CustomDomains *ProjectsSitesCustomDomainsService + Domains *ProjectsSitesDomainsService Releases *ProjectsSitesReleasesService @@ -238,6 +241,27 @@ type ProjectsSitesChannelsReleasesService struct { s *Service } +func NewProjectsSitesCustomDomainsService(s *Service) *ProjectsSitesCustomDomainsService { + rs := &ProjectsSitesCustomDomainsService{s: s} + rs.Operations = NewProjectsSitesCustomDomainsOperationsService(s) + return rs +} + +type ProjectsSitesCustomDomainsService struct { + s *Service + + Operations *ProjectsSitesCustomDomainsOperationsService +} + +func NewProjectsSitesCustomDomainsOperationsService(s *Service) *ProjectsSitesCustomDomainsOperationsService { + rs := &ProjectsSitesCustomDomainsOperationsService{s: s} + return rs +} + +type ProjectsSitesCustomDomainsOperationsService struct { + s *Service +} + func NewProjectsSitesDomainsService(s *Service) *ProjectsSitesDomainsService { rs := &ProjectsSitesDomainsService{s: s} return rs @@ -458,6 +482,138 @@ func (s *CertHttpChallenge) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CertVerification: A set of ACME challenges you can use to allow +// Hosting to create an SSL certificate for your domain name before +// directing traffic to Hosting servers. Use either the DNS or HTTP +// challenge; it's not necessary to provide both. +type CertVerification struct { + // Dns: Output only. A `TXT` record to add to your DNS records that + // confirms your intent to let Hosting create an SSL cert for your + // domain name. + Dns *DnsUpdates `json:"dns,omitempty"` + + // Http: Output only. A file to add to your existing, non-Hosting + // hosting service that confirms your intent to let Hosting create an + // SSL cert for your domain name. + Http *HttpUpdate `json:"http,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Dns") 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. "Dns") 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 *CertVerification) MarshalJSON() ([]byte, error) { + type NoMethod CertVerification + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Certificate: An SSL certificate used to provide end-to-end encryption +// for requests against your domain name. A `Certificate` can be an +// actual SSL certificate or, for newly-created Custom Domains, +// Hosting's intent to create one. +type Certificate struct { + // CreateTime: Output only. The certificate's creation time. For + // `TEMPORARY` certs this is the time Hosting first generated challenges + // for your domain name. For all other cert types, it's the time the + // actual cert was created. + CreateTime string `json:"createTime,omitempty"` + + // ExpireTime: Output only. The certificate's expiration time. After + // this time, the cert can no longer be used to provide secure + // communication between Hosting and your Site's visitors. + ExpireTime string `json:"expireTime,omitempty"` + + // Issues: Output only. A set of errors Hosting encountered when + // attempting to create a cert for your domain name. Resolve these + // issues to ensure Hosting is able to provide secure communication with + // your site's visitors. + Issues []*Status `json:"issues,omitempty"` + + // State: Output only. The state of the certificate. Only the + // `CERT_ACTIVE` and `CERT_EXPIRING_SOON` states provide SSL coverage + // for a domain name. If the state is `PROPAGATING` and Hosting had an + // active cert for the domain name before, that formerly-active cert + // provides SSL coverage for the domain name until the current cert + // propagates. + // + // Possible values: + // "CERT_STATE_UNSPECIFIED" - The certificate's state is unspecified. + // The message is invalid if this is unspecified. + // "CERT_PREPARING" - The initial state of every certificate, + // represents Hosting's intent to create a certificate, before requests + // to a Certificate Authority are made. + // "CERT_VALIDATING" - Hosting is validating whether a domain name's + // DNS records are in a state that allow certificate creation on its + // behalf. + // "CERT_PROPAGATING" - The certificate was recently created, and + // needs time to propagate in Hosting's CDN. + // "CERT_ACTIVE" - The certificate is active, providing secure + // connections for the domain names it represents. + // "CERT_EXPIRING_SOON" - The certificate is expiring, all domain + // names on it will be given new certificates. + // "CERT_EXPIRED" - The certificate has expired. Hosting can no longer + // serve secure content on your domain name. + State string `json:"state,omitempty"` + + // Type: Output only. The certificate's type. + // + // Possible values: + // "TYPE_UNSPECIFIED" - The certificate's type is unspecified. The + // message is invalid if this is unspecified. + // "TEMPORARY" - A short-lived certificate type that covers a domain + // name temporarily, while Hosting creates a more permanent certificate. + // "GROUPED" - The standard certificate for Spark plan + // `CustomDomain`s. + // "PROJECT_GROUPED" - Blaze plan only. A certificate that covers from + // 1 to 100 domain names with `CustomDomain`s on the same Firebase + // project. + // "DEDICATED" - Blaze plan only. A certificate that covers a single + // domain name. + Type string `json:"type,omitempty"` + + // Verification: Output only. A set of ACME challenges you can add to + // your DNS records or existing, non-Hosting hosting provider to allow + // Hosting to create an SSL certificate for your domain name before you + // point traffic toward hosting. You can use thse challenges as part of + // a zero downtime transition from your old provider to Hosting. + Verification *CertVerification `json:"verification,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") 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. "CreateTime") 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 *Certificate) MarshalJSON() ([]byte, error) { + type NoMethod Certificate + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Channel: A `Channel` represents a stream of releases for a site. All // sites have a default `live` channel that serves content to the // Firebase-provided subdomains and any connected custom domains. @@ -613,6 +769,479 @@ func (s *CloudRunRewrite) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CustomDomain: A `CustomDomain` is an entity that links a domain name +// to a Firebase Hosting Site. Add a `CustomDomain` to your Site to +// allow Hosting to serve the Site's content in response to requests +// against your domain name. +type CustomDomain struct { + // Annotations: Annotations you can add to leave both human- and + // machine-readable metadata about your `CustomDomain`. + Annotations map[string]string `json:"annotations,omitempty"` + + // Cert: Output only. The SSL certificate Hosting has for this + // `CustomDomain`'s domain name. For new `CustomDomain`s, this often + // represents Hosting's intent to create a certificate, rather than an + // actual cert. Check the `state` field for more. + Cert *Certificate `json:"cert,omitempty"` + + // CertPreference: A field that lets you specify which SSL certificate + // type Hosting creates for your domain name. Spark plan `CustomDomain`s + // only have access to the `GROUPED` cert type, while Blaze plan can + // select any option. + // + // Possible values: + // "TYPE_UNSPECIFIED" - The certificate's type is unspecified. The + // message is invalid if this is unspecified. + // "TEMPORARY" - A short-lived certificate type that covers a domain + // name temporarily, while Hosting creates a more permanent certificate. + // "GROUPED" - The standard certificate for Spark plan + // `CustomDomain`s. + // "PROJECT_GROUPED" - Blaze plan only. A certificate that covers from + // 1 to 100 domain names with `CustomDomain`s on the same Firebase + // project. + // "DEDICATED" - Blaze plan only. A certificate that covers a single + // domain name. + CertPreference string `json:"certPreference,omitempty"` + + // CreateTime: Output only. The `CustomDomain`'s create time. + CreateTime string `json:"createTime,omitempty"` + + // DeleteTime: Output only. The time the `CustomDomain` was deleted; + // null for `CustomDomains` that haven't been deleted. Deleted + // `CustomDomains` persist for approximately 30 days, after which time + // Hosting removes them completely. To restore a deleted `CustomDomain`, + // make an `UndeleteCustomDomain` request. + DeleteTime string `json:"deleteTime,omitempty"` + + // Etag: Output only. A string that represents the current state of the + // `CustomDomain` and allows you to confirm its initial state in + // requests that would modify it. Use the tag to ensure consistency when + // making `UpdateCustomDomain`, `DeleteCustomDomain`, and + // `UndeleteCustomDomain` requests. + Etag string `json:"etag,omitempty"` + + // ExpireTime: Output only. The minimum time before a soft-deleted + // `CustomDomain` is completely removed from Hosting; null for + // `CustomDomains` that haven't been deleted. + ExpireTime string `json:"expireTime,omitempty"` + + // HostState: Output only. The `HostState` of the domain name this + // `CustomDomain` refers to. + // + // Possible values: + // "HOST_STATE_UNSPECIFIED" - Your `CustomDomain`'s host state is + // unspecified. The message is invalid if this is unspecified. + // "HOST_UNHOSTED" - Your `CustomDomain`'s domain name isn't + // associated with any IP addresses. + // "HOST_UNREACHABLE" - Your `CustomDomain`'s domain name can't be + // reached. Hosting services' DNS queries to find your domain name's IP + // addresses resulted in errors. See your `CustomDomain`'s `issues` + // field for more details. + // "HOST_MISMATCH" - Your `CustomDomain`'s domain name has IP + // addresses that don't ultimately resolve to Hosting. + // "HOST_CONFLICT" - Your `CustomDomain`'s domain name has IP + // addresses that resolve to both Hosting and other services. To ensure + // consistent results, remove `A` and `AAAA` records related to + // non-Hosting services. + // "HOST_ACTIVE" - All requests against your `CustomDomain`'s domain + // name are served by Hosting. If the `CustomDomain`'s `OwnershipState` + // is also `ACTIVE`, Hosting serves your Hosting Site's content on the + // domain name. + HostState string `json:"hostState,omitempty"` + + // Issues: Output only. A set of errors Hosting systems encountered when + // trying to establish Hosting's ability to serve secure content for + // your domain name. Resolve these issues to ensure your `CustomDomain` + // behaves properly. + Issues []*Status `json:"issues,omitempty"` + + // Labels: Labels used for extra metadata and/or filtering. + Labels map[string]string `json:"labels,omitempty"` + + // Name: Output only. The fully-qualified name of the `CustomDomain`. + Name string `json:"name,omitempty"` + + // OwnershipState: Output only. The `OwnershipState` of the domain name + // this `CustomDomain` refers to. + // + // Possible values: + // "OWNERSHIP_STATE_UNSPECIFIED" - Your `CustomDomain`'s ownership + // state is unspecified. This should never happen. + // "OWNERSHIP_MISSING" - Your `CustomDomain`'s domain name has no + // Hosting-related ownership records; no Firebase project has permission + // to act on the domain name's behalf. + // "OWNERSHIP_UNREACHABLE" - Your `CustomDomain`'s domain name can't + // be reached. Hosting services' DNS queries to find your domain name's + // ownership records resulted in errors. See your `CustomDomain`'s + // `issues` field for more details. + // "OWNERSHIP_MISMATCH" - Your `CustomDomain`'s domain name is owned + // by another Firebase project. Remove the conflicting `TXT` records and + // replace them with project-specific records for your current Firebase + // project. + // "OWNERSHIP_CONFLICT" - Your `CustomDomain`'s domain name has + // conflicting `TXT` records that indicate ownership by both your + // current Firebase project and another project. Remove the other + // project's ownership records to grant the current project ownership. + // "OWNERSHIP_PENDING" - Your `CustomDomain`'s DNS records are + // configured correctly. Hosting will transfer ownership of your domain + // to this `CustomDomain` within 24 hours. + // "OWNERSHIP_ACTIVE" - Your `CustomDomain`'s domain name has `TXT` + // records that grant its project permission to act on its behalf. + OwnershipState string `json:"ownershipState,omitempty"` + + // Reconciling: Output only. A field that, if true, indicates that + // Hosting's systems are attmepting to make the `CustomDomain`'s state + // match your preferred state. This is most frequently `true` when + // initially provisioning a `CustomDomain` after a `CreateCustomDomain` + // request or when creating a new SSL certificate to match an updated + // `cert_preference` after an `UpdateCustomDomain` request. + Reconciling bool `json:"reconciling,omitempty"` + + // RedirectTarget: A domain name that this CustomDomain should direct + // traffic towards. If specified, Hosting will respond to requests + // against this CustomDomain with an HTTP 301 code, and route traffic to + // the specified `redirect_target` instead. + RedirectTarget string `json:"redirectTarget,omitempty"` + + // RequiredDnsUpdates: Output only. A set of updates you should make to + // the domain name's DNS records to let Hosting serve secure content on + // its behalf. + RequiredDnsUpdates *DnsUpdates `json:"requiredDnsUpdates,omitempty"` + + // UpdateTime: Output only. The last time the `CustomDomain` was + // updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Annotations") 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. "Annotations") 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 *CustomDomain) MarshalJSON() ([]byte, error) { + type NoMethod CustomDomain + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomDomainMetadata: Metadata associated with a`CustomDomain` +// operation. +type CustomDomainMetadata struct { + // CertState: The `CertState` of the domain name's SSL certificate. + // + // Possible values: + // "CERT_STATE_UNSPECIFIED" - The certificate's state is unspecified. + // The message is invalid if this is unspecified. + // "CERT_PREPARING" - The initial state of every certificate, + // represents Hosting's intent to create a certificate, before requests + // to a Certificate Authority are made. + // "CERT_VALIDATING" - Hosting is validating whether a domain name's + // DNS records are in a state that allow certificate creation on its + // behalf. + // "CERT_PROPAGATING" - The certificate was recently created, and + // needs time to propagate in Hosting's CDN. + // "CERT_ACTIVE" - The certificate is active, providing secure + // connections for the domain names it represents. + // "CERT_EXPIRING_SOON" - The certificate is expiring, all domain + // names on it will be given new certificates. + // "CERT_EXPIRED" - The certificate has expired. Hosting can no longer + // serve secure content on your domain name. + CertState string `json:"certState,omitempty"` + + // HostState: The `HostState` of the domain name this `CustomDomain` + // refers to. + // + // Possible values: + // "HOST_STATE_UNSPECIFIED" - Your `CustomDomain`'s host state is + // unspecified. The message is invalid if this is unspecified. + // "HOST_UNHOSTED" - Your `CustomDomain`'s domain name isn't + // associated with any IP addresses. + // "HOST_UNREACHABLE" - Your `CustomDomain`'s domain name can't be + // reached. Hosting services' DNS queries to find your domain name's IP + // addresses resulted in errors. See your `CustomDomain`'s `issues` + // field for more details. + // "HOST_MISMATCH" - Your `CustomDomain`'s domain name has IP + // addresses that don't ultimately resolve to Hosting. + // "HOST_CONFLICT" - Your `CustomDomain`'s domain name has IP + // addresses that resolve to both Hosting and other services. To ensure + // consistent results, remove `A` and `AAAA` records related to + // non-Hosting services. + // "HOST_ACTIVE" - All requests against your `CustomDomain`'s domain + // name are served by Hosting. If the `CustomDomain`'s `OwnershipState` + // is also `ACTIVE`, Hosting serves your Hosting Site's content on the + // domain name. + HostState string `json:"hostState,omitempty"` + + // Issues: A list of issues that are currently preventing Hosting from + // completing the operation. These are generally DNS-related issues that + // Hosting encounters when querying a domain name's records or + // attempting to mint an SSL certificate. + Issues []*Status `json:"issues,omitempty"` + + // LiveMigrationSteps: A set of DNS record updates and ACME challenges + // that allow you to transition domain names to Firebase Hosting with + // zero downtime. These updates allow Hosting's to create an SSL + // certificate and establish ownership for your custom domain before + // Hosting begins serving traffic on it. If your domain name is already + // in active use with another provider, add one of the challenges and + // make the recommended dns updates. After adding challenges and + // adjusting DNS records as necessary, wait for the `ownershipState` to + // be `OWNERSHIP_ACTIVE` and the `certState` to be `CERT_ACTIVE` before + // sending traffic to Hosting. + LiveMigrationSteps []*LiveMigrationStep `json:"liveMigrationSteps,omitempty"` + + // OwnershipState: The `OwnershipState` of the domain name this + // `CustomDomain` refers to. + // + // Possible values: + // "OWNERSHIP_STATE_UNSPECIFIED" - Your `CustomDomain`'s ownership + // state is unspecified. This should never happen. + // "OWNERSHIP_MISSING" - Your `CustomDomain`'s domain name has no + // Hosting-related ownership records; no Firebase project has permission + // to act on the domain name's behalf. + // "OWNERSHIP_UNREACHABLE" - Your `CustomDomain`'s domain name can't + // be reached. Hosting services' DNS queries to find your domain name's + // ownership records resulted in errors. See your `CustomDomain`'s + // `issues` field for more details. + // "OWNERSHIP_MISMATCH" - Your `CustomDomain`'s domain name is owned + // by another Firebase project. Remove the conflicting `TXT` records and + // replace them with project-specific records for your current Firebase + // project. + // "OWNERSHIP_CONFLICT" - Your `CustomDomain`'s domain name has + // conflicting `TXT` records that indicate ownership by both your + // current Firebase project and another project. Remove the other + // project's ownership records to grant the current project ownership. + // "OWNERSHIP_PENDING" - Your `CustomDomain`'s DNS records are + // configured correctly. Hosting will transfer ownership of your domain + // to this `CustomDomain` within 24 hours. + // "OWNERSHIP_ACTIVE" - Your `CustomDomain`'s domain name has `TXT` + // records that grant its project permission to act on its behalf. + OwnershipState string `json:"ownershipState,omitempty"` + + // QuickSetupUpdates: A set of DNS record updates that allow Hosting to + // serve secure content on your domain name. The record type determines + // the update's purpose: - `A` and `AAAA`: Updates your domain name's IP + // addresses so that they direct traffic to Hosting servers. - `TXT`: + // Updates ownership permissions on your domain name, letting Hosting + // know that your custom domain's project has permission to perfrom + // actions for that domain name. - `CAA`: Updates your domain name's + // list of authorized Certificate Authorities (CAs). Only present if you + // have existing `CAA` records that prohibit Hosting's CA from minting + // certs for your domain name. These updates include all DNS changes + // you'll need to get started with Hosting, but, if made all at once, + // can result in a brief period of downtime for your domain name--while + // Hosting creates and uploads an SSL cert, for example. If you'd like + // to add your domain name to Hosting without downtime, complete the + // `liveMigrationSteps` first, before making the remaining updates in + // this field. + QuickSetupUpdates *DnsUpdates `json:"quickSetupUpdates,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertState") 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. "CertState") 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 *CustomDomainMetadata) MarshalJSON() ([]byte, error) { + type NoMethod CustomDomainMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsRecord: DNS records are resource records that define how systems +// and services should behave when handling requests for a domain name. +// For example, when you add `A` records to your domain name's DNS +// records, you're informing other systems (e.g. your users' web +// browsers) to contact those IPv4 addresses to retrieve resources +// relevant to your domain name (e.g. your Hosting site files). +type DnsRecord struct { + // DomainName: Output only. The domain name the record pertains to, e.g. + // `foo.bar.com.`. + DomainName string `json:"domainName,omitempty"` + + // Rdata: Output only. The data of the record. The meaning of the value + // depends on record type: - A and AAAA: IP addresses for the domain + // name. - CNAME: Another domain to check for records. - TXT: Arbitrary + // text strings associated with the domain name. Hosting uses TXT + // records to determine a which Firebase Projects have permission to act + // on the domain name's behalf. - CAA: The record's flags, tag, and + // value, e.g. `0 issue "pki.goog". + Rdata string `json:"rdata,omitempty"` + + // RequiredAction: Output only. An enum that indicates the a required + // action for this record. + // + // Possible values: + // "NONE" - No action necessary. + // "ADD" - Add this record to your DNS records. + // "REMOVE" - Remove this record from your DNS records. + RequiredAction string `json:"requiredAction,omitempty"` + + // Type: Output only. The record's type, which determines what data the + // record contains. + // + // Possible values: + // "TYPE_UNSPECIFIED" - The record's type is unspecified. The message + // is invalid if this is unspecified. + // "A" - An `A` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). A records determine which + // IPv4 addresses a domain name directs traffic towards. + // "CNAME" - A `CNAME` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). `CNAME` or Canonical Name + // records map a domain name to a different, canonical domain name. If a + // `CNAME` record is present, it should be the only record on the domain + // name. + // "TXT" - A `TXT` record, as defined in [RFC + // 1035](https://tools.ietf.org/html/rfc1035). `TXT` records hold + // arbitrary text data on a domain name. Hosting uses `TXT` records to + // establish which Firebase Project has permission to act on a domain + // name. + // "AAAA" - An AAAA record, as defined in [RFC + // 3596](https://tools.ietf.org/html/rfc3596) AAAA records determine + // which IPv6 addresses a domain name directs traffic towards. + // "CAA" - A CAA record, as defined in [RFC + // 6844](https://tools.ietf.org/html/rfc6844). CAA, or Certificate + // Authority Authorization, records determine which Certificate + // Authorities (SSL certificate minting organizations) are authorized to + // mint a certificate for the domain name. Firebase Hosting uses + // `pki.goog` as its primary CA. CAA records cascade. A CAA record on + // `foo.com` also applies to `bar.foo.com` unless `bar.foo.com` has its + // own set of CAA records. CAA records are optional. If a domain name + // and its parents have no CAA records, all CAs are authorized to mint + // certificates on its behalf. In general, Hosting only asks you to + // modify CAA records when doing so is required to unblock SSL cert + // creation. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DomainName") 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. "DomainName") 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 *DnsRecord) MarshalJSON() ([]byte, error) { + type NoMethod DnsRecord + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsRecordSet: A set of DNS records relevant to the set up and +// maintenance of a Custom Domain in Firebase Hosting. +type DnsRecordSet struct { + // CheckError: Output only. An error Hosting services encountered when + // querying your domain name's DNS records. Note: Hosting ignores + // `NXDOMAIN` errors, as those generally just mean that a domain name + // hasn't been set up yet. + CheckError *Status `json:"checkError,omitempty"` + + // DomainName: Output only. The domain name the record set pertains to. + DomainName string `json:"domainName,omitempty"` + + // Records: Output only. Records on the domain. + Records []*DnsRecord `json:"records,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckError") 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. "CheckError") 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 *DnsRecordSet) MarshalJSON() ([]byte, error) { + type NoMethod DnsRecordSet + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DnsUpdates: A set of DNS record updates that you should make to allow +// Hosting to serve secure content in response to requests against your +// domain name. These updates present the current state of your domain +// name's DNS records when Hosting last queried them, and the desired +// set of records that Hosting needs to see before your Custom Domain +// can be fully active. +type DnsUpdates struct { + // CheckTime: The last time Hosting checked your CustomDomain's DNS + // records. + CheckTime string `json:"checkTime,omitempty"` + + // Desired: The set of DNS records Hosting needs to serve secure content + // on the domain. + Desired []*DnsRecordSet `json:"desired,omitempty"` + + // Discovered: The set of DNS records Hosting discovered when inspecting + // a domain. + Discovered []*DnsRecordSet `json:"discovered,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckTime") 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. "CheckTime") 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 *DnsUpdates) MarshalJSON() ([]byte, error) { + type NoMethod DnsUpdates + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Domain: The intended behavior and status information of a domain. type Domain struct { // DomainName: Required. The domain name of the association. @@ -853,6 +1482,51 @@ func (s *Header) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HttpUpdate: A file you can add to your existing, non-Hosting hosting +// service that confirms your intent to allow Hosting's Certificate +// Authorities to create an SSL certificate for your domain. +type HttpUpdate struct { + // CheckError: Output only. An error encountered during the last + // contents check. If null, the check completed successfully. + CheckError *Status `json:"checkError,omitempty"` + + // Desired: Output only. A text string to serve at the path. + Desired string `json:"desired,omitempty"` + + // Discovered: Output only. Whether Hosting was able to find the + // required file contents on the specified path during its last check. + Discovered string `json:"discovered,omitempty"` + + // LastCheckTime: Output only. The last time Hosting systems checked for + // the file contents. + LastCheckTime string `json:"lastCheckTime,omitempty"` + + // Path: Output only. The path to the file. + Path string `json:"path,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CheckError") 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. "CheckError") 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 *HttpUpdate) MarshalJSON() ([]byte, error) { + type NoMethod HttpUpdate + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // I18nConfig: If provided, i18n rewrites are enabled. type I18nConfig struct { // Root: Required. The user-supplied path where country and language @@ -918,19 +1592,23 @@ func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListDomainsResponse: The response to listing Domains. -type ListDomainsResponse struct { - // Domains: The list of domains, if any exist. - Domains []*Domain `json:"domains,omitempty"` +// ListCustomDomainsResponse: The response from `ListCustomDomains`. +type ListCustomDomainsResponse struct { + // CustomDomains: A list of `CustomDomain` entities associated with the + // specified Firebase `Site`. + CustomDomains []*CustomDomain `json:"customDomains,omitempty"` - // NextPageToken: The pagination token, if more results exist. + // NextPageToken: The pagination token, if more results exist beyond the + // ones in this response. Include this token in your next call to + // `ListCustomDomains`. Page tokens are short-lived and should not be + // stored. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Domains") to + // ForceSendFields is a list of field names (e.g. "CustomDomains") 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 @@ -938,12 +1616,47 @@ type ListDomainsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Domains") 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. "CustomDomains") 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 *ListCustomDomainsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListCustomDomainsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDomainsResponse: The response to listing Domains. +type ListDomainsResponse struct { + // Domains: The list of domains, if any exist. + Domains []*Domain `json:"domains,omitempty"` + + // NextPageToken: The pagination token, if more results exist. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Domains") 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. "Domains") 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:"-"` } @@ -953,6 +1666,43 @@ func (s *ListDomainsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListOperationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ListReleasesResponse struct { // NextPageToken: The pagination token, if more results exist beyond the // ones in this response. Include this token in your next call to @@ -1101,6 +1851,78 @@ func (s *ListVersionsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LiveMigrationStep: A set of updates including ACME challenges and DNS +// records that allow Hosting to create an SSL certificate and establish +// project ownership for your domain name before you direct traffic to +// Hosting servers. Use these updates to facilitate zero downtime +// migrations to Hosting from other services. After you've made the +// recommended updates, check your custom domain's `ownershipState` and +// `certState`. To avoid downtime, they should be `OWNERSHIP_ACTIVE` and +// `CERT_ACTIVE`, respectively, before you update your `A` and `AAAA` +// records. +type LiveMigrationStep struct { + // CertVerification: Output only. A pair of ACME challenges that + // Hosting's Certificate Authority (CA) can use to create an SSL cert + // for your domain name. Use either the DNS or HTTP challenge; it's not + // necessary to provide both. + CertVerification *CertVerification `json:"certVerification,omitempty"` + + // DnsUpdates: Output only. DNS updates to facilitate your domain's + // zero-downtime migration to Hosting. + DnsUpdates *DnsUpdates `json:"dnsUpdates,omitempty"` + + // Issues: Output only. Issues that prevent the current step from + // completing. + Issues []*Status `json:"issues,omitempty"` + + // State: Output only. The state of the live migration step, indicates + // whether you should work to complete the step now, in the future, or + // have already completed it. + // + // Possible values: + // "STATE_UNSPECIFIED" - The step's state is unspecified. The message + // is invalid if this is unspecified. + // "PREPARING" - Hosting doesn't have enough information to construct + // the step yet. Complete any prior steps and/or resolve this step's + // issue to proceed. + // "PENDING" - The step's state is pending. Complete prior steps + // before working on a `PENDING` step. + // "INCOMPLETE" - The step is incomplete. You should complete any + // `certVerification` or `dnsUpdates` changes to complete it. + // "PROCESSING" - You've done your part to update records and present + // challenges as necessary. Hosting is now completing background + // processes to complete the step, e.g. minting an SSL cert for your + // domain name. + // "COMPLETE" - The step is complete. You've already made the + // necessary changes to your domain and/or prior hosting service to + // advance to the next step. Once all steps are complete, Hosting is + // ready to serve secure content on your domain. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertVerification") 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. "CertVerification") 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 *LiveMigrationStep) MarshalJSON() ([]byte, error) { + type NoMethod LiveMigrationStep + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Operation: This resource represents a long-running operation that is // the result of a network API call. type Operation struct { @@ -1664,6 +2486,41 @@ func (s *Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UndeleteCustomDomainRequest: The request sent to +// `UndeleteCustomDomain`. +type UndeleteCustomDomainRequest struct { + // Etag: A tag that represents the state of the `CustomDomain` as you + // know it. If present, the supplied tag must match the current value on + // your `CustomDomain`, or the request fails. + Etag string `json:"etag,omitempty"` + + // ValidateOnly: If true, Hosting validates that it's possible to + // complete your request but doesn't actually delete the `CustomDomain`. + ValidateOnly bool `json:"validateOnly,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Etag") 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. "Etag") 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 *UndeleteCustomDomainRequest) MarshalJSON() ([]byte, error) { + type NoMethod UndeleteCustomDomainRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Version: A `Version` is a configuration and a collection of static // files which determine how a site is displayed. type Version struct { @@ -4418,6 +5275,1397 @@ func (c *ProjectsSitesChannelsReleasesListCall) Pages(ctx context.Context, f fun } } +// method id "firebasehosting.projects.sites.customDomains.create": + +type ProjectsSitesCustomDomainsCreateCall struct { + s *Service + parent string + customdomain *CustomDomain + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a `CustomDomain`. +// +// - parent: The `CustomDomain`'s parent, specifically a Firebase +// Hosting `Site`. +func (r *ProjectsSitesCustomDomainsService) Create(parent string, customdomain *CustomDomain) *ProjectsSitesCustomDomainsCreateCall { + c := &ProjectsSitesCustomDomainsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.customdomain = customdomain + return c +} + +// CustomDomainId sets the optional parameter "customDomainId": +// Required. The ID of the `CustomDomain`, which is the domain name +// you'd like to use with Firebase Hosting. +func (c *ProjectsSitesCustomDomainsCreateCall) CustomDomainId(customDomainId string) *ProjectsSitesCustomDomainsCreateCall { + c.urlParams_.Set("customDomainId", customDomainId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If true, +// Hosting validates that it's possible to complete your request but +// doesn't actually create a new `CustomDomain`. +func (c *ProjectsSitesCustomDomainsCreateCall) ValidateOnly(validateOnly bool) *ProjectsSitesCustomDomainsCreateCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsCreateCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsCreateCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.customdomain) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/customDomains") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a `CustomDomain`.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains", + // "httpMethod": "POST", + // "id": "firebasehosting.projects.sites.customDomains.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "customDomainId": { + // "description": "Required. The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The `CustomDomain`'s parent, specifically a Firebase Hosting `Site`.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "validateOnly": { + // "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually create a new `CustomDomain`.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "v1beta1/{+parent}/customDomains", + // "request": { + // "$ref": "CustomDomain" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.delete": + +type ProjectsSitesCustomDomainsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified `CustomDomain`. +// +// - name: The name of the `CustomDomain` to delete. +func (r *ProjectsSitesCustomDomainsService) Delete(name string) *ProjectsSitesCustomDomainsDeleteCall { + c := &ProjectsSitesCustomDomainsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true, the +// request succeeds even if the `CustomDomain` doesn't exist. +func (c *ProjectsSitesCustomDomainsDeleteCall) AllowMissing(allowMissing bool) *ProjectsSitesCustomDomainsDeleteCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// Etag sets the optional parameter "etag": A tag that represents the +// state of the `CustomDomain` as you know it. If present, the supplied +// tag must match the current value on your `CustomDomain`, or the +// request fails. +func (c *ProjectsSitesCustomDomainsDeleteCall) Etag(etag string) *ProjectsSitesCustomDomainsDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If true, +// Hosting validates that it's possible to complete your request but +// doesn't actually delete the `CustomDomain`. +func (c *ProjectsSitesCustomDomainsDeleteCall) ValidateOnly(validateOnly bool) *ProjectsSitesCustomDomainsDeleteCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsDeleteCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsDeleteCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified `CustomDomain`.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + // "httpMethod": "DELETE", + // "id": "firebasehosting.projects.sites.customDomains.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "allowMissing": { + // "description": "If true, the request succeeds even if the `CustomDomain` doesn't exist.", + // "location": "query", + // "type": "boolean" + // }, + // "etag": { + // "description": "A tag that represents the state of the `CustomDomain` as you know it. If present, the supplied tag must match the current value on your `CustomDomain`, or the request fails.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "Required. The name of the `CustomDomain` to delete.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "validateOnly": { + // "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually delete the `CustomDomain`.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.get": + +type ProjectsSitesCustomDomainsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified `CustomDomain`. +// +// - name: The name of the `CustomDomain` to get. +func (r *ProjectsSitesCustomDomainsService) Get(name string) *ProjectsSitesCustomDomainsGetCall { + c := &ProjectsSitesCustomDomainsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsGetCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsSitesCustomDomainsGetCall) IfNoneMatch(entityTag string) *ProjectsSitesCustomDomainsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsGetCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.get" call. +// Exactly one of *CustomDomain or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *CustomDomain.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsGetCall) Do(opts ...googleapi.CallOption) (*CustomDomain, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &CustomDomain{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified `CustomDomain`.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + // "httpMethod": "GET", + // "id": "firebasehosting.projects.sites.customDomains.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the `CustomDomain` to get.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "CustomDomain" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/firebase", + // "https://www.googleapis.com/auth/firebase.readonly" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.list": + +type ProjectsSitesCustomDomainsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists each `CustomDomain` associated with the specified parent +// Hosting Site. Returns `CustomDomain`s in a consistent, but undefined, +// order to facilitate pagination. +// +// - parent: The Firebase Hosting `Site` with `CustomDomain` entities +// you'd like to list. +func (r *ProjectsSitesCustomDomainsService) List(parent string) *ProjectsSitesCustomDomainsListCall { + c := &ProjectsSitesCustomDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The max number of +// `CustomDomain` entities to return in a request. Defaults to 10. +func (c *ProjectsSitesCustomDomainsListCall) PageSize(pageSize int64) *ProjectsSitesCustomDomainsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token from a +// previous call to `ListCustomDomains` that tells the server where to +// resume listing. +func (c *ProjectsSitesCustomDomainsListCall) PageToken(pageToken string) *ProjectsSitesCustomDomainsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ShowDeleted sets the optional parameter "showDeleted": If true, the +// request returns soft-deleted `CustomDomain`s that haven't been +// fully-deleted yet. To restore deleted `CustomDomain`s, make an +// `UndeleteCustomDomain` request. +func (c *ProjectsSitesCustomDomainsListCall) ShowDeleted(showDeleted bool) *ProjectsSitesCustomDomainsListCall { + c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsListCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsSitesCustomDomainsListCall) IfNoneMatch(entityTag string) *ProjectsSitesCustomDomainsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsListCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/customDomains") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.list" call. +// Exactly one of *ListCustomDomainsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListCustomDomainsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsListCall) Do(opts ...googleapi.CallOption) (*ListCustomDomainsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListCustomDomainsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists each `CustomDomain` associated with the specified parent Hosting Site. Returns `CustomDomain`s in a consistent, but undefined, order to facilitate pagination.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains", + // "httpMethod": "GET", + // "id": "firebasehosting.projects.sites.customDomains.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The max number of `CustomDomain` entities to return in a request. Defaults to 10.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token from a previous call to `ListCustomDomains` that tells the server where to resume listing.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The Firebase Hosting `Site` with `CustomDomain` entities you'd like to list.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "showDeleted": { + // "description": "If true, the request returns soft-deleted `CustomDomain`s that haven't been fully-deleted yet. To restore deleted `CustomDomain`s, make an `UndeleteCustomDomain` request.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "v1beta1/{+parent}/customDomains", + // "response": { + // "$ref": "ListCustomDomainsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/firebase", + // "https://www.googleapis.com/auth/firebase.readonly" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsSitesCustomDomainsListCall) Pages(ctx context.Context, f func(*ListCustomDomainsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "firebasehosting.projects.sites.customDomains.patch": + +type ProjectsSitesCustomDomainsPatchCall struct { + s *Service + name string + customdomain *CustomDomain + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified `CustomDomain`. +// +// - name: Output only. The fully-qualified name of the `CustomDomain`. +func (r *ProjectsSitesCustomDomainsService) Patch(name string, customdomain *CustomDomain) *ProjectsSitesCustomDomainsPatchCall { + c := &ProjectsSitesCustomDomainsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.customdomain = customdomain + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true, +// Hosting creates the `CustomDomain` if it doesn't already exist. +func (c *ProjectsSitesCustomDomainsPatchCall) AllowMissing(allowMissing bool) *ProjectsSitesCustomDomainsPatchCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// UpdateMask sets the optional parameter "updateMask": The set of field +// names from your `CustomDomain` that you want to update. A field will +// be overwritten if, and only if, it's in the mask. If you don't +// provide a mask, Hosting updates the entire `CustomDomain`. +func (c *ProjectsSitesCustomDomainsPatchCall) UpdateMask(updateMask string) *ProjectsSitesCustomDomainsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If true, +// Hosting validates that it's possible to complete your request but +// doesn't actually create or update the `CustomDomain`. +func (c *ProjectsSitesCustomDomainsPatchCall) ValidateOnly(validateOnly bool) *ProjectsSitesCustomDomainsPatchCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsPatchCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsPatchCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.customdomain) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified `CustomDomain`.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}", + // "httpMethod": "PATCH", + // "id": "firebasehosting.projects.sites.customDomains.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "allowMissing": { + // "description": "If true, Hosting creates the `CustomDomain` if it doesn't already exist.", + // "location": "query", + // "type": "boolean" + // }, + // "name": { + // "description": "Output only. The fully-qualified name of the `CustomDomain`.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "The set of field names from your `CustomDomain` that you want to update. A field will be overwritten if, and only if, it's in the mask. If you don't provide a mask, Hosting updates the entire `CustomDomain`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // }, + // "validateOnly": { + // "description": "If true, Hosting validates that it's possible to complete your request but doesn't actually create or update the `CustomDomain`.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "v1beta1/{+name}", + // "request": { + // "$ref": "CustomDomain" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.undelete": + +type ProjectsSitesCustomDomainsUndeleteCall struct { + s *Service + name string + undeletecustomdomainrequest *UndeleteCustomDomainRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Undelete: Undeletes the specified `CustomDomain` if it has been +// soft-deleted. Hosting retains soft-deleted CustomDomains for around +// 30 days before permanently deleting them. +// +// - name: The name of the `CustomDomain` to delete. +func (r *ProjectsSitesCustomDomainsService) Undelete(name string, undeletecustomdomainrequest *UndeleteCustomDomainRequest) *ProjectsSitesCustomDomainsUndeleteCall { + c := &ProjectsSitesCustomDomainsUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.undeletecustomdomainrequest = undeletecustomdomainrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsUndeleteCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsUndeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsUndeleteCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsUndeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsUndeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsUndeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.undeletecustomdomainrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:undelete") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.undelete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsUndeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Undeletes the specified `CustomDomain` if it has been soft-deleted. Hosting retains soft-deleted CustomDomains for around 30 days before permanently deleting them.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}:undelete", + // "httpMethod": "POST", + // "id": "firebasehosting.projects.sites.customDomains.undelete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the `CustomDomain` to delete.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:undelete", + // "request": { + // "$ref": "UndeleteCustomDomainRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.operations.get": + +type ProjectsSitesCustomDomainsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Use this +// method to poll the operation result at intervals as recommended by +// the API service. +// +// - name: The name of the operation resource. +func (r *ProjectsSitesCustomDomainsOperationsService) Get(name string) *ProjectsSitesCustomDomainsOperationsGetCall { + c := &ProjectsSitesCustomDomainsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsSitesCustomDomainsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsSitesCustomDomainsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsOperationsGetCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "firebasehosting.projects.sites.customDomains.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/firebase", + // "https://www.googleapis.com/auth/firebase.readonly" + // ] + // } + +} + +// method id "firebasehosting.projects.sites.customDomains.operations.list": + +type ProjectsSitesCustomDomainsOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. +// +// - name: The name of the operation's parent resource. +func (r *ProjectsSitesCustomDomainsOperationsService) List(name string) *ProjectsSitesCustomDomainsOperationsListCall { + c := &ProjectsSitesCustomDomainsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Filter(filter string) *ProjectsSitesCustomDomainsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsSitesCustomDomainsOperationsListCall) PageSize(pageSize int64) *ProjectsSitesCustomDomainsOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsSitesCustomDomainsOperationsListCall) PageToken(pageToken string) *ProjectsSitesCustomDomainsOperationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsSitesCustomDomainsOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsSitesCustomDomainsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsSitesCustomDomainsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Context(ctx context.Context) *ProjectsSitesCustomDomainsOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSitesCustomDomainsOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasehosting.projects.sites.customDomains.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request.", + // "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations", + // "httpMethod": "GET", + // "id": "firebasehosting.projects.sites.customDomains.operations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}/operations", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/firebase", + // "https://www.googleapis.com/auth/firebase.readonly" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsSitesCustomDomainsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "firebasehosting.projects.sites.domains.create": type ProjectsSitesDomainsCreateCall struct { diff --git a/healthcare/v1/healthcare-api.json b/healthcare/v1/healthcare-api.json index a458a6c3914..f28be16f5fa 100644 --- a/healthcare/v1/healthcare-api.json +++ b/healthcare/v1/healthcare-api.json @@ -3091,7 +3091,7 @@ ] }, "conditionalDelete": { - "description": "Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).", + "description": "Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete", @@ -3124,7 +3124,7 @@ ] }, "conditionalPatch": { - "description": "If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).", + "description": "If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "PATCH", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch", @@ -3160,7 +3160,7 @@ ] }, "conditionalUpdate": { - "description": "If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).", + "description": "If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "PUT", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate", @@ -3196,7 +3196,7 @@ ] }, "create": { - "description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).", + "description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query, limited to searching by resource identifier. If no resources match this search query, the server processes the create operation as normal. When using conditional create, the search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create", @@ -3384,7 +3384,7 @@ ] }, "search": { - "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -3412,7 +3412,7 @@ ] }, "search-type": { - "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", @@ -4183,7 +4183,7 @@ } } }, - "revision": "20230814", + "revision": "20230830", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { diff --git a/healthcare/v1/healthcare-gen.go b/healthcare/v1/healthcare-gen.go index 8fbd441ba5e..13bbfcbc909 100644 --- a/healthcare/v1/healthcare-gen.go +++ b/healthcare/v1/healthcare-gen.go @@ -21134,14 +21134,14 @@ type ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall struct { // interaction, limited to searching by resource identifier. If multiple // resources match, 412 Precondition Failed error will be returned. // Search term for identifier should be in the pattern -// identifier=system|value or identifier=value - similar to the search -// method on resources with a specific identifier. Note: Unless resource -// versioning is disabled by setting the disable_resource_versioning -// flag on the FHIR store, the deleted resource is moved to a history -// repository that can still be retrieved through vread and related -// methods, unless they are removed by the purge method. For samples -// that show how to call `conditionalDelete`, see Conditionally deleting -// a FHIR resource +// `identifier=system|value` or `identifier=value` - similar to the +// `search` method on resources with a specific identifier. Note: Unless +// resource versioning is disabled by setting the +// disable_resource_versioning flag on the FHIR store, the deleted +// resource is moved to a history repository that can still be retrieved +// through vread and related methods, unless they are removed by the +// purge method. For samples that show how to call `conditionalDelete`, +// see Conditionally deleting a FHIR resource // (https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource). // // - parent: The name of the FHIR store this resource belongs to. @@ -21247,7 +21247,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Do(opts . } return ret, nil // { - // "description": "Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).", + // "description": "Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", // "httpMethod": "DELETE", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete", @@ -21301,9 +21301,9 @@ type ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall struct { // conditional patch interaction, limited to searching by resource // identifier. DSTU2 doesn't define a conditional patch method, but the // server supports it in the same way it supports STU3. Search term for -// identifier should be in the pattern identifier=system|value or -// identifier=value - similar to the search method on resources with a -// specific identifier. If the search criteria identify more than one +// identifier should be in the pattern `identifier=system|value` or +// `identifier=value` - similar to the `search` method on resources with +// a specific identifier. If the search criteria identify more than one // match, the request returns a `412 Precondition Failed` error. The // request body must contain a JSON Patch document, and the request // headers must contain `Content-Type: application/json-patch+json`. On @@ -21387,7 +21387,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Do(opts .. gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).", + // "description": "If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", // "httpMethod": "PATCH", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch", @@ -21441,9 +21441,9 @@ type ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall struct { // specified in the query parameters, updates the entire contents of // that resource. Implements the FHIR standard conditional update // interaction, limited to searching by resource identifier. Search term -// for identifier should be in the pattern identifier=system|value or -// identifier=value - similar to the search method on resources with a -// specific identifier. If the search criteria identify more than one +// for identifier should be in the pattern `identifier=system|value` or +// `identifier=value` - similar to the `search` method on resources with +// a specific identifier. If the search criteria identify more than one // match, the request returns a `412 Precondition Failed` error. If the // search criteria identify zero matches, and the supplied resource body // contains an `id`, and the FHIR store has enable_update_create set, @@ -21538,7 +21538,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Do(opts . gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern identifier=system|value or identifier=value - similar to the search method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).", + // "description": "If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", // "httpMethod": "PUT", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate", @@ -21593,17 +21593,28 @@ type ProjectsLocationsDatasetsFhirStoresFhirCreateCall struct { // (http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), // STU3 (http://hl7.org/implement/standards/fhir/STU3/http.html#create), // R4 (http://hl7.org/implement/standards/fhir/R4/http.html#create)), -// which creates a new resource with a server-assigned resource ID. The -// request body must contain a JSON-encoded FHIR resource, and the -// request headers must contain `Content-Type: application/fhir+json`. -// On success, the response body contains a JSON-encoded representation -// of the resource as it was created on the server, including the -// server-assigned resource ID and version ID. Errors generated by the -// FHIR store contain a JSON-encoded `OperationOutcome` resource -// describing the reason for the error. If the request cannot be mapped -// to a valid API method on a FHIR store, a generic GCP error might be -// returned instead. For samples that show how to call `create`, see -// Creating a FHIR resource +// which creates a new resource with a server-assigned resource ID. Also +// supports the FHIR standard conditional create interaction (DSTU2 +// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), +// STU3 +// (https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), R4 +// (https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), +// specified by supplying an `If-None-Exist` header containing a FHIR +// search query, limited to searching by resource identifier. If no +// resources match this search query, the server processes the create +// operation as normal. When using conditional create, the search term +// for identifier should be in the pattern `identifier=system|value` or +// `identifier=value` - similar to the `search` method on resources with +// a specific identifier. The request body must contain a JSON-encoded +// FHIR resource, and the request headers must contain `Content-Type: +// application/fhir+json`. On success, the response body contains a +// JSON-encoded representation of the resource as it was created on the +// server, including the server-assigned resource ID and version ID. +// Errors generated by the FHIR store contain a JSON-encoded +// `OperationOutcome` resource describing the reason for the error. If +// the request cannot be mapped to a valid API method on a FHIR store, a +// generic GCP error might be returned instead. For samples that show +// how to call `create`, see Creating a FHIR resource // (https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource). // // - parent: The name of the FHIR store this resource belongs to. @@ -21676,7 +21687,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Do(opts ...googleapi gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).", + // "description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query, limited to searching by resource identifier. If no resources match this search query, the server processes the create operation as normal. When using conditional create, the search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", // "httpMethod": "POST", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create", @@ -22469,24 +22480,8 @@ type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct { // searchable as the server might trim its generated search index in // those cases. Note: FHIR resources are indexed asynchronously, so // there might be a slight delay between the time a resource is created -// or changed, and the time when the change reflects in search results. -// The only exception is resource identifier data, which is indexed -// synchronously as a special index. As a result, searching using -// resource identifier is not subject to indexing delay. To use the -// special synchronous index, the search term for identifier should be -// in the pattern `identifier=[system]|[value]` or `identifier=[value]`, -// and any of the following search result parameters can be used: * -// `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If -// your query contains any other search parameters, the standard -// asynchronous index will be used instead. Note that searching against -// the special index is optimized for resolving a small number of -// matches. The search isn't optimized if your identifier search -// criteria matches a large number (i.e. more than 2,000) of resources. -// For a search query that will match a large number of resources, you -// can avoiding using the special synchronous index by including an -// additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` -// if you want to keep the default sorting order. For samples and -// detailed information, see Searching for FHIR resources +// or changes and when the change is reflected in search results. For +// samples and detailed information, see Searching for FHIR resources // (https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and // Advanced FHIR search features // (https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). @@ -22557,7 +22552,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", // "httpMethod": "POST", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -22648,24 +22643,8 @@ type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct { // searchable as the server might trim its generated search index in // those cases. Note: FHIR resources are indexed asynchronously, so // there might be a slight delay between the time a resource is created -// or changed, and the time when the change reflects in search results. -// The only exception is resource identifier data, which is indexed -// synchronously as a special index. As a result, searching using -// resource identifier is not subject to indexing delay. To use the -// special synchronous index, the search term for identifier should be -// in the pattern `identifier=[system]|[value]` or `identifier=[value]`, -// and any of the following search result parameters can be used: * -// `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If -// your query contains any other search parameters, the standard -// asynchronous index will be used instead. Note that searching against -// the special index is optimized for resolving a small number of -// matches. The search isn't optimized if your identifier search -// criteria matches a large number (i.e. more than 2,000) of resources. -// For a search query that will match a large number of resources, you -// can avoiding using the special synchronous index by including an -// additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` -// if you want to keep the default sorting order. For samples and -// detailed information, see Searching for FHIR resources +// or changes and when the change is reflected in search results. For +// samples and detailed information, see Searching for FHIR resources // (https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and // Advanced FHIR search features // (https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). @@ -22745,7 +22724,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googl gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", // "httpMethod": "POST", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", diff --git a/healthcare/v1beta1/healthcare-api.json b/healthcare/v1beta1/healthcare-api.json index 4a8309a7e20..0325c94b51b 100644 --- a/healthcare/v1beta1/healthcare-api.json +++ b/healthcare/v1beta1/healthcare-api.json @@ -4090,7 +4090,7 @@ ] }, "search": { - "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -4118,7 +4118,7 @@ ] }, "search-type": { - "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", @@ -4941,7 +4941,7 @@ } } }, - "revision": "20230814", + "revision": "20230830", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "Action": { @@ -5358,7 +5358,7 @@ "type": "object" }, "CharacterMaskField": { - "description": "Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "description": "Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", "id": "CharacterMaskField", "properties": {}, "type": "object" @@ -5418,13 +5418,13 @@ "type": "object" }, "CleanDescriptorsOption": { - "description": "This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This option uses an additional `InfoType` during inspection.", + "description": "This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This option uses an additional infoType during inspection.", "id": "CleanDescriptorsOption", "properties": {}, "type": "object" }, "CleanTextField": { - "description": "Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "description": "Inspect text and transform sensitive text. Configure using TextConfig. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", "id": "CleanTextField", "properties": {}, "type": "object" @@ -5650,7 +5650,7 @@ "type": "object" }, "ContextualDeidConfig": { - "description": "The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token \"[CTX]\". This feature uses an additional InfoType during inspection.", + "description": "Fields that don't match a KeepField or CleanTextField `action` in the BASIC profile are collected into a contextual phrase list. For fields that match a CleanTextField `action` in FieldMetadata or ProfileType, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token \"[CTX]\". This feature uses an additional InfoType during inspection.", "id": "ContextualDeidConfig", "properties": {}, "type": "object" @@ -5671,19 +5671,19 @@ "id": "CryptoHashConfig", "properties": { "cryptoKey": { - "description": "An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set.", + "description": "An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither crypto_key nor kms_wrapped is specified. Must not be set if kms_wrapped is set.", "format": "byte", "type": "string" }, "kmsWrapped": { "$ref": "KmsWrappedCryptoKey", - "description": "KMS wrapped key. Must not be set if `crypto_key` is set." + "description": "KMS wrapped key. Must not be set if crypto_key is set." } }, "type": "object" }, "CryptoHashField": { - "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.", "id": "CryptoHashField", "properties": {}, "type": "object" @@ -5708,19 +5708,19 @@ "id": "DateShiftConfig", "properties": { "cryptoKey": { - "description": "An AES 128/192/256 bit key. The date shift is computed based on this key and the patient ID. If the patient ID is empty for a DICOM resource, the date shift is computed based on this key and the study instance UID. If `crypto_key` is not set, then `kms_wrapped` is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if `kms_wrapped` is set.", + "description": "An AES 128/192/256 bit key. The date shift is computed based on this key and the patient ID. If the patient ID is empty for a DICOM resource, the date shift is computed based on this key and the study instance UID. If crypto_key is not set, then kms_wrapped is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if kms_wrapped is set.", "format": "byte", "type": "string" }, "kmsWrapped": { "$ref": "KmsWrappedCryptoKey", - "description": "KMS wrapped key. If `kms_wrapped` is not set, then `crypto_key` is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if `crypto_key` is set." + "description": "KMS wrapped key. If kms_wrapped is not set, then crypto_key is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if crypto_key is set." } }, "type": "object" }, "DateShiftField": { - "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime", + "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime.", "id": "DateShiftField", "properties": {}, "type": "object" @@ -6375,7 +6375,7 @@ "id": "FhirFieldConfig", "properties": { "fieldMetadataList": { - "description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`.", + "description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata `action` is passed through to the output dataset unmodified. All extensions will be processed according to keep_extensions. If a field can be matched by more than one FieldMetadata `action`, the first `action` option is applied. Overrides options and the union field `profile` in FhirFieldConfig.", "items": { "$ref": "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata" }, @@ -6383,7 +6383,7 @@ }, "options": { "$ref": "GoogleCloudHealthcareV1beta1DeidentifyOptions", - "description": "Specifies additional options, overriding the base `profile`." + "description": "Specifies additional options, overriding the base ProfileType." }, "profileType": { "description": "Base profile type for handling FHIR fields.", @@ -6395,9 +6395,9 @@ ], "enumDescriptions": [ "No profile provided. Same as `BASIC`.", - "`Keep` all fields.", - "Transforms known HIPAA 18 fields and cleans known unstructured text fields.", - "Cleans all supported tags. Applies to types: Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + "Keep all fields.", + "Transforms known [HIPAA 18](https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html#standard)", + "Cleans all supported tags. Applies to types: Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." ], "type": "string" } @@ -6838,26 +6838,26 @@ "properties": { "characterMaskField": { "$ref": "CharacterMaskField", - "description": "Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + "description": "Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." }, "cleanTextField": { "$ref": "CleanTextField", - "description": "Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + "description": "Inspect the field's text and transform sensitive text. Configure using TextConfig. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." }, "cryptoHashField": { "$ref": "CryptoHashField", - "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." }, "dateShiftField": { "$ref": "DateShiftField", - "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime" + "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime." }, "keepField": { "$ref": "KeepField", "description": "Keep the field unchanged." }, "paths": { - "description": "List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field \"Patient.Address.city\", which uses a string type, can be matched by \"Patient.Address.String\". Path also supports partialkk matching. For example, \"Patient.Address.city\" can be matched by \"Address.city\" (Patient omitted). Partial matching and type matching can be combined, for example \"Patient.Address.city\" can be matched by \"Address.String\". For \"choice\" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted.", + "description": "List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR [type](https://www.hl7.org/fhir/datatypes.html) name. All types begin with an upper case letter. For example, the resource field `Patient.Address.city`, which uses a [string](https://www.hl7.org/fhir/datatypes-definitions.html#Address.city) type, can be matched by `Patient.Address.String`. Partial matching is supported. For example, `Patient.Address.city` can be matched by `Address.city` (with `Patient` omitted). Partial matching and type matching can be combined, for example `Patient.Address.city` can be matched by `Address.String`. For \"choice\" types (those defined in the FHIR spec with the format `field[x]`), use two separate components. For example, `deceasedAge.unit` is matched by `Deceased.Age.unit`. The following types are supported: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example `HumanName.given`, `HumanName.family`) can be omitted.", "items": { "type": "string" }, @@ -6871,12 +6871,12 @@ "type": "object" }, "GoogleCloudHealthcareV1beta1DeidentifyOptions": { - "description": "Specifies additional options to apply to the base `profile`.", + "description": "Specifies additional options to apply to the base ProfileType.", "id": "GoogleCloudHealthcareV1beta1DeidentifyOptions", "properties": { "characterMaskConfig": { "$ref": "CharacterMaskConfig", - "description": "Character mask config for `CharacterMaskField` `FieldMetadatas`." + "description": "Character mask config for CharacterMaskField." }, "contextualDeid": { "$ref": "ContextualDeidConfig", @@ -6884,11 +6884,11 @@ }, "cryptoHashConfig": { "$ref": "CryptoHashConfig", - "description": "Crypo hash config for `CharacterMaskField` `FieldMetadatas`." + "description": "Crypto hash config for CharacterMaskField." }, "dateShiftConfig": { "$ref": "DateShiftConfig", - "description": "Date shifting config for `CharacterMaskField` `FieldMetadatas`." + "description": "Date shifting config for CharacterMaskField." }, "keepExtensions": { "$ref": "KeepExtensionsConfig", @@ -7401,7 +7401,7 @@ "type": "object" }, "KeepExtensionsConfig": { - "description": "The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default.", + "description": "The behavior for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default.", "id": "KeepExtensionsConfig", "properties": {}, "type": "object" @@ -8581,9 +8581,9 @@ "BASIC" ], "enumDescriptions": [ - "Same as BASIC.", + "No profile provided. Same as BASIC.", "Empty profile which does not perform any transformations.", - "Basic profile applies: DATE -\u003e DateShift Default -\u003e ReplaceWithInfoType" + "Automatically converts \"DATE\" infoTypes using a DateShiftConfig, and all other infoTypes using a ReplaceWithInfoTypeConfig." ], "type": "string" }, diff --git a/healthcare/v1beta1/healthcare-gen.go b/healthcare/v1beta1/healthcare-gen.go index 4ae21379cfc..75593c1d2a5 100644 --- a/healthcare/v1beta1/healthcare-gen.go +++ b/healthcare/v1beta1/healthcare-gen.go @@ -1197,7 +1197,7 @@ func (s *CharacterMaskConfig) MarshalJSON() ([]byte, error) { // CharacterMaskField: Replace field value with masking character. // Supported types (https://www.hl7.org/fhir/datatypes.html): Code, // Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, -// Uuid, Xhtml +// Uuid, Xhtml. type CharacterMaskField struct { } @@ -1308,15 +1308,15 @@ func (s *CheckDataAccessResponse) MarshalJSON() ([]byte, error) { // and U) in the Basic Profile // (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). // These contextual phrases are replaced with the token "[CTX]". This -// option uses an additional `InfoType` during inspection. +// option uses an additional infoType during inspection. type CleanDescriptorsOption struct { } // CleanTextField: Inspect text and transform sensitive text. Configure -// using `TextConfig`. Supported types +// using TextConfig. Supported types // (https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, // Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, -// Uuid, Xhtml +// Uuid, Xhtml. type CleanTextField struct { } @@ -1682,9 +1682,10 @@ func (s *ConsentStore) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ContextualDeidConfig: The fields that aren't marked `Keep` or -// `CleanText` in the `BASIC` profile are collected into a contextual -// phrase list. For fields marked `CleanText`, the process attempts to +// ContextualDeidConfig: Fields that don't match a KeepField or +// CleanTextField `action` in the BASIC profile are collected into a +// contextual phrase list. For fields that match a CleanTextField +// `action` in FieldMetadata or ProfileType, the process attempts to // transform phrases matching these contextual entries. These contextual // phrases are replaced with the token "[CTX]". This feature uses an // additional InfoType during inspection. @@ -1726,11 +1727,11 @@ func (s *CreateMessageRequest) MarshalJSON() ([]byte, error) { type CryptoHashConfig struct { // CryptoKey: An AES 128/192/256 bit key. Causes the hash to be computed // based on this key. A default key is generated for each Deidentify - // operation and is used when neither `crypto_key` nor `kms_wrapped` is - // specified. Must not be set if `kms_wrapped` is set. + // operation and is used when neither crypto_key nor kms_wrapped is + // specified. Must not be set if kms_wrapped is set. CryptoKey string `json:"cryptoKey,omitempty"` - // KmsWrapped: KMS wrapped key. Must not be set if `crypto_key` is set. + // KmsWrapped: KMS wrapped key. Must not be set if crypto_key is set. KmsWrapped *KmsWrappedCryptoKey `json:"kmsWrapped,omitempty"` // ForceSendFields is a list of field names (e.g. "CryptoKey") to @@ -1759,7 +1760,7 @@ func (s *CryptoHashConfig) MarshalJSON() ([]byte, error) { // CryptoHashField: Replace field value with a hash of that value. // Supported types (https://www.hl7.org/fhir/datatypes.html): Code, // Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, -// Uuid, Xhtml +// Uuid, Xhtml. type CryptoHashField struct { } @@ -1812,16 +1813,16 @@ type DateShiftConfig struct { // CryptoKey: An AES 128/192/256 bit key. The date shift is computed // based on this key and the patient ID. If the patient ID is empty for // a DICOM resource, the date shift is computed based on this key and - // the study instance UID. If `crypto_key` is not set, then - // `kms_wrapped` is used to calculate the date shift. If neither is set, - // a default key is generated for each de-identify operation. Must not - // be set if `kms_wrapped` is set. + // the study instance UID. If crypto_key is not set, then kms_wrapped is + // used to calculate the date shift. If neither is set, a default key is + // generated for each de-identify operation. Must not be set if + // kms_wrapped is set. CryptoKey string `json:"cryptoKey,omitempty"` - // KmsWrapped: KMS wrapped key. If `kms_wrapped` is not set, then - // `crypto_key` is used to calculate the date shift. If neither is set, - // a default key is generated for each de-identify operation. Must not - // be set if `crypto_key` is set. + // KmsWrapped: KMS wrapped key. If kms_wrapped is not set, then + // crypto_key is used to calculate the date shift. If neither is set, a + // default key is generated for each de-identify operation. Must not be + // set if crypto_key is set. KmsWrapped *KmsWrappedCryptoKey `json:"kmsWrapped,omitempty"` // ForceSendFields is a list of field names (e.g. "CryptoKey") to @@ -1851,7 +1852,7 @@ func (s *DateShiftConfig) MarshalJSON() ([]byte, error) { // date shifting // (https://cloud.google.com/dlp/docs/concepts-date-shifting) for more // information. Supported types -// (https://www.hl7.org/fhir/datatypes.html): Date, DateTime +// (https://www.hl7.org/fhir/datatypes.html): Date, DateTime. type DateShiftField struct { } @@ -3156,26 +3157,29 @@ func (s *FhirConfig) MarshalJSON() ([]byte, error) { // FHIR store. type FhirFieldConfig struct { // FieldMetadataList: Specifies FHIR paths to match and how to transform - // them. Any field that is not matched by a `FieldMetadata` is passed - // through to the output dataset unmodified. All extensions will be - // processed according to `keep_extensions`. If a field can be matched - // by more than one `FieldMetadata`, the first `FieldMetadata.Action` is - // applied. Overrides `options` and `profile`. + // them. Any field that is not matched by a FieldMetadata `action` is + // passed through to the output dataset unmodified. All extensions will + // be processed according to keep_extensions. If a field can be matched + // by more than one FieldMetadata `action`, the first `action` option is + // applied. Overrides options and the union field `profile` in + // FhirFieldConfig. FieldMetadataList []*GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata `json:"fieldMetadataList,omitempty"` - // Options: Specifies additional options, overriding the base `profile`. + // Options: Specifies additional options, overriding the base + // ProfileType. Options *GoogleCloudHealthcareV1beta1DeidentifyOptions `json:"options,omitempty"` // ProfileType: Base profile type for handling FHIR fields. // // Possible values: // "PROFILE_TYPE_UNSPECIFIED" - No profile provided. Same as `BASIC`. - // "KEEP_ALL" - `Keep` all fields. - // "BASIC" - Transforms known HIPAA 18 fields and cleans known - // unstructured text fields. + // "KEEP_ALL" - Keep all fields. + // "BASIC" - Transforms known [HIPAA + // 18](https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics + // /de-identification/index.html#standard) // "CLEAN_ALL" - Cleans all supported tags. Applies to types: Code, // Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, - // String, Uri, Uuid, Xhtml + // String, Uri, Uuid, Xhtml. ProfileType string `json:"profileType,omitempty"` // ForceSendFields is a list of field names (e.g. "FieldMetadataList") @@ -4060,27 +4064,27 @@ type GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata struct { // CharacterMaskField: Replace the field's value with a masking // character. Supported types (https://www.hl7.org/fhir/datatypes.html): // Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, - // Uri, Uuid, Xhtml + // Uri, Uuid, Xhtml. CharacterMaskField *CharacterMaskField `json:"characterMaskField,omitempty"` // CleanTextField: Inspect the field's text and transform sensitive - // text. Configure using `TextConfig`. Supported types + // text. Configure using TextConfig. Supported types // (https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, // Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, - // Uuid, Xhtml + // Uuid, Xhtml. CleanTextField *CleanTextField `json:"cleanTextField,omitempty"` // CryptoHashField: Replace field value with a hash of that value. // Supported types (https://www.hl7.org/fhir/datatypes.html): Code, // Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, - // Uuid, Xhtml + // Uuid, Xhtml. CryptoHashField *CryptoHashField `json:"cryptoHashField,omitempty"` // DateShiftField: Shift the date by a randomized number of days. See // date shifting // (https://cloud.google.com/dlp/docs/concepts-date-shifting) for more // information. Supported types - // (https://www.hl7.org/fhir/datatypes.html): Date, DateTime + // (https://www.hl7.org/fhir/datatypes.html): Date, DateTime. DateShiftField *DateShiftField `json:"dateShiftField,omitempty"` // KeepField: Keep the field unchanged. @@ -4088,21 +4092,22 @@ type GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata struct { // Paths: List of paths to FHIR fields to redact. Each path is a // period-separated list where each component is either a field name or - // FHIR type name. All types begin with an upper case letter. For - // example, the resource field "Patient.Address.city", which uses a - // string type, can be matched by "Patient.Address.String". Path also - // supports partialkk matching. For example, "Patient.Address.city" can - // be matched by "Address.city" (Patient omitted). Partial matching and - // type matching can be combined, for example "Patient.Address.city" can - // be matched by "Address.String". For "choice" types (those defined in - // the FHIR spec with the form: field[x]), use two separate components. - // For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". - // Supported types (https://www.hl7.org/fhir/datatypes.html) are: - // AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, - // DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, - // Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. - // The sub-type for HumanName (for example HumanName.given, - // HumanName.family) can be omitted. + // FHIR type (https://www.hl7.org/fhir/datatypes.html) name. All types + // begin with an upper case letter. For example, the resource field + // `Patient.Address.city`, which uses a string + // (https://www.hl7.org/fhir/datatypes-definitions.html#Address.city) + // type, can be matched by `Patient.Address.String`. Partial matching is + // supported. For example, `Patient.Address.city` can be matched by + // `Address.city` (with `Patient` omitted). Partial matching and type + // matching can be combined, for example `Patient.Address.city` can be + // matched by `Address.String`. For "choice" types (those defined in the + // FHIR spec with the format `field[x]`), use two separate components. + // For example, `deceasedAge.unit` is matched by `Deceased.Age.unit`. + // The following types are supported: AdministrativeGenderCode, + // Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, + // Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, + // UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for + // example `HumanName.given`, `HumanName.family`) can be omitted. Paths []string `json:"paths,omitempty"` // RemoveField: Remove the field. @@ -4133,21 +4138,18 @@ func (s *GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata) MarshalJSON() ([]b } // GoogleCloudHealthcareV1beta1DeidentifyOptions: Specifies additional -// options to apply to the base `profile`. +// options to apply to the base ProfileType. type GoogleCloudHealthcareV1beta1DeidentifyOptions struct { - // CharacterMaskConfig: Character mask config for `CharacterMaskField` - // `FieldMetadatas`. + // CharacterMaskConfig: Character mask config for CharacterMaskField. CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"` // ContextualDeid: Configure contextual de-id. ContextualDeid *ContextualDeidConfig `json:"contextualDeid,omitempty"` - // CryptoHashConfig: Crypo hash config for `CharacterMaskField` - // `FieldMetadatas`. + // CryptoHashConfig: Crypto hash config for CharacterMaskField. CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"` - // DateShiftConfig: Date shifting config for `CharacterMaskField` - // `FieldMetadatas`. + // DateShiftConfig: Date shifting config for CharacterMaskField. DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"` // KeepExtensions: Configure keeping extensions by default. @@ -5301,7 +5303,7 @@ func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// KeepExtensionsConfig: The behaviour for handling FHIR extensions that +// KeepExtensionsConfig: The behavior for handling FHIR extensions that // aren't otherwise specified for de-identification. If provided, all // extensions are preserved during de-identification by default. If // unspecified, all extensions are removed during de-identification by @@ -7621,10 +7623,11 @@ type TextConfig struct { // ProfileType: Base profile type for text transformation. // // Possible values: - // "PROFILE_TYPE_UNSPECIFIED" - Same as BASIC. + // "PROFILE_TYPE_UNSPECIFIED" - No profile provided. Same as BASIC. // "EMPTY" - Empty profile which does not perform any transformations. - // "BASIC" - Basic profile applies: DATE -> DateShift Default -> - // ReplaceWithInfoType + // "BASIC" - Automatically converts "DATE" infoTypes using a + // DateShiftConfig, and all other infoTypes using a + // ReplaceWithInfoTypeConfig. ProfileType string `json:"profileType,omitempty"` // Transformations: The transformations to apply to the detected data. @@ -27613,24 +27616,8 @@ type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct { // searchable as the server might trim its generated search index in // those cases. Note: FHIR resources are indexed asynchronously, so // there might be a slight delay between the time a resource is created -// or changed, and the time when the change reflects in search results. -// The only exception is resource identifier data, which is indexed -// synchronously as a special index. As a result, searching using -// resource identifier is not subject to indexing delay. To use the -// special synchronous index, the search term for identifier should be -// in the pattern `identifier=[system]|[value]` or `identifier=[value]`, -// and any of the following search result parameters can be used: * -// `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If -// your query contains any other search parameters, the standard -// asynchronous index will be used instead. Note that searching against -// the special index is optimized for resolving a small number of -// matches. The search isn't optimized if your identifier search -// criteria matches a large number (i.e. more than 2,000) of resources. -// For a search query that will match a large number of resources, you -// can avoiding using the special synchronous index by including an -// additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` -// if you want to keep the default sorting order. For samples and -// detailed information, see Searching for FHIR resources +// or changes and when the change is reflected in search results. For +// samples and detailed information, see Searching for FHIR resources // (https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and // Advanced FHIR search features // (https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). @@ -27701,7 +27688,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", // "httpMethod": "POST", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -27793,24 +27780,8 @@ type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct { // searchable as the server might trim its generated search index in // those cases. Note: FHIR resources are indexed asynchronously, so // there might be a slight delay between the time a resource is created -// or changed, and the time when the change reflects in search results. -// The only exception is resource identifier data, which is indexed -// synchronously as a special index. As a result, searching using -// resource identifier is not subject to indexing delay. To use the -// special synchronous index, the search term for identifier should be -// in the pattern `identifier=[system]|[value]` or `identifier=[value]`, -// and any of the following search result parameters can be used: * -// `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If -// your query contains any other search parameters, the standard -// asynchronous index will be used instead. Note that searching against -// the special index is optimized for resolving a small number of -// matches. The search isn't optimized if your identifier search -// criteria matches a large number (i.e. more than 2,000) of resources. -// For a search query that will match a large number of resources, you -// can avoiding using the special synchronous index by including an -// additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` -// if you want to keep the default sorting order. For samples and -// detailed information, see Searching for FHIR resources +// or changes and when the change is reflected in search results. For +// samples and detailed information, see Searching for FHIR resources // (https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and // Advanced FHIR search features // (https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). @@ -27891,7 +27862,7 @@ func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googl gensupport.SetOptions(c.urlParams_, opts...) return c.doRequest("") // { - // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", + // "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search).", // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", // "httpMethod": "POST", // "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", diff --git a/memcache/v1/memcache-api.json b/memcache/v1/memcache-api.json index e9e3c88230b..85c04410c8f 100644 --- a/memcache/v1/memcache-api.json +++ b/memcache/v1/memcache-api.json @@ -425,6 +425,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "upgrade": { + "description": "Upgrades the Memcache instance to a newer memcached engine version specified in the request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.upgrade", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Memcache instance resource name using the form: `projects/{project}/locations/{location}/instances/{instance}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:upgrade", + "request": { + "$ref": "GoogleCloudMemcacheV1UpgradeInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -556,7 +584,7 @@ } } }, - "revision": "20230803", + "revision": "20230907", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -735,6 +763,27 @@ }, "type": "object" }, + "GoogleCloudMemcacheV1UpgradeInstanceRequest": { + "description": "Request for UpgradeInstance.", + "id": "GoogleCloudMemcacheV1UpgradeInstanceRequest", + "properties": { + "memcacheVersion": { + "description": "Required. Specifies the target version of memcached engine to upgrade to.", + "enum": [ + "MEMCACHE_VERSION_UNSPECIFIED", + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" + ], + "enumDescriptions": [ + "Memcache version is not specified by customer", + "Memcached 1.5 version.", + "Memcached 1.6.15 version." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudMemcacheV1ZoneMetadata": { "id": "GoogleCloudMemcacheV1ZoneMetadata", "properties": {}, @@ -1078,11 +1127,13 @@ "description": "The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.", "enum": [ "MEMCACHE_VERSION_UNSPECIFIED", - "MEMCACHE_1_5" + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" ], "enumDescriptions": [ "Memcache version is not specified by customer", - "Memcached 1.5 version." + "Memcached 1.5 version.", + "Memcached 1.6.15 version." ], "type": "string" }, @@ -1118,7 +1169,8 @@ "READY", "UPDATING", "DELETING", - "PERFORMING_MAINTENANCE" + "PERFORMING_MAINTENANCE", + "MEMCACHE_VERSION_UPGRADING" ], "enumDescriptions": [ "State not set.", @@ -1126,7 +1178,8 @@ "Memcached instance has been created and ready to be used.", "Memcached instance is updating configuration such as maintenance policy and schedule.", "Memcached instance is being deleted.", - "Memcached instance is going through maintenance, e.g. data plane rollout." + "Memcached instance is going through maintenance, e.g. data plane rollout.", + "Memcached instance is undergoing memcached engine version upgrade." ], "readOnly": true, "type": "string" @@ -1395,6 +1448,26 @@ "readOnly": true, "type": "string" }, + "memcacheFullVersion": { + "description": "Output only. The full version of memcached server running on this node. e.g. - memcached-1.5.16", + "readOnly": true, + "type": "string" + }, + "memcacheVersion": { + "description": "Output only. Major version of memcached server running on this node, e.g. MEMCACHE_1_5", + "enum": [ + "MEMCACHE_VERSION_UNSPECIFIED", + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" + ], + "enumDescriptions": [ + "Memcache version is not specified by customer", + "Memcached 1.5 version.", + "Memcached 1.6.15 version." + ], + "readOnly": true, + "type": "string" + }, "nodeId": { "description": "Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.", "readOnly": true, diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go index 746cdac6f5f..67c62cd61ad 100644 --- a/memcache/v1/memcache-gen.go +++ b/memcache/v1/memcache-gen.go @@ -497,6 +497,43 @@ func (s *GoogleCloudMemcacheV1OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudMemcacheV1UpgradeInstanceRequest: Request for +// UpgradeInstance. +type GoogleCloudMemcacheV1UpgradeInstanceRequest struct { + // MemcacheVersion: Required. Specifies the target version of memcached + // engine to upgrade to. + // + // Possible values: + // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified + // by customer + // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. + MemcacheVersion string `json:"memcacheVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MemcacheVersion") 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. "MemcacheVersion") 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 *GoogleCloudMemcacheV1UpgradeInstanceRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudMemcacheV1UpgradeInstanceRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type GoogleCloudMemcacheV1ZoneMetadata struct { } @@ -1034,6 +1071,7 @@ type Instance struct { // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified // by customer // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. MemcacheVersion string `json:"memcacheVersion,omitempty"` // Name: Required. Unique name of the resource in this scope including @@ -1071,6 +1109,8 @@ type Instance struct { // "DELETING" - Memcached instance is being deleted. // "PERFORMING_MAINTENANCE" - Memcached instance is going through // maintenance, e.g. data plane rollout. + // "MEMCACHE_VERSION_UPGRADING" - Memcached instance is undergoing + // memcached engine version upgrade. State string `json:"state,omitempty"` // UpdateTime: Output only. The time the instance was updated. @@ -1515,6 +1555,20 @@ type Node struct { // by the clients to connect to the Memcached server on this node. Host string `json:"host,omitempty"` + // MemcacheFullVersion: Output only. The full version of memcached + // server running on this node. e.g. - memcached-1.5.16 + MemcacheFullVersion string `json:"memcacheFullVersion,omitempty"` + + // MemcacheVersion: Output only. Major version of memcached server + // running on this node, e.g. MEMCACHE_1_5 + // + // Possible values: + // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified + // by customer + // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. + MemcacheVersion string `json:"memcacheVersion,omitempty"` + // NodeId: Output only. Identifier of the Memcached node. The node id // does not include project or location like the Memcached instance // name. @@ -3669,6 +3723,151 @@ func (c *ProjectsLocationsInstancesUpdateParametersCall) Do(opts ...googleapi.Ca } +// method id "memcache.projects.locations.instances.upgrade": + +type ProjectsLocationsInstancesUpgradeCall struct { + s *Service + name string + googlecloudmemcachev1upgradeinstancerequest *GoogleCloudMemcacheV1UpgradeInstanceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Upgrade: Upgrades the Memcache instance to a newer memcached engine +// version specified in the request. +// +// - name: Memcache instance resource name using the form: +// `projects/{project}/locations/{location}/instances/{instance}` +// where `location_id` refers to a GCP region. +func (r *ProjectsLocationsInstancesService) Upgrade(name string, googlecloudmemcachev1upgradeinstancerequest *GoogleCloudMemcacheV1UpgradeInstanceRequest) *ProjectsLocationsInstancesUpgradeCall { + c := &ProjectsLocationsInstancesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudmemcachev1upgradeinstancerequest = googlecloudmemcachev1upgradeinstancerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsInstancesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpgradeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsInstancesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpgradeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsInstancesUpgradeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmemcachev1upgradeinstancerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgrade") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "memcache.projects.locations.instances.upgrade" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesUpgradeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Upgrades the Memcache instance to a newer memcached engine version specified in the request.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", + // "httpMethod": "POST", + // "id": "memcache.projects.locations.instances.upgrade", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Memcache instance resource name using the form: `projects/{project}/locations/{location}/instances/{instance}` where `location_id` refers to a GCP region.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:upgrade", + // "request": { + // "$ref": "GoogleCloudMemcacheV1UpgradeInstanceRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "memcache.projects.locations.operations.cancel": type ProjectsLocationsOperationsCancelCall struct { diff --git a/memcache/v1beta2/memcache-api.json b/memcache/v1beta2/memcache-api.json index 23559a7ff0d..9bf66bfbac1 100644 --- a/memcache/v1beta2/memcache-api.json +++ b/memcache/v1beta2/memcache-api.json @@ -453,6 +453,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "upgrade": { + "description": "Upgrades the Memcache instance to a newer memcached engine version specified in the request.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.upgrade", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Memcache instance resource name using the form: `projects/{project}/locations/{location}/instances/{instance}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:upgrade", + "request": { + "$ref": "GoogleCloudMemcacheV1beta2UpgradeInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -584,7 +612,7 @@ } } }, - "revision": "20230803", + "revision": "20230907", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -781,6 +809,27 @@ }, "type": "object" }, + "GoogleCloudMemcacheV1beta2UpgradeInstanceRequest": { + "description": "Request for UpgradeInstance.", + "id": "GoogleCloudMemcacheV1beta2UpgradeInstanceRequest", + "properties": { + "memcacheVersion": { + "description": "Required. Specifies the target version of memcached engine to upgrade to.", + "enum": [ + "MEMCACHE_VERSION_UNSPECIFIED", + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" + ], + "enumDescriptions": [ + "Memcache version is not specified by customer", + "Memcached 1.5 version.", + "Memcached 1.6.15 version." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudMemcacheV1beta2ZoneMetadata": { "id": "GoogleCloudMemcacheV1beta2ZoneMetadata", "properties": {}, @@ -1124,11 +1173,13 @@ "description": "The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.", "enum": [ "MEMCACHE_VERSION_UNSPECIFIED", - "MEMCACHE_1_5" + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" ], "enumDescriptions": [ "Memcache version is not specified by customer", - "Memcached 1.5 version." + "Memcached 1.5 version.", + "Memcached 1.6.15 version." ], "type": "string" }, @@ -1164,7 +1215,8 @@ "READY", "UPDATING", "DELETING", - "PERFORMING_MAINTENANCE" + "PERFORMING_MAINTENANCE", + "MEMCACHE_VERSION_UPGRADING" ], "enumDescriptions": [ "State not set.", @@ -1172,7 +1224,8 @@ "Memcached instance has been created and ready to be used.", "Memcached instance is updating configuration such as maintenance policy and schedule.", "Memcached instance is being deleted.", - "Memcached instance is going through maintenance, e.g. data plane rollout." + "Memcached instance is going through maintenance, e.g. data plane rollout.", + "Memcached instance is undergoing memcached engine version upgrade." ], "readOnly": true, "type": "string" @@ -1446,6 +1499,26 @@ "readOnly": true, "type": "string" }, + "memcacheFullVersion": { + "description": "Output only. The full version of memcached server running on this node. e.g. - memcached-1.5.16", + "readOnly": true, + "type": "string" + }, + "memcacheVersion": { + "description": "Output only. Major version of memcached server running on this node, e.g. MEMCACHE_1_5", + "enum": [ + "MEMCACHE_VERSION_UNSPECIFIED", + "MEMCACHE_1_5", + "MEMCACHE_1_6_15" + ], + "enumDescriptions": [ + "Memcache version is not specified by customer", + "Memcached 1.5 version.", + "Memcached 1.6.15 version." + ], + "readOnly": true, + "type": "string" + }, "nodeId": { "description": "Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.", "readOnly": true, diff --git a/memcache/v1beta2/memcache-gen.go b/memcache/v1beta2/memcache-gen.go index 5264991478d..3a9033dd910 100644 --- a/memcache/v1beta2/memcache-gen.go +++ b/memcache/v1beta2/memcache-gen.go @@ -531,6 +531,43 @@ func (s *GoogleCloudMemcacheV1beta2OperationMetadata) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudMemcacheV1beta2UpgradeInstanceRequest: Request for +// UpgradeInstance. +type GoogleCloudMemcacheV1beta2UpgradeInstanceRequest struct { + // MemcacheVersion: Required. Specifies the target version of memcached + // engine to upgrade to. + // + // Possible values: + // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified + // by customer + // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. + MemcacheVersion string `json:"memcacheVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MemcacheVersion") 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. "MemcacheVersion") 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 *GoogleCloudMemcacheV1beta2UpgradeInstanceRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudMemcacheV1beta2UpgradeInstanceRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type GoogleCloudMemcacheV1beta2ZoneMetadata struct { } @@ -1067,6 +1104,7 @@ type Instance struct { // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified // by customer // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. MemcacheVersion string `json:"memcacheVersion,omitempty"` // Name: Required. Unique name of the resource in this scope including @@ -1104,6 +1142,8 @@ type Instance struct { // "DELETING" - Memcached instance is being deleted. // "PERFORMING_MAINTENANCE" - Memcached instance is going through // maintenance, e.g. data plane rollout. + // "MEMCACHE_VERSION_UPGRADING" - Memcached instance is undergoing + // memcached engine version upgrade. State string `json:"state,omitempty"` // UpdateAvailable: Output only. Returns true if there is an update @@ -1552,6 +1592,20 @@ type Node struct { // by the clients to connect to the Memcached server on this node. Host string `json:"host,omitempty"` + // MemcacheFullVersion: Output only. The full version of memcached + // server running on this node. e.g. - memcached-1.5.16 + MemcacheFullVersion string `json:"memcacheFullVersion,omitempty"` + + // MemcacheVersion: Output only. Major version of memcached server + // running on this node, e.g. MEMCACHE_1_5 + // + // Possible values: + // "MEMCACHE_VERSION_UNSPECIFIED" - Memcache version is not specified + // by customer + // "MEMCACHE_1_5" - Memcached 1.5 version. + // "MEMCACHE_1_6_15" - Memcached 1.6.15 version. + MemcacheVersion string `json:"memcacheVersion,omitempty"` + // NodeId: Output only. Identifier of the Memcached node. The node id // does not include project or location like the Memcached instance // name. @@ -3855,6 +3909,151 @@ func (c *ProjectsLocationsInstancesUpdateParametersCall) Do(opts ...googleapi.Ca } +// method id "memcache.projects.locations.instances.upgrade": + +type ProjectsLocationsInstancesUpgradeCall struct { + s *Service + name string + googlecloudmemcachev1beta2upgradeinstancerequest *GoogleCloudMemcacheV1beta2UpgradeInstanceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Upgrade: Upgrades the Memcache instance to a newer memcached engine +// version specified in the request. +// +// - name: Memcache instance resource name using the form: +// `projects/{project}/locations/{location}/instances/{instance}` +// where `location_id` refers to a GCP region. +func (r *ProjectsLocationsInstancesService) Upgrade(name string, googlecloudmemcachev1beta2upgradeinstancerequest *GoogleCloudMemcacheV1beta2UpgradeInstanceRequest) *ProjectsLocationsInstancesUpgradeCall { + c := &ProjectsLocationsInstancesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudmemcachev1beta2upgradeinstancerequest = googlecloudmemcachev1beta2upgradeinstancerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsInstancesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpgradeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsInstancesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpgradeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsInstancesUpgradeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmemcachev1beta2upgradeinstancerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}:upgrade") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "memcache.projects.locations.instances.upgrade" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesUpgradeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Upgrades the Memcache instance to a newer memcached engine version specified in the request.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", + // "httpMethod": "POST", + // "id": "memcache.projects.locations.instances.upgrade", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Memcache instance resource name using the form: `projects/{project}/locations/{location}/instances/{instance}` where `location_id` refers to a GCP region.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}:upgrade", + // "request": { + // "$ref": "GoogleCloudMemcacheV1beta2UpgradeInstanceRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "memcache.projects.locations.operations.cancel": type ProjectsLocationsOperationsCancelCall struct { diff --git a/playintegrity/v1/playintegrity-api.json b/playintegrity/v1/playintegrity-api.json index 82a0b9cb320..b9e6ff20397 100644 --- a/playintegrity/v1/playintegrity-api.json +++ b/playintegrity/v1/playintegrity-api.json @@ -138,7 +138,7 @@ } } }, - "revision": "20230529", + "revision": "20230910", "rootUrl": "https://playintegrity.googleapis.com/", "schemas": { "AccountActivity": { @@ -290,26 +290,10 @@ "description": "Contains guidance details about the Integrity API response, providing additional context to the integrity verdicts.", "id": "GuidanceDetails", "properties": { - "userRemediation": { - "description": "This shows when there is an issue with at least one of the integrity verdicts, and provides user remediation guidance.", + "userRemediationDetails": { + "description": "This shows when there is an issue with at least one of the integrity verdicts, which can be remedied by the user and provides additional details.", "items": { - "enum": [ - "UNKNOWN_USER_REMEDIATION", - "RESTORE_FACTORY_ROM", - "LOCK_BOOTLOADER", - "GET_UNMODIFIED_APP", - "SIGN_INTO_GOOGLE_ACCOUNT", - "INSTALL_APP_FROM_PLAY" - ], - "enumDescriptions": [ - "Catch-all for unrecognized enum values. See go/protodosdonts.", - "The user has installed a custom ROM, and should restore the device to a clean factory ROM.", - "The device bootloader has been unlocked, the user should lock the bootloader.", - "The app is unrecognized. The user should get an unmodified version of the app.", - "The user has not signed into their Google account.", - "The user has no license. They should install or purchase the app on the Google Play Store to add it to their library." - ], - "type": "string" + "$ref": "UserRemediationDetails" }, "type": "array" } @@ -381,6 +365,33 @@ } }, "type": "object" + }, + "UserRemediationDetails": { + "description": "Contains details of remediation guidance that the user can perform. See go/pia-interstitials-dd", + "id": "UserRemediationDetails", + "properties": { + "remediation": { + "description": "Description of the user remediation action. Required.", + "enum": [ + "UNKNOWN_USER_REMEDIATION", + "RESTORE_FACTORY_ROM", + "LOCK_BOOTLOADER", + "GET_UNMODIFIED_APP", + "SIGN_INTO_GOOGLE_ACCOUNT", + "INSTALL_APP_FROM_PLAY" + ], + "enumDescriptions": [ + "Catch-all for unrecognized enum values. See go/protodosdonts.", + "The user has installed a custom ROM, and should restore the device to a clean factory ROM.", + "The device bootloader has been unlocked, the user should lock the bootloader.", + "The app is unrecognized. The user should get an unmodified version of the app.", + "The user has not signed into their Google account.", + "The user has no license. They should install or purchase the app on the Google Play Store to add it to their library." + ], + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/playintegrity/v1/playintegrity-gen.go b/playintegrity/v1/playintegrity-gen.go index 20fd79742a1..bd975934428 100644 --- a/playintegrity/v1/playintegrity-gen.go +++ b/playintegrity/v1/playintegrity-gen.go @@ -429,37 +429,24 @@ func (s *DeviceIntegrity) MarshalJSON() ([]byte, error) { // GuidanceDetails: Contains guidance details about the Integrity API // response, providing additional context to the integrity verdicts. type GuidanceDetails struct { - // UserRemediation: This shows when there is an issue with at least one - // of the integrity verdicts, and provides user remediation guidance. - // - // Possible values: - // "UNKNOWN_USER_REMEDIATION" - Catch-all for unrecognized enum - // values. See go/protodosdonts. - // "RESTORE_FACTORY_ROM" - The user has installed a custom ROM, and - // should restore the device to a clean factory ROM. - // "LOCK_BOOTLOADER" - The device bootloader has been unlocked, the - // user should lock the bootloader. - // "GET_UNMODIFIED_APP" - The app is unrecognized. The user should get - // an unmodified version of the app. - // "SIGN_INTO_GOOGLE_ACCOUNT" - The user has not signed into their - // Google account. - // "INSTALL_APP_FROM_PLAY" - The user has no license. They should - // install or purchase the app on the Google Play Store to add it to - // their library. - UserRemediation []string `json:"userRemediation,omitempty"` + // UserRemediationDetails: This shows when there is an issue with at + // least one of the integrity verdicts, which can be remedied by the + // user and provides additional details. + UserRemediationDetails []*UserRemediationDetails `json:"userRemediationDetails,omitempty"` - // ForceSendFields is a list of field names (e.g. "UserRemediation") 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 is a list of field names (e.g. + // "UserRemediationDetails") 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. "UserRemediation") 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 + // NullFields is a list of field names (e.g. "UserRemediationDetails") + // 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. @@ -594,6 +581,50 @@ func (s *TokenPayloadExternal) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UserRemediationDetails: Contains details of remediation guidance that +// the user can perform. See go/pia-interstitials-dd +type UserRemediationDetails struct { + // Remediation: Description of the user remediation action. Required. + // + // Possible values: + // "UNKNOWN_USER_REMEDIATION" - Catch-all for unrecognized enum + // values. See go/protodosdonts. + // "RESTORE_FACTORY_ROM" - The user has installed a custom ROM, and + // should restore the device to a clean factory ROM. + // "LOCK_BOOTLOADER" - The device bootloader has been unlocked, the + // user should lock the bootloader. + // "GET_UNMODIFIED_APP" - The app is unrecognized. The user should get + // an unmodified version of the app. + // "SIGN_INTO_GOOGLE_ACCOUNT" - The user has not signed into their + // Google account. + // "INSTALL_APP_FROM_PLAY" - The user has no license. They should + // install or purchase the app on the Google Play Store to add it to + // their library. + Remediation string `json:"remediation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Remediation") 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. "Remediation") 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 *UserRemediationDetails) MarshalJSON() ([]byte, error) { + type NoMethod UserRemediationDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // method id "playintegrity.decodeIntegrityToken": type V1DecodeIntegrityTokenCall struct { diff --git a/recommender/v1/recommender-api.json b/recommender/v1/recommender-api.json index 1f92797552c..0f63d5663a1 100644 --- a/recommender/v1/recommender-api.json +++ b/recommender/v1/recommender-api.json @@ -451,7 +451,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -747,7 +747,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1175,7 +1175,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1603,7 +1603,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1686,7 +1686,7 @@ } } }, - "revision": "20230108", + "revision": "20230910", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { diff --git a/recommender/v1/recommender-gen.go b/recommender/v1/recommender-gen.go index 6cc96d09017..97137abf581 100644 --- a/recommender/v1/recommender-gen.go +++ b/recommender/v1/recommender-gen.go @@ -3507,7 +3507,7 @@ func (c *BillingAccountsLocationsRecommendersRecommendationsMarkDismissedCall) D // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -5012,7 +5012,7 @@ func (c *FoldersLocationsRecommendersRecommendationsMarkDismissedCall) Do(opts . // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -7178,7 +7178,7 @@ func (c *OrganizationsLocationsRecommendersRecommendationsMarkDismissedCall) Do( // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -9344,7 +9344,7 @@ func (c *ProjectsLocationsRecommendersRecommendationsMarkDismissedCall) Do(opts // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, diff --git a/recommender/v1beta1/recommender-api.json b/recommender/v1beta1/recommender-api.json index 1014a3c8b0d..6a4a61873ed 100644 --- a/recommender/v1beta1/recommender-api.json +++ b/recommender/v1beta1/recommender-api.json @@ -451,7 +451,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -747,7 +747,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1206,7 +1206,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1634,7 +1634,7 @@ ], "parameters": { "name": { - "description": "Name of the recommendation.", + "description": "Required. Name of the recommendation.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", "required": true, @@ -1748,7 +1748,7 @@ } } }, - "revision": "20230806", + "revision": "20230910", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1beta1CostProjection": { diff --git a/recommender/v1beta1/recommender-gen.go b/recommender/v1beta1/recommender-gen.go index a613d419ab9..4efa4b410a1 100644 --- a/recommender/v1beta1/recommender-gen.go +++ b/recommender/v1beta1/recommender-gen.go @@ -3681,7 +3681,7 @@ func (c *BillingAccountsLocationsRecommendersRecommendationsMarkDismissedCall) D // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -5200,7 +5200,7 @@ func (c *FoldersLocationsRecommendersRecommendationsMarkDismissedCall) Do(opts . // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -7560,7 +7560,7 @@ func (c *OrganizationsLocationsRecommendersRecommendationsMarkDismissedCall) Do( // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, @@ -9740,7 +9740,7 @@ func (c *ProjectsLocationsRecommendersRecommendationsMarkDismissedCall) Do(opts // ], // "parameters": { // "name": { - // "description": "Name of the recommendation.", + // "description": "Required. Name of the recommendation.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", // "required": true, diff --git a/securitycenter/v1/securitycenter-api.json b/securitycenter/v1/securitycenter-api.json index f8e028cd1b2..a83c3f3b615 100644 --- a/securitycenter/v1/securitycenter-api.json +++ b/securitycenter/v1/securitycenter-api.json @@ -4750,7 +4750,7 @@ } } }, - "revision": "20230904", + "revision": "20230907", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -5924,7 +5924,8 @@ "VULNERABILITY", "MISCONFIGURATION", "OBSERVATION", - "SCC_ERROR" + "SCC_ERROR", + "POSTURE_VIOLATION" ], "enumDescriptions": [ "Unspecified finding class.", @@ -5932,7 +5933,8 @@ "Describes a potential weakness in software that increases risk to Confidentiality \u0026 Integrity \u0026 Availability.", "Describes a potential weakness in cloud resource/asset configuration that increases risk.", "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality." + "Describes an error that prevents some SCC functionality.", + "Describes a potential security risk due to a change in the security posture." ], "type": "string" }, diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go index a77dd721d89..591dc3b7f79 100644 --- a/securitycenter/v1/securitycenter-gen.go +++ b/securitycenter/v1/securitycenter-gen.go @@ -2595,6 +2595,8 @@ type Finding struct { // informational purposes. // "SCC_ERROR" - Describes an error that prevents some SCC // functionality. + // "POSTURE_VIOLATION" - Describes a potential security risk due to a + // change in the security posture. FindingClass string `json:"findingClass,omitempty"` // IamBindings: Represents IAM bindings associated with the finding. diff --git a/securitycenter/v1beta1/securitycenter-api.json b/securitycenter/v1beta1/securitycenter-api.json index d52577ff057..dc8afa96a2b 100644 --- a/securitycenter/v1beta1/securitycenter-api.json +++ b/securitycenter/v1beta1/securitycenter-api.json @@ -896,7 +896,7 @@ } } }, - "revision": "20230904", + "revision": "20230907", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1789,7 +1789,8 @@ "VULNERABILITY", "MISCONFIGURATION", "OBSERVATION", - "SCC_ERROR" + "SCC_ERROR", + "POSTURE_VIOLATION" ], "enumDescriptions": [ "Unspecified finding class.", @@ -1797,7 +1798,8 @@ "Describes a potential weakness in software that increases risk to Confidentiality \u0026 Integrity \u0026 Availability.", "Describes a potential weakness in cloud resource/asset configuration that increases risk.", "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality." + "Describes an error that prevents some SCC functionality.", + "Describes a potential security risk due to a change in the security posture." ], "type": "string" }, diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go index 7dda81872cc..9f95d97baa8 100644 --- a/securitycenter/v1beta1/securitycenter-gen.go +++ b/securitycenter/v1beta1/securitycenter-gen.go @@ -1623,6 +1623,8 @@ type Finding struct { // informational purposes. // "SCC_ERROR" - Describes an error that prevents some SCC // functionality. + // "POSTURE_VIOLATION" - Describes a potential security risk due to a + // change in the security posture. FindingClass string `json:"findingClass,omitempty"` // IamBindings: Represents IAM bindings associated with the finding. diff --git a/securitycenter/v1beta2/securitycenter-api.json b/securitycenter/v1beta2/securitycenter-api.json index 9e980523a01..d0922b88d34 100644 --- a/securitycenter/v1beta2/securitycenter-api.json +++ b/securitycenter/v1beta2/securitycenter-api.json @@ -1981,7 +1981,7 @@ } } }, - "revision": "20230904", + "revision": "20230907", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2881,7 +2881,8 @@ "VULNERABILITY", "MISCONFIGURATION", "OBSERVATION", - "SCC_ERROR" + "SCC_ERROR", + "POSTURE_VIOLATION" ], "enumDescriptions": [ "Unspecified finding class.", @@ -2889,7 +2890,8 @@ "Describes a potential weakness in software that increases risk to Confidentiality \u0026 Integrity \u0026 Availability.", "Describes a potential weakness in cloud resource/asset configuration that increases risk.", "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality." + "Describes an error that prevents some SCC functionality.", + "Describes a potential security risk due to a change in the security posture." ], "type": "string" }, diff --git a/securitycenter/v1beta2/securitycenter-gen.go b/securitycenter/v1beta2/securitycenter-gen.go index c17bd44a1e7..cf7132a939e 100644 --- a/securitycenter/v1beta2/securitycenter-gen.go +++ b/securitycenter/v1beta2/securitycenter-gen.go @@ -1767,6 +1767,8 @@ type Finding struct { // informational purposes. // "SCC_ERROR" - Describes an error that prevents some SCC // functionality. + // "POSTURE_VIOLATION" - Describes a potential security risk due to a + // change in the security posture. FindingClass string `json:"findingClass,omitempty"` // IamBindings: Represents IAM bindings associated with the finding. diff --git a/storage/v1/storage-api.json b/storage/v1/storage-api.json index 62120711818..9e3b2dc465c 100644 --- a/storage/v1/storage-api.json +++ b/storage/v1/storage-api.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"39353535313838393033333032363632303533\"", + "etag": "\"3137393534363837313035303430333138303233\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -1572,6 +1572,34 @@ }, "objects": { "methods": { + "bulkRestore": { + "description": "Initiates a long-running bulk restore operation on the specified bucket.", + "httpMethod": "POST", + "id": "storage.objects.bulkRestore", + "parameterOrder": [ + "bucket" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket in which the object resides.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/o/bulkRestore", + "request": { + "$ref": "BulkRestoreObjectsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "compose": { "description": "Concatenates a list of existing objects into a new object in the same bucket.", "httpMethod": "POST", @@ -1925,6 +1953,11 @@ "location": "query", "type": "string" }, + "softDeleted": { + "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see Soft Delete.", + "location": "query", + "type": "boolean" + }, "userProject": { "description": "The project to be billed for this request. Required for Requester Pays buckets.", "location": "query", @@ -2177,6 +2210,11 @@ "location": "query", "type": "string" }, + "softDeleted": { + "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see Soft Delete.", + "location": "query", + "type": "boolean" + }, "startOffset": { "description": "Filter results to objects whose names are lexicographically equal to or after startOffset. If endOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", "location": "query", @@ -2309,6 +2347,89 @@ "https://www.googleapis.com/auth/devstorage.full_control" ] }, + "restore": { + "description": "Restores a soft-deleted object.", + "httpMethod": "POST", + "id": "storage.objects.restore", + "parameterOrder": [ + "bucket", + "object" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket in which the object resides.", + "location": "path", + "required": true, + "type": "string" + }, + "generation": { + "description": "Selects a specific revision of this object.", + "format": "int64", + "location": "query", + "required": true, + "type": "string" + }, + "ifGenerationMatch": { + "description": "Makes the operation conditional on whether the object's one live generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifGenerationNotMatch": { + "description": "Makes the operation conditional on whether none of the object's live generations match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationMatch": { + "description": "Makes the operation conditional on whether the object's one live metageneration matches the given value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationNotMatch": { + "description": "Makes the operation conditional on whether none of the object's live metagenerations match the given value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "object": { + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", + "location": "path", + "required": true, + "type": "string" + }, + "projection": { + "description": "Set of properties to return. Defaults to full.", + "enum": [ + "full", + "noAcl" + ], + "enumDescriptions": [ + "Include all properties.", + "Omit the owner, acl property." + ], + "location": "query", + "type": "string" + }, + "userProject": { + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/o/{object}/restore", + "request": { + "$ref": "Object" + }, + "response": { + "$ref": "Object" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control" + ] + }, "rewrite": { "description": "Rewrites a source object to a destination object. Optionally overrides metadata.", "httpMethod": "POST", @@ -2764,6 +2885,117 @@ } } }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed.", + "httpMethod": "POST", + "id": "storage.buckets.operations.cancel", + "parameterOrder": [ + "bucket", + "operationId" + ], + "parameters": { + "bucket": { + "description": "The parent bucket of the operation resource.", + "location": "path", + "required": true, + "type": "string" + }, + "operationId": { + "description": "The ID of the operation resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/operations/{operationId}/cancel", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation.", + "httpMethod": "GET", + "id": "storage.buckets.operations.get", + "parameterOrder": [ + "bucket", + "operationId" + ], + "parameters": { + "bucket": { + "description": "The parent bucket of the operation resource.", + "location": "path", + "required": true, + "type": "string" + }, + "operationId": { + "description": "The ID of the operation resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/operations/{operationId}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request.", + "httpMethod": "GET", + "id": "storage.buckets.operations.list", + "parameterOrder": [ + "bucket" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket in which to look for operations.", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of items to return in a single page of responses. Fewer total results may be returned than requested. The service uses this parameter or 100 items, whichever is smaller.", + "format": "int32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "A previously-returned page token representing part of the larger set of results to view.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + } + } + }, "projects": { "resources": { "hmacKeys": { @@ -3010,7 +3242,7 @@ } } }, - "revision": "20230710", + "revision": "20230907", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { @@ -3525,6 +3757,38 @@ }, "type": "object" }, + "BulkRestoreObjectsRequest": { + "description": "A bulk restore objects request.", + "id": "BulkRestoreObjectsRequest", + "properties": { + "allowOverwrite": { + "description": "If false (default), the restore will not overwrite live objects with the same name at the destination. This means some deleted objects may be skipped. If true, live objects will be overwritten resulting in a noncurrent object (if versioning is enabled). If versioning is not enabled, overwriting the object will result in a soft-deleted object. In either case, if a noncurrent object already exists with the same name, a live version can be written without issue.", + "type": "boolean" + }, + "copySourceAcl": { + "description": "If true, copies the source object's ACL; otherwise, uses the bucket's default object ACL. The default is false.", + "type": "boolean" + }, + "matchGlobs": { + "description": "Restores only the objects matching any of the specified glob(s). If this parameter is not specified, all objects will be restored within the specified time range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "softDeletedAfterTime": { + "description": "Restores only the objects that were soft-deleted after this time.", + "format": "date-time", + "type": "string" + }, + "softDeletedBeforeTime": { + "description": "Restores only the objects that were soft-deleted before this time.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, "Channel": { "description": "An notification channel used to watch for resource changes.", "id": "Channel", @@ -3656,6 +3920,86 @@ }, "type": "object" }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for storage.buckets.operations.list.", + "id": "GoogleLongrunningListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is \"false\", it means the operation is still in progress. If \"true\", the operation is completed, and either \"error\" or \"response\" is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the \"name\" should be a resource name ending with \"operations/{operationId}\".", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as \"Delete\", the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type \"XxxResponse\", where \"Xxx\" is the original method name. For example, if the original method name is \"TakeSnapshot()\", the inferred response type is \"TakeSnapshotResponse\".", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The \"Status\" type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each \"Status\" message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English.", + "type": "string" + } + }, + "type": "object" + }, "HmacKey": { "description": "JSON template to produce a JSON-style HMAC Key resource for Create responses.", "id": "HmacKey", diff --git a/storage/v1/storage-gen.go b/storage/v1/storage-gen.go index a3f6591497a..a634bb7d65e 100644 --- a/storage/v1/storage-gen.go +++ b/storage/v1/storage-gen.go @@ -162,6 +162,7 @@ func New(client *http.Client) (*Service, error) { s.Notifications = NewNotificationsService(s) s.ObjectAccessControls = NewObjectAccessControlsService(s) s.Objects = NewObjectsService(s) + s.Operations = NewOperationsService(s) s.Projects = NewProjectsService(s) return s, nil } @@ -185,6 +186,8 @@ type Service struct { Objects *ObjectsService + Operations *OperationsService + Projects *ProjectsService } @@ -258,6 +261,15 @@ type ObjectsService struct { s *Service } +func NewOperationsService(s *Service) *OperationsService { + rs := &OperationsService{s: s} + return rs +} + +type OperationsService struct { + s *Service +} + func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.HmacKeys = NewProjectsHmacKeysService(s) @@ -1296,6 +1308,59 @@ func (s *Buckets) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BulkRestoreObjectsRequest: A bulk restore objects request. +type BulkRestoreObjectsRequest struct { + // AllowOverwrite: If false (default), the restore will not overwrite + // live objects with the same name at the destination. This means some + // deleted objects may be skipped. If true, live objects will be + // overwritten resulting in a noncurrent object (if versioning is + // enabled). If versioning is not enabled, overwriting the object will + // result in a soft-deleted object. In either case, if a noncurrent + // object already exists with the same name, a live version can be + // written without issue. + AllowOverwrite bool `json:"allowOverwrite,omitempty"` + + // CopySourceAcl: If true, copies the source object's ACL; otherwise, + // uses the bucket's default object ACL. The default is false. + CopySourceAcl bool `json:"copySourceAcl,omitempty"` + + // MatchGlobs: Restores only the objects matching any of the specified + // glob(s). If this parameter is not specified, all objects will be + // restored within the specified time range. + MatchGlobs []string `json:"matchGlobs,omitempty"` + + // SoftDeletedAfterTime: Restores only the objects that were + // soft-deleted after this time. + SoftDeletedAfterTime string `json:"softDeletedAfterTime,omitempty"` + + // SoftDeletedBeforeTime: Restores only the objects that were + // soft-deleted before this time. + SoftDeletedBeforeTime string `json:"softDeletedBeforeTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AllowOverwrite") 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. "AllowOverwrite") 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 *BulkRestoreObjectsRequest) MarshalJSON() ([]byte, error) { + type NoMethod BulkRestoreObjectsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Channel: An notification channel used to watch for resource changes. type Channel struct { // Address: The address where notifications are delivered for this @@ -1512,6 +1577,150 @@ func (s *Expr) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleLongrunningListOperationsResponse: The response message for +// storage.buckets.operations.list. +type GoogleLongrunningListOperationsResponse struct { + // NextPageToken: The continuation token, used to page through large + // result sets. Provide this value in a subsequent request to return the + // next page of results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*GoogleLongrunningOperation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleLongrunningListOperationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleLongrunningOperation: This resource represents a long-running +// operation that is the result of a network API call. +type GoogleLongrunningOperation struct { + // Done: If the value is "false", it means the operation is still in + // progress. If "true", the operation is completed, and either "error" + // or "response" is available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *GoogleRpcStatus `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. It + // typically contains progress information and common metadata such as + // create time. Some services might not provide such metadata. Any + // method that returns a long-running operation should document the + // metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that originally returns it. If you use the default HTTP + // mapping, the "name" should be a resource name ending with + // "operations/{operationId}". + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. If + // the original method returns no data on success, such as "Delete", the + // response is google.protobuf.Empty. If the original method is standard + // Get/Create/Update, the response should be the resource. For other + // methods, the response should have the type "XxxResponse", where "Xxx" + // is the original method name. For example, if the original method name + // is "TakeSnapshot()", the inferred response type is + // "TakeSnapshotResponse". + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") 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. "Done") 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 *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleLongrunningOperation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleRpcStatus: The "Status" type defines a logical error model that +// is suitable for different programming environments, including REST +// APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each +// "Status" message contains three pieces of data: error code, error +// message, and error details. You can find out more about this error +// model and how to work with it in the API Design Guide +// (https://cloud.google.com/apis/design/errors). +type GoogleRpcStatus struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *GoogleRpcStatus) MarshalJSON() ([]byte, error) { + type NoMethod GoogleRpcStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HmacKey: JSON template to produce a JSON-style HMAC Key resource for // Create responses. type HmacKey struct { @@ -8358,6 +8567,149 @@ func (c *ObjectAccessControlsUpdateCall) Do(opts ...googleapi.CallOption) (*Obje } +// method id "storage.objects.bulkRestore": + +type ObjectsBulkRestoreCall struct { + s *Service + bucket string + bulkrestoreobjectsrequest *BulkRestoreObjectsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BulkRestore: Initiates a long-running bulk restore operation on the +// specified bucket. +// +// - bucket: Name of the bucket in which the object resides. +func (r *ObjectsService) BulkRestore(bucket string, bulkrestoreobjectsrequest *BulkRestoreObjectsRequest) *ObjectsBulkRestoreCall { + c := &ObjectsBulkRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + c.bulkrestoreobjectsrequest = bulkrestoreobjectsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ObjectsBulkRestoreCall) Fields(s ...googleapi.Field) *ObjectsBulkRestoreCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ObjectsBulkRestoreCall) Context(ctx context.Context) *ObjectsBulkRestoreCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ObjectsBulkRestoreCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ObjectsBulkRestoreCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkrestoreobjectsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/bulkRestore") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.objects.bulkRestore" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ObjectsBulkRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Initiates a long-running bulk restore operation on the specified bucket.", + // "httpMethod": "POST", + // "id": "storage.objects.bulkRestore", + // "parameterOrder": [ + // "bucket" + // ], + // "parameters": { + // "bucket": { + // "description": "Name of the bucket in which the object resides.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "b/{bucket}/o/bulkRestore", + // "request": { + // "$ref": "BulkRestoreObjectsRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/devstorage.full_control", + // "https://www.googleapis.com/auth/devstorage.read_write" + // ] + // } + +} + // method id "storage.objects.compose": type ObjectsComposeCall struct { @@ -9341,6 +9693,14 @@ func (c *ObjectsGetCall) Projection(projection string) *ObjectsGetCall { return c } +// SoftDeleted sets the optional parameter "softDeleted": If true, only +// soft-deleted object versions will be listed. The default is false. +// For more information, see Soft Delete. +func (c *ObjectsGetCall) SoftDeleted(softDeleted bool) *ObjectsGetCall { + c.urlParams_.Set("softDeleted", fmt.Sprint(softDeleted)) + return c +} + // UserProject sets the optional parameter "userProject": The project to // be billed for this request. Required for Requester Pays buckets. func (c *ObjectsGetCall) UserProject(userProject string) *ObjectsGetCall { @@ -9527,6 +9887,11 @@ func (c *ObjectsGetCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "location": "query", // "type": "string" // }, + // "softDeleted": { + // "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see Soft Delete.", + // "location": "query", + // "type": "boolean" + // }, // "userProject": { // "description": "The project to be billed for this request. Required for Requester Pays buckets.", // "location": "query", @@ -10288,6 +10653,14 @@ func (c *ObjectsListCall) Projection(projection string) *ObjectsListCall { return c } +// SoftDeleted sets the optional parameter "softDeleted": If true, only +// soft-deleted object versions will be listed. The default is false. +// For more information, see Soft Delete. +func (c *ObjectsListCall) SoftDeleted(softDeleted bool) *ObjectsListCall { + c.urlParams_.Set("softDeleted", fmt.Sprint(softDeleted)) + return c +} + // StartOffset sets the optional parameter "startOffset": Filter results // to objects whose names are lexicographically equal to or after // startOffset. If endOffset is also set, the objects listed will have @@ -10475,6 +10848,11 @@ func (c *ObjectsListCall) Do(opts ...googleapi.CallOption) (*Objects, error) { // "location": "query", // "type": "string" // }, + // "softDeleted": { + // "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see Soft Delete.", + // "location": "query", + // "type": "boolean" + // }, // "startOffset": { // "description": "Filter results to objects whose names are lexicographically equal to or after startOffset. If endOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).", // "location": "query", @@ -10844,26 +11222,284 @@ func (c *ObjectsPatchCall) Do(opts ...googleapi.CallOption) (*Object, error) { } -// method id "storage.objects.rewrite": +// method id "storage.objects.restore": -type ObjectsRewriteCall struct { - s *Service - sourceBucket string - sourceObject string - destinationBucket string - destinationObject string - object *Object - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ObjectsRestoreCall struct { + s *Service + bucket string + object string + object2 *Object + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Rewrite: Rewrites a source object to a destination object. Optionally -// overrides metadata. +// Restore: Restores a soft-deleted object. // -// - destinationBucket: Name of the bucket in which to store the new -// object. Overrides the provided object metadata's bucket value, if -// any. +// - bucket: Name of the bucket in which the object resides. +// - generation: Selects a specific revision of this object. +// - object: Name of the object. For information about how to URL encode +// object names to be path safe, see Encoding URI Path Parts. +func (r *ObjectsService) Restore(bucket string, object string, object2 *Object) *ObjectsRestoreCall { + c := &ObjectsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + c.object = object + c.object2 = object2 + return c +} + +// IfGenerationMatch sets the optional parameter "ifGenerationMatch": +// Makes the operation conditional on whether the object's one live +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. +func (c *ObjectsRestoreCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsRestoreCall { + c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) + return c +} + +// IfGenerationNotMatch sets the optional parameter +// "ifGenerationNotMatch": Makes the operation conditional on whether +// none of the object's live generations match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. +func (c *ObjectsRestoreCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsRestoreCall { + c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) + return c +} + +// IfMetagenerationMatch sets the optional parameter +// "ifMetagenerationMatch": Makes the operation conditional on whether +// the object's one live metageneration matches the given value. +func (c *ObjectsRestoreCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsRestoreCall { + c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprint(ifMetagenerationMatch)) + return c +} + +// IfMetagenerationNotMatch sets the optional parameter +// "ifMetagenerationNotMatch": Makes the operation conditional on +// whether none of the object's live metagenerations match the given +// value. +func (c *ObjectsRestoreCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsRestoreCall { + c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprint(ifMetagenerationNotMatch)) + return c +} + +// Projection sets the optional parameter "projection": Set of +// properties to return. Defaults to full. +// +// Possible values: +// +// "full" - Include all properties. +// "noAcl" - Omit the owner, acl property. +func (c *ObjectsRestoreCall) Projection(projection string) *ObjectsRestoreCall { + c.urlParams_.Set("projection", projection) + return c +} + +// UserProject sets the optional parameter "userProject": The project to +// be billed for this request. Required for Requester Pays buckets. +func (c *ObjectsRestoreCall) UserProject(userProject string) *ObjectsRestoreCall { + c.urlParams_.Set("userProject", userProject) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ObjectsRestoreCall) Fields(s ...googleapi.Field) *ObjectsRestoreCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ObjectsRestoreCall) Context(ctx context.Context) *ObjectsRestoreCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ObjectsRestoreCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ObjectsRestoreCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.object2) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/restore") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + "object": c.object, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.objects.restore" call. +// Exactly one of *Object or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Object.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ObjectsRestoreCall) Do(opts ...googleapi.CallOption) (*Object, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Object{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Restores a soft-deleted object.", + // "httpMethod": "POST", + // "id": "storage.objects.restore", + // "parameterOrder": [ + // "bucket", + // "object" + // ], + // "parameters": { + // "bucket": { + // "description": "Name of the bucket in which the object resides.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "generation": { + // "description": "Selects a specific revision of this object.", + // "format": "int64", + // "location": "query", + // "required": true, + // "type": "string" + // }, + // "ifGenerationMatch": { + // "description": "Makes the operation conditional on whether the object's one live generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", + // "format": "int64", + // "location": "query", + // "type": "string" + // }, + // "ifGenerationNotMatch": { + // "description": "Makes the operation conditional on whether none of the object's live generations match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", + // "format": "int64", + // "location": "query", + // "type": "string" + // }, + // "ifMetagenerationMatch": { + // "description": "Makes the operation conditional on whether the object's one live metageneration matches the given value.", + // "format": "int64", + // "location": "query", + // "type": "string" + // }, + // "ifMetagenerationNotMatch": { + // "description": "Makes the operation conditional on whether none of the object's live metagenerations match the given value.", + // "format": "int64", + // "location": "query", + // "type": "string" + // }, + // "object": { + // "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projection": { + // "description": "Set of properties to return. Defaults to full.", + // "enum": [ + // "full", + // "noAcl" + // ], + // "enumDescriptions": [ + // "Include all properties.", + // "Omit the owner, acl property." + // ], + // "location": "query", + // "type": "string" + // }, + // "userProject": { + // "description": "The project to be billed for this request. Required for Requester Pays buckets.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "b/{bucket}/o/{object}/restore", + // "request": { + // "$ref": "Object" + // }, + // "response": { + // "$ref": "Object" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/devstorage.full_control" + // ] + // } + +} + +// method id "storage.objects.rewrite": + +type ObjectsRewriteCall struct { + s *Service + sourceBucket string + sourceObject string + destinationBucket string + destinationObject string + object *Object + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Rewrite: Rewrites a source object to a destination object. Optionally +// overrides metadata. +// +// - destinationBucket: Name of the bucket in which to store the new +// object. Overrides the provided object metadata's bucket value, if +// any. // - destinationObject: Name of the new object. Required when the object // metadata is not otherwise provided. Overrides the object metadata's // name value, if any. For information about how to URL encode object @@ -12300,6 +12936,495 @@ func (c *ObjectsWatchAllCall) Do(opts ...googleapi.CallOption) (*Channel, error) } +// method id "storage.buckets.operations.cancel": + +type OperationsCancelCall struct { + s *Service + bucket string + operationId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server makes a best effort to cancel the operation, but success +// is not guaranteed. +// +// - bucket: The parent bucket of the operation resource. +// - operationId: The ID of the operation resource. +func (r *OperationsService) Cancel(bucket string, operationId string) *OperationsCancelCall { + c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + c.operationId = operationId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/operations/{operationId}/cancel") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + "operationId": c.operationId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.buckets.operations.cancel" call. +func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) error { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if err != nil { + return err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return gensupport.WrapError(err) + } + return nil + // { + // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed.", + // "httpMethod": "POST", + // "id": "storage.buckets.operations.cancel", + // "parameterOrder": [ + // "bucket", + // "operationId" + // ], + // "parameters": { + // "bucket": { + // "description": "The parent bucket of the operation resource.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "operationId": { + // "description": "The ID of the operation resource.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "b/{bucket}/operations/{operationId}/cancel", + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/devstorage.full_control", + // "https://www.googleapis.com/auth/devstorage.read_write" + // ] + // } + +} + +// method id "storage.buckets.operations.get": + +type OperationsGetCall struct { + s *Service + bucket string + operationId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. +// +// - bucket: The parent bucket of the operation resource. +// - operationId: The ID of the operation resource. +func (r *OperationsService) Get(bucket string, operationId string) *OperationsGetCall { + c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + c.operationId = operationId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/operations/{operationId}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + "operationId": c.operationId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.buckets.operations.get" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation.", + // "httpMethod": "GET", + // "id": "storage.buckets.operations.get", + // "parameterOrder": [ + // "bucket", + // "operationId" + // ], + // "parameters": { + // "bucket": { + // "description": "The parent bucket of the operation resource.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "operationId": { + // "description": "The ID of the operation resource.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "b/{bucket}/operations/{operationId}", + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/devstorage.full_control", + // "https://www.googleapis.com/auth/devstorage.read_only", + // "https://www.googleapis.com/auth/devstorage.read_write" + // ] + // } + +} + +// method id "storage.buckets.operations.list": + +type OperationsListCall struct { + s *Service + bucket string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. +// +// - bucket: Name of the bucket in which to look for operations. +func (r *OperationsService) List(bucket string) *OperationsListCall { + c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + return c +} + +// Filter sets the optional parameter "filter": A filter to narrow down +// results to a preferred subset. The filtering language is documented +// in more detail in AIP-160 (https://google.aip.dev/160). +func (c *OperationsListCall) Filter(filter string) *OperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// items to return in a single page of responses. Fewer total results +// may be returned than requested. The service uses this parameter or +// 100 items, whichever is smaller. +func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A +// previously-returned page token representing part of the larger set of +// results to view. +func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/operations") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.buckets.operations.list" call. +// Exactly one of *GoogleLongrunningListOperationsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request.", + // "httpMethod": "GET", + // "id": "storage.buckets.operations.list", + // "parameterOrder": [ + // "bucket" + // ], + // "parameters": { + // "bucket": { + // "description": "Name of the bucket in which to look for operations.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "filter": { + // "description": "A filter to narrow down results to a preferred subset. The filtering language is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum number of items to return in a single page of responses. Fewer total results may be returned than requested. The service uses this parameter or 100 items, whichever is smaller.", + // "format": "int32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A previously-returned page token representing part of the larger set of results to view.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "b/{bucket}/operations", + // "response": { + // "$ref": "GoogleLongrunningListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/devstorage.full_control", + // "https://www.googleapis.com/auth/devstorage.read_only", + // "https://www.googleapis.com/auth/devstorage.read_write" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *OperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "storage.projects.hmacKeys.create": type ProjectsHmacKeysCreateCall struct { diff --git a/vision/v1/vision-api.json b/vision/v1/vision-api.json index 070aa2bad7a..03d76512a93 100644 --- a/vision/v1/vision-api.json +++ b/vision/v1/vision-api.json @@ -1282,7 +1282,7 @@ } } }, - "revision": "20230804", + "revision": "20230908", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { @@ -1497,6 +1497,13 @@ "description": "Multiple async file annotation requests are batched into a single service call.", "id": "AsyncBatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -1529,6 +1536,13 @@ "description": "Request for async image annotation for a list of images.", "id": "AsyncBatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "outputConfig": { "$ref": "OutputConfig", "description": "Required. The desired output location and metadata (e.g. format)." @@ -1562,6 +1576,13 @@ "description": "A list of requests to annotate files using the BatchAnnotateFiles API.", "id": "BatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -1594,6 +1615,13 @@ "description": "Multiple image annotation requests are batched into a single service call.", "id": "BatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" diff --git a/vision/v1/vision-gen.go b/vision/v1/vision-gen.go index 017eb677b6c..c07472cb34e 100644 --- a/vision/v1/vision-gen.go +++ b/vision/v1/vision-gen.go @@ -673,6 +673,14 @@ func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { // AsyncBatchAnnotateFilesRequest: Multiple async file annotation // requests are batched into a single service call. type AsyncBatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -685,7 +693,7 @@ type AsyncBatchAnnotateFilesRequest struct { // this batch. Requests []*AsyncAnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -693,7 +701,7 @@ type AsyncBatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -741,6 +749,14 @@ func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { // AsyncBatchAnnotateImagesRequest: Request for async image annotation // for a list of images. type AsyncBatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // OutputConfig: Required. The desired output location and metadata // (e.g. format). OutputConfig *OutputConfig `json:"outputConfig,omitempty"` @@ -757,7 +773,7 @@ type AsyncBatchAnnotateImagesRequest struct { // batch. Requests []*AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "OutputConfig") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -765,10 +781,10 @@ type AsyncBatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OutputConfig") 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 + // NullFields is a list of field names (e.g. "Labels") 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:"-"` @@ -813,6 +829,14 @@ func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { // BatchAnnotateFilesRequest: A list of requests to annotate files using // the BatchAnnotateFiles API. type BatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -825,7 +849,7 @@ type BatchAnnotateFilesRequest struct { // we support only one AnnotateFileRequest in BatchAnnotateFilesRequest. Requests []*AnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -833,7 +857,7 @@ type BatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -885,6 +909,14 @@ func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { // BatchAnnotateImagesRequest: Multiple image annotation requests are // batched into a single service call. type BatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -897,7 +929,7 @@ type BatchAnnotateImagesRequest struct { // batch. Requests []*AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -905,7 +937,7 @@ type BatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 diff --git a/vision/v1p1beta1/vision-api.json b/vision/v1p1beta1/vision-api.json index f19f42dc3a1..c24b32e7f18 100644 --- a/vision/v1p1beta1/vision-api.json +++ b/vision/v1p1beta1/vision-api.json @@ -449,7 +449,7 @@ } } }, - "revision": "20230804", + "revision": "20230908", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -1320,6 +1320,13 @@ "description": "Multiple async file annotation requests are batched into a single service call.", "id": "GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -1352,6 +1359,13 @@ "description": "Request for async image annotation for a list of images.", "id": "GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "outputConfig": { "$ref": "GoogleCloudVisionV1p1beta1OutputConfig", "description": "Required. The desired output location and metadata (e.g. format)." @@ -1374,6 +1388,13 @@ "description": "A list of requests to annotate files using the BatchAnnotateFiles API.", "id": "GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -1406,6 +1427,13 @@ "description": "Multiple image annotation requests are batched into a single service call.", "id": "GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" diff --git a/vision/v1p1beta1/vision-gen.go b/vision/v1p1beta1/vision-gen.go index 566f3bc19bd..1269f986802 100644 --- a/vision/v1p1beta1/vision-gen.go +++ b/vision/v1p1beta1/vision-gen.go @@ -1636,6 +1636,14 @@ func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]b // async file annotation requests are batched into a single service // call. type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -1648,7 +1656,7 @@ type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest struct { // this batch. Requests []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -1656,7 +1664,7 @@ type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -1704,6 +1712,14 @@ func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON( // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest: Request // for async image annotation for a list of images. type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // OutputConfig: Required. The desired output location and metadata // (e.g. format). OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` @@ -1720,7 +1736,7 @@ type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest struct { // batch. Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "OutputConfig") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -1728,10 +1744,10 @@ type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OutputConfig") 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 + // NullFields is a list of field names (e.g. "Labels") 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:"-"` @@ -1746,6 +1762,14 @@ func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) MarshalJSON( // GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest: A list of // requests to annotate files using the BatchAnnotateFiles API. type GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -1758,7 +1782,7 @@ type GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest struct { // we support only one AnnotateFileRequest in BatchAnnotateFilesRequest. Requests []*GoogleCloudVisionV1p1beta1AnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -1766,7 +1790,7 @@ type GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -1819,6 +1843,14 @@ func (s *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse) MarshalJSON() ([] // GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest: Multiple image // annotation requests are batched into a single service call. type GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -1831,7 +1863,7 @@ type GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest struct { // batch. Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -1839,7 +1871,7 @@ type GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 diff --git a/vision/v1p2beta1/vision-api.json b/vision/v1p2beta1/vision-api.json index c650e686155..aa56b32fd80 100644 --- a/vision/v1p2beta1/vision-api.json +++ b/vision/v1p2beta1/vision-api.json @@ -449,7 +449,7 @@ } } }, - "revision": "20230804", + "revision": "20230908", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -2734,6 +2734,13 @@ "description": "Multiple async file annotation requests are batched into a single service call.", "id": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -2766,6 +2773,13 @@ "description": "Request for async image annotation for a list of images.", "id": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "outputConfig": { "$ref": "GoogleCloudVisionV1p2beta1OutputConfig", "description": "Required. The desired output location and metadata (e.g. format)." @@ -2788,6 +2802,13 @@ "description": "A list of requests to annotate files using the BatchAnnotateFiles API.", "id": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" @@ -2820,6 +2841,13 @@ "description": "Multiple image annotation requests are batched into a single service call.", "id": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object" + }, "parent": { "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", "type": "string" diff --git a/vision/v1p2beta1/vision-gen.go b/vision/v1p2beta1/vision-gen.go index 736c8dfc262..7f3c9a22e56 100644 --- a/vision/v1p2beta1/vision-gen.go +++ b/vision/v1p2beta1/vision-gen.go @@ -3936,6 +3936,14 @@ func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]b // async file annotation requests are batched into a single service // call. type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -3948,7 +3956,7 @@ type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest struct { // this batch. Requests []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -3956,7 +3964,7 @@ type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -4004,6 +4012,14 @@ func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON( // GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest: Request // for async image annotation for a list of images. type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // OutputConfig: Required. The desired output location and metadata // (e.g. format). OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` @@ -4020,7 +4036,7 @@ type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest struct { // batch. Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "OutputConfig") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -4028,10 +4044,10 @@ type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OutputConfig") 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 + // NullFields is a list of field names (e.g. "Labels") 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:"-"` @@ -4046,6 +4062,14 @@ func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) MarshalJSON( // GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest: A list of // requests to annotate files using the BatchAnnotateFiles API. type GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -4058,7 +4082,7 @@ type GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest struct { // we support only one AnnotateFileRequest in BatchAnnotateFilesRequest. Requests []*GoogleCloudVisionV1p2beta1AnnotateFileRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -4066,7 +4090,7 @@ type GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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 @@ -4119,6 +4143,14 @@ func (s *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse) MarshalJSON() ([] // GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest: Multiple image // annotation requests are batched into a single service call. type GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest struct { + // Labels: Optional. The labels with user-defined metadata for the + // request. Label keys and values can be no longer than 63 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are + // allowed. Label values are optional. Label keys must start with a + // letter. + Labels map[string]string `json:"labels,omitempty"` + // Parent: Optional. Target project and location to make a call. Format: // `projects/{project-id}/locations/{location-id}`. If no parent is // specified, a region will be chosen automatically. Supported @@ -4131,7 +4163,7 @@ type GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest struct { // batch. Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` - // ForceSendFields is a list of field names (e.g. "Parent") to + // ForceSendFields is a list of field names (e.g. "Labels") 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 @@ -4139,7 +4171,7 @@ type GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Parent") to include in API + // NullFields is a list of field names (e.g. "Labels") 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