diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index cce1061bd3c..42e06a5a547 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -4732,7 +4732,7 @@ } } }, - "revision": "20241003", + "revision": "20241016", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -6086,6 +6086,13 @@ "$ref": "SystemFeature" }, "type": "array" + }, + "systemOnChips": { + "description": "Optional. The SoCs included by this selector. Only works for Android S+ devices.", + "items": { + "$ref": "SystemOnChip" + }, + "type": "array" } }, "type": "object" @@ -9131,6 +9138,21 @@ "properties": {}, "type": "object" }, + "SystemOnChip": { + "description": "Representation of a System-on-Chip (SoC) of an Android device. Can be used to target S+ devices.", + "id": "SystemOnChip", + "properties": { + "manufacturer": { + "description": "Required. The designer of the SoC, eg. \"Google\" Value of build property \"ro.soc.manufacturer\" https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER Required.", + "type": "string" + }, + "model": { + "description": "Required. The model of the SoC, eg. \"Tensor\" Value of build property \"ro.soc.model\" https://developer.android.com/reference/android/os/Build#SOC_MODEL Required.", + "type": "string" + } + }, + "type": "object" + }, "Targeting": { "description": "Targeting details for a recovery action such as regions, android sdk levels, app versions etc.", "id": "Targeting", diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 6f946e45e5f..b7945005c7e 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -2421,6 +2421,9 @@ type DeviceSelector struct { // RequiredSystemFeatures: A device needs to have all these system features to // be included by the selector. RequiredSystemFeatures []*SystemFeature `json:"requiredSystemFeatures,omitempty"` + // SystemOnChips: Optional. The SoCs included by this selector. Only works for + // Android S+ devices. + SystemOnChips []*SystemOnChip `json:"systemOnChips,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceRam") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -6490,6 +6493,36 @@ func (s SystemFeature) MarshalJSON() ([]byte, error) { type SystemInitiatedCancellation struct { } +// SystemOnChip: Representation of a System-on-Chip (SoC) of an Android device. +// Can be used to target S+ devices. +type SystemOnChip struct { + // Manufacturer: Required. The designer of the SoC, eg. "Google" Value of build + // property "ro.soc.manufacturer" + // https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER + // Required. + Manufacturer string `json:"manufacturer,omitempty"` + // Model: Required. The model of the SoC, eg. "Tensor" Value of build property + // "ro.soc.model" + // https://developer.android.com/reference/android/os/Build#SOC_MODEL Required. + Model string `json:"model,omitempty"` + // ForceSendFields is a list of field names (e.g. "Manufacturer") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Manufacturer") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SystemOnChip) MarshalJSON() ([]byte, error) { + type NoMethod SystemOnChip + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Targeting: Targeting details for a recovery action such as regions, android // sdk levels, app versions etc. type Targeting struct { diff --git a/apigee/v1/apigee-api.json b/apigee/v1/apigee-api.json index edc75823e50..3527de57ad1 100644 --- a/apigee/v1/apigee-api.json +++ b/apigee/v1/apigee-api.json @@ -9574,7 +9574,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name.", + "description": "Required. The parent resource name. Format: `organizations/{org}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -9607,7 +9607,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the security profile v2 to delete.", + "description": "Required. The name of the security profile v2 to delete. Format: `organizations/{org}/securityProfilesV2/{profile}`", "location": "path", "pattern": "^organizations/[^/]+/securityProfilesV2/[^/]+$", "required": true, @@ -9632,7 +9632,7 @@ ], "parameters": { "name": { - "description": "Required. The security profile id.", + "description": "Required. The name of the security profile v2 to get. Format: `organizations/{org}/securityProfilesV2/{profile}`", "location": "path", "pattern": "^organizations/[^/]+/securityProfilesV2/[^/]+$", "required": true, @@ -9700,7 +9700,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The list of fields to update.", + "description": "Optional. The list of fields to update. Valid fields to update are `description` and `profileAssessmentConfigs`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -10373,7 +10373,7 @@ } } }, - "revision": "20241004", + "revision": "20241011", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { diff --git a/apigee/v1/apigee-gen.go b/apigee/v1/apigee-gen.go index 1b894d69e32..1f6c9397786 100644 --- a/apigee/v1/apigee-gen.go +++ b/apigee/v1/apigee-gen.go @@ -46233,7 +46233,7 @@ type OrganizationsSecurityProfilesV2CreateCall struct { // Create: Create a security profile v2. // -// - parent: The parent resource name. +// - parent: The parent resource name. Format: `organizations/{org}`. func (r *OrganizationsSecurityProfilesV2Service) Create(parent string, googlecloudapigeev1securityprofilev2 *GoogleCloudApigeeV1SecurityProfileV2) *OrganizationsSecurityProfilesV2CreateCall { c := &OrganizationsSecurityProfilesV2CreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -46341,7 +46341,8 @@ type OrganizationsSecurityProfilesV2DeleteCall struct { // Delete: Delete a security profile v2. // -// - name: The name of the security profile v2 to delete. +// - name: The name of the security profile v2 to delete. Format: +// `organizations/{org}/securityProfilesV2/{profile}`. func (r *OrganizationsSecurityProfilesV2Service) Delete(name string) *OrganizationsSecurityProfilesV2DeleteCall { c := &OrganizationsSecurityProfilesV2DeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -46438,7 +46439,8 @@ type OrganizationsSecurityProfilesV2GetCall struct { // Get: Get a security profile v2. // -// - name: The security profile id. +// - name: The name of the security profile v2 to get. Format: +// `organizations/{org}/securityProfilesV2/{profile}`. func (r *OrganizationsSecurityProfilesV2Service) Get(name string) *OrganizationsSecurityProfilesV2GetCall { c := &OrganizationsSecurityProfilesV2GetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -46700,8 +46702,9 @@ func (r *OrganizationsSecurityProfilesV2Service) Patch(name string, googleclouda return c } -// UpdateMask sets the optional parameter "updateMask": Required. The list of -// fields to update. +// UpdateMask sets the optional parameter "updateMask": The list of fields to +// update. Valid fields to update are `description` and +// `profileAssessmentConfigs`. func (c *OrganizationsSecurityProfilesV2PatchCall) UpdateMask(updateMask string) *OrganizationsSecurityProfilesV2PatchCall { c.urlParams_.Set("updateMask", updateMask) return c diff --git a/bigtableadmin/v2/bigtableadmin-api.json b/bigtableadmin/v2/bigtableadmin-api.json index 6496fb7e863..41883b0526c 100644 --- a/bigtableadmin/v2/bigtableadmin-api.json +++ b/bigtableadmin/v2/bigtableadmin-api.json @@ -2194,7 +2194,7 @@ } } }, - "revision": "20240918", + "revision": "20241008", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -2325,7 +2325,7 @@ "id": "AutomatedBackupPolicy", "properties": { "frequency": { - "description": "Required. How frequently automated backups should occur. The only supported value at this time is 24 hours.", + "description": "How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.", "format": "google-duration", "type": "string" }, @@ -3174,7 +3174,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeAggregate": { - "description": "A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes will provide either the `input_type` or `state_type`, and reads will always return the `state_type` .", + "description": "A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .", "id": "GoogleBigtableAdminV2TypeAggregate", "properties": { "hllppUniqueCount": { @@ -3183,7 +3183,7 @@ }, "inputType": { "$ref": "Type", - "description": "Type of the inputs that are accumulated by this `Aggregate`, which must specify a full encoding. Use `AddInput` mutations to accumulate new inputs." + "description": "Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs." }, "max": { "$ref": "GoogleBigtableAdminV2TypeAggregateMax", @@ -3195,7 +3195,7 @@ }, "stateType": { "$ref": "Type", - "description": "Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen, and will always specify a full encoding.", + "description": "Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.", "readOnly": true }, "sum": { @@ -3252,13 +3252,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeBytesEncoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeBytesEncoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeBytesEncoding", "properties": { "raw": { @@ -3269,7 +3269,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeBytesEncodingRaw": { - "description": "Leaves the value \"as-is\" * Order-preserving? Yes * Self-delimiting? No * Compatibility? N/A", + "description": "Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.", "id": "GoogleBigtableAdminV2TypeBytesEncodingRaw", "properties": {}, "type": "object" @@ -3298,13 +3298,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeInt64Encoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeInt64Encoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeInt64Encoding", "properties": { "bigEndianBytes": { @@ -3315,7 +3315,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes": { - "description": "Encodes the value as an 8-byte big endian twos complement `Bytes` value. * Order-preserving? No (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery Federation `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`", + "description": "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`", "id": "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes", "properties": { "bytesType": { @@ -3347,13 +3347,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeStringEncoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeStringEncoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeStringEncoding", "properties": { "utf8Bytes": { @@ -3369,7 +3369,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes": { - "description": "UTF-8 encoding * Order-preserving? Yes (code point order) * Self-delimiting? No * Compatibility? - BigQuery Federation `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", + "description": "UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", "id": "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes", "properties": {}, "type": "object" @@ -4302,7 +4302,7 @@ "type": "object" }, "Type": { - "description": "`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to/from the underlying data. Each encoding also defines the following properties: * Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, *not* the decoded type. - Example: BYTES values sort in the same order as their raw encodings. - Counterexample: Encoding INT64 as a fixed-width decimal string does *not* preserve sort order when dealing with negative numbers. `INT64(1) \u003e INT64(-1)`, but `STRING(\"-00001\") \u003e STRING(\"00001)`. * Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins? - Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign. - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends. * Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?", + "description": "`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) \u003c= Encode(Y)` if and only if `X \u003c= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both \"{'foo': '1', 'bar': '2'}\" and \"{'bar': '2', 'foo': '1'}\" are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) \u003e INT64(-1)`, but `STRING(\"-00001\") \u003e STRING(\"00001\")`.", "id": "Type", "properties": { "aggregateType": { diff --git a/bigtableadmin/v2/bigtableadmin-gen.go b/bigtableadmin/v2/bigtableadmin-gen.go index 63a13c755b9..1f1530d006a 100644 --- a/bigtableadmin/v2/bigtableadmin-gen.go +++ b/bigtableadmin/v2/bigtableadmin-gen.go @@ -507,8 +507,9 @@ func (s AuthorizedView) MarshalJSON() ([]byte, error) { // AutomatedBackupPolicy: Defines an automated backup policy for a table type AutomatedBackupPolicy struct { - // Frequency: Required. How frequently automated backups should occur. The only - // supported value at this time is 24 hours. + // Frequency: How frequently automated backups should occur. The only supported + // value at this time is 24 hours. An undefined frequency is treated as 24 + // hours. Frequency string `json:"frequency,omitempty"` // RetentionPeriod: Required. How long the automated backups should be // retained. The only supported value at this time is 3 days. @@ -1853,14 +1854,13 @@ func (s GoogleBigtableAdminV2AuthorizedViewSubsetView) MarshalJSON() ([]byte, er // GoogleBigtableAdminV2TypeAggregate: A value that combines incremental // updates into a summarized value. Data is never directly written or read -// using type `Aggregate`. Writes will provide either the `input_type` or -// `state_type`, and reads will always return the `state_type` . +// using type `Aggregate`. Writes provide either the `input_type` or +// `state_type`, and reads always return the `state_type` . type GoogleBigtableAdminV2TypeAggregate struct { // HllppUniqueCount: HyperLogLogPlusPlusUniqueCount aggregator. HllppUniqueCount *GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount `json:"hllppUniqueCount,omitempty"` - // InputType: Type of the inputs that are accumulated by this `Aggregate`, - // which must specify a full encoding. Use `AddInput` mutations to accumulate - // new inputs. + // InputType: Type of the inputs that are accumulated by this `Aggregate`. Use + // `AddInput` mutations to accumulate new inputs. InputType *Type `json:"inputType,omitempty"` // Max: Max aggregator. Max *GoogleBigtableAdminV2TypeAggregateMax `json:"max,omitempty"` @@ -1868,7 +1868,7 @@ type GoogleBigtableAdminV2TypeAggregate struct { Min *GoogleBigtableAdminV2TypeAggregateMin `json:"min,omitempty"` // StateType: Output only. Type that holds the internal accumulator state for // the `Aggregate`. This is a function of the `input_type` and `aggregator` - // chosen, and will always specify a full encoding. + // chosen. StateType *Type `json:"stateType,omitempty"` // Sum: Sum aggregator. Sum *GoogleBigtableAdminV2TypeAggregateSum `json:"sum,omitempty"` @@ -1946,7 +1946,7 @@ type GoogleBigtableAdminV2TypeBool struct { // GoogleBigtableAdminV2TypeBytes: Bytes Values of type `Bytes` are stored in // `Value.bytes_value`. type GoogleBigtableAdminV2TypeBytes struct { - // Encoding: The encoding to use when converting to/from lower level types. + // Encoding: The encoding to use when converting to or from lower level types. Encoding *GoogleBigtableAdminV2TypeBytesEncoding `json:"encoding,omitempty"` // ForceSendFields is a list of field names (e.g. "Encoding") to // unconditionally include in API requests. By default, fields with empty or @@ -1966,8 +1966,8 @@ func (s GoogleBigtableAdminV2TypeBytes) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// GoogleBigtableAdminV2TypeBytesEncoding: Rules used to convert to/from lower -// level types. +// GoogleBigtableAdminV2TypeBytesEncoding: Rules used to convert to or from +// lower level types. type GoogleBigtableAdminV2TypeBytesEncoding struct { // Raw: Use `Raw` encoding. Raw *GoogleBigtableAdminV2TypeBytesEncodingRaw `json:"raw,omitempty"` @@ -1989,8 +1989,8 @@ func (s GoogleBigtableAdminV2TypeBytesEncoding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// GoogleBigtableAdminV2TypeBytesEncodingRaw: Leaves the value "as-is" * -// Order-preserving? Yes * Self-delimiting? No * Compatibility? N/A +// GoogleBigtableAdminV2TypeBytesEncodingRaw: Leaves the value as-is. Sorted +// mode: all values are supported. Distinct mode: all values are supported. type GoogleBigtableAdminV2TypeBytesEncodingRaw struct { } @@ -2012,7 +2012,7 @@ type GoogleBigtableAdminV2TypeFloat64 struct { // GoogleBigtableAdminV2TypeInt64: Int64 Values of type `Int64` are stored in // `Value.int_value`. type GoogleBigtableAdminV2TypeInt64 struct { - // Encoding: The encoding to use when converting to/from lower level types. + // Encoding: The encoding to use when converting to or from lower level types. Encoding *GoogleBigtableAdminV2TypeInt64Encoding `json:"encoding,omitempty"` // ForceSendFields is a list of field names (e.g. "Encoding") to // unconditionally include in API requests. By default, fields with empty or @@ -2032,8 +2032,8 @@ func (s GoogleBigtableAdminV2TypeInt64) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// GoogleBigtableAdminV2TypeInt64Encoding: Rules used to convert to/from lower -// level types. +// GoogleBigtableAdminV2TypeInt64Encoding: Rules used to convert to or from +// lower level types. type GoogleBigtableAdminV2TypeInt64Encoding struct { // BigEndianBytes: Use `BigEndianBytes` encoding. BigEndianBytes *GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes `json:"bigEndianBytes,omitempty"` @@ -2056,9 +2056,9 @@ func (s GoogleBigtableAdminV2TypeInt64Encoding) MarshalJSON() ([]byte, error) { } // GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes: Encodes the value as -// an 8-byte big endian twos complement `Bytes` value. * Order-preserving? No -// (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery -// Federation `BINARY` encoding - HBase `Bytes.toBytes` - Java +// an 8-byte big-endian two's complement value. Sorted mode: non-negative +// values are supported. Distinct mode: all values are supported. Compatible +// with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java // `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN` type GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes struct { // BytesType: Deprecated: ignored if set. @@ -2114,7 +2114,7 @@ func (s GoogleBigtableAdminV2TypeMap) MarshalJSON() ([]byte, error) { // GoogleBigtableAdminV2TypeString: String Values of type `String` are stored // in `Value.string_value`. type GoogleBigtableAdminV2TypeString struct { - // Encoding: The encoding to use when converting to/from lower level types. + // Encoding: The encoding to use when converting to or from lower level types. Encoding *GoogleBigtableAdminV2TypeStringEncoding `json:"encoding,omitempty"` // ForceSendFields is a list of field names (e.g. "Encoding") to // unconditionally include in API requests. By default, fields with empty or @@ -2134,8 +2134,8 @@ func (s GoogleBigtableAdminV2TypeString) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// GoogleBigtableAdminV2TypeStringEncoding: Rules used to convert to/from lower -// level types. +// GoogleBigtableAdminV2TypeStringEncoding: Rules used to convert to or from +// lower level types. type GoogleBigtableAdminV2TypeStringEncoding struct { // Utf8Bytes: Use `Utf8Bytes` encoding. Utf8Bytes *GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes `json:"utf8Bytes,omitempty"` @@ -2159,10 +2159,10 @@ func (s GoogleBigtableAdminV2TypeStringEncoding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes: UTF-8 encoding * -// Order-preserving? Yes (code point order) * Self-delimiting? No * -// Compatibility? - BigQuery Federation `TEXT` encoding - HBase `Bytes.toBytes` -// - Java `String#getBytes(StandardCharsets.UTF_8)` +// GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes: UTF-8 encoding. Sorted +// mode: - All values are supported. - Code point order is preserved. Distinct +// mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding +// - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)` type GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes struct { } @@ -3541,21 +3541,18 @@ func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { // stored in Bigtable. It is heavily based on the GoogleSQL standard to help // maintain familiarity and consistency across products and features. For // compatibility with Bigtable's existing untyped APIs, each `Type` includes an -// `Encoding` which describes how to convert to/from the underlying data. Each -// encoding also defines the following properties: * Order-preserving: Does the -// encoded value sort consistently with the original typed value? Note that -// Bigtable will always sort data based on the raw encoded value, *not* the -// decoded type. - Example: BYTES values sort in the same order as their raw -// encodings. - Counterexample: Encoding INT64 as a fixed-width decimal string -// does *not* preserve sort order when dealing with negative numbers. `INT64(1) -// > INT64(-1)`, but `STRING("-00001") > STRING("00001)`. * Self-delimiting: If -// we concatenate two encoded values, can we always tell where the first one -// ends and the second one begins? - Example: If we encode INT64s to -// fixed-width STRINGs, the first value will always contain exactly N digits, -// possibly preceded by a sign. - Counterexample: If we concatenate two UTF-8 -// encoded STRINGs, we have no way to tell where the first one ends. * -// Compatibility: Which other systems have matching encoding schemes? For -// example, does this encoding have a GoogleSQL equivalent? HBase? Java? +// `Encoding` which describes how to convert to or from the underlying data. +// Each encoding can operate in one of two modes: - Sorted: In this mode, +// Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. +// This is useful anywhere sort order is important, for example when encoding +// keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then +// `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For +// example, both "{'foo': '1', 'bar': '2'}" and "{'bar': '2', 'foo': '1'}" are +// valid encodings of the same JSON value. The API clearly documents which mode +// is used wherever an encoding can be configured. Each encoding also documents +// which values are supported in which modes. For example, when encoding INT64 +// as a numeric STRING, negative numbers cannot be encoded in sorted mode. This +// is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`. type Type struct { // AggregateType: Aggregate AggregateType *GoogleBigtableAdminV2TypeAggregate `json:"aggregateType,omitempty"` diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index 44db7bd9469..522b717b3f6 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -27765,7 +27765,7 @@ ] }, "get": { - "description": "Returns the specified multi-MIG resource.", + "description": "Returns all the details of a specific multi-MIG.", "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", "httpMethod": "GET", "id": "compute.regionMultiMigs.get", @@ -27832,7 +27832,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -42526,7 +42526,7 @@ } } }, - "revision": "20241001", + "revision": "20241008", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -59949,7 +59949,7 @@ "id": "InstancesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policies.", + "description": "[Output Only] Effective firewalls from firewall policies.", "items": { "$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -59990,7 +59990,7 @@ "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", "items": { "$ref": "FirewallPolicyRule" }, @@ -60910,10 +60910,18 @@ "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", "id": "Interconnect", "properties": { + "aaiEnabled": { + "description": "Enable or disable the application awareness feature on this Cloud Interconnect.", + "type": "boolean" + }, "adminEnabled": { "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", "type": "boolean" }, + "applicationAwareInterconnect": { + "$ref": "InterconnectApplicationAwareInterconnect", + "description": "Configuration information for application awareness on this Cloud Interconnect." + }, "availableFeatures": { "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", "items": { @@ -61108,6 +61116,81 @@ }, "type": "object" }, + "InterconnectApplicationAwareInterconnect": { + "description": "Configuration information for application awareness on this Cloud Interconnect.", + "id": "InterconnectApplicationAwareInterconnect", + "properties": { + "bandwidthPercentagePolicy": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" + }, + "profileDescription": { + "description": "Description for the application awareness profile on this Cloud Interconnect.", + "type": "string" + }, + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + }, + "strictPriorityPolicy": { + "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentage": { + "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "properties": { + "percentage": { + "description": "Bandwidth percentage for a specific traffic class.", + "format": "uint32", + "type": "integer" + }, + "trafficClass": { + "description": "TrafficClass whose bandwidth percentage is being specified.", + "enum": [ + "TC1", + "TC2", + "TC3", + "TC4", + "TC5", + "TC6" + ], + "enumDescriptions": [ + "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", + "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", + "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", + "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", + "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", + "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "properties": { + "bandwidthPercentages": { + "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { + "description": "Specify configuration for StrictPriorityPolicy.", + "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", + "properties": {}, + "type": "object" + }, "InterconnectAttachment": { "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", "id": "InterconnectAttachment", @@ -64820,7 +64903,7 @@ "type": "string" }, "items": { - "description": "A list of multi-MIG resources.", + "description": "A list of multi-MIGs in the specified project and region.", "items": { "$ref": "MultiMig" }, @@ -68007,7 +68090,7 @@ "id": "NetworksGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", "items": { "$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -68048,7 +68131,7 @@ "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -75551,7 +75634,7 @@ "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", "items": { "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -75584,7 +75667,7 @@ "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -75776,7 +75859,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the reservation.", + "description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", "enum": [ "CREATING", "DELETING", @@ -75785,11 +75868,11 @@ "UPDATING" ], "enumDescriptions": [ - "Resources are being allocated for the reservation.", - "Reservation is currently being deleted.", + "Reservation resources are being allocated.", + "Reservation deletion is in progress.", "", - "Reservation has allocated all its resources.", - "Reservation is currently being resized." + "Reservation resources have been allocated, and the reservation is ready for use.", + "Reservation update is in progress." ], "type": "string" }, diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index 140c0c58644..da9b04a7ed3 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -21848,7 +21848,7 @@ func (s InstancesBulkInsertOperationMetadata) MarshalJSON() ([]byte, error) { } type InstancesGetEffectiveFirewallsResponse struct { - // FirewallPolicys: Effective firewalls from firewall policies. + // FirewallPolicys: [Output Only] Effective firewalls from firewall policies. FirewallPolicys []*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy `json:"firewallPolicys,omitempty"` // Firewalls: Effective firewalls on the instance. Firewalls []*Firewall `json:"firewalls,omitempty"` @@ -21884,7 +21884,9 @@ type InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // Priority: [Output only] Priority of firewall policy association. Not // applicable for type=HIERARCHY. Priority int64 `json:"priority,omitempty"` - // Rules: The rules that apply to the network. + // Rules: [Output Only] The rules that apply to the instance. Only rules that + // target the specific VM instance are returned if target service accounts or + // target secure tags are specified in the rules. Rules []*FirewallPolicyRule `json:"rules,omitempty"` // ShortName: [Output Only] The short name of the firewall policy. ShortName string `json:"shortName,omitempty"` @@ -22936,11 +22938,17 @@ func (s Int64RangeMatch) MarshalJSON() ([]byte, error) { // on-premises network. For more information, read the Dedicated Interconnect // Overview. type Interconnect struct { + // AaiEnabled: Enable or disable the application awareness feature on this + // Cloud Interconnect. + AaiEnabled bool `json:"aaiEnabled,omitempty"` // AdminEnabled: Administrative status of the interconnect. When this is set to // true, the Interconnect is functional and can carry traffic. When set to // false, no packets can be carried over the interconnect and no BGP routes are // exchanged over it. By default, the status is set to true. AdminEnabled bool `json:"adminEnabled,omitempty"` + // ApplicationAwareInterconnect: Configuration information for application + // awareness on this Cloud Interconnect. + ApplicationAwareInterconnect *InterconnectApplicationAwareInterconnect `json:"applicationAwareInterconnect,omitempty"` // AvailableFeatures: [Output only] List of features available for this // Interconnect connection, which can take one of the following values: - // IF_MACSEC If present then the Interconnect connection is provisioned on @@ -23103,13 +23111,13 @@ type Interconnect struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AdminEnabled") to + // ForceSendFields is a list of field names (e.g. "AaiEnabled") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdminEnabled") to include in API + // NullFields is a list of field names (e.g. "AaiEnabled") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -23121,6 +23129,98 @@ func (s Interconnect) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InterconnectApplicationAwareInterconnect: Configuration information for +// application awareness on this Cloud Interconnect. +type InterconnectApplicationAwareInterconnect struct { + BandwidthPercentagePolicy *InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy `json:"bandwidthPercentagePolicy,omitempty"` + // ProfileDescription: Description for the application awareness profile on + // this Cloud Interconnect. + ProfileDescription string `json:"profileDescription,omitempty"` + // ShapeAveragePercentages: Optional field to specify a list of shape average + // percentages to be applied in conjunction with StrictPriorityPolicy or + // BandwidthPercentagePolicy. + ShapeAveragePercentages []*InterconnectApplicationAwareInterconnectBandwidthPercentage `json:"shapeAveragePercentages,omitempty"` + StrictPriorityPolicy *InterconnectApplicationAwareInterconnectStrictPriorityPolicy `json:"strictPriorityPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. "BandwidthPercentagePolicy") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BandwidthPercentagePolicy") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnect) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnect + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// InterconnectApplicationAwareInterconnectBandwidthPercentage: Specify +// bandwidth percentages [1-100] for various traffic classes in +// BandwidthPercentagePolicy. The sum of all percentages must equal 100. All +// traffic classes must have a percentage value specified. +type InterconnectApplicationAwareInterconnectBandwidthPercentage struct { + // Percentage: Bandwidth percentage for a specific traffic class. + Percentage int64 `json:"percentage,omitempty"` + // TrafficClass: TrafficClass whose bandwidth percentage is being specified. + // + // Possible values: + // "TC1" - Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx. + // "TC2" - Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx. + // "TC3" - Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx. + // "TC4" - Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx. + // "TC5" - Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx. + // "TC6" - Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx. + TrafficClass string `json:"trafficClass,omitempty"` + // ForceSendFields is a list of field names (e.g. "Percentage") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Percentage") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnectBandwidthPercentage) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnectBandwidthPercentage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy struct { + // BandwidthPercentages: Specify bandwidth percentages for various traffic + // classes for queuing type Bandwidth Percent. + BandwidthPercentages []*InterconnectApplicationAwareInterconnectBandwidthPercentage `json:"bandwidthPercentages,omitempty"` + // ForceSendFields is a list of field names (e.g. "BandwidthPercentages") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BandwidthPercentages") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy) MarshalJSON() ([]byte, error) { + type NoMethod InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// InterconnectApplicationAwareInterconnectStrictPriorityPolicy: Specify +// configuration for StrictPriorityPolicy. +type InterconnectApplicationAwareInterconnectStrictPriorityPolicy struct { +} + // InterconnectAttachment: Represents an Interconnect Attachment (VLAN) // resource. You can use Interconnect attachments (VLANS) to connect your // Virtual Private Cloud networks to your on-premises networks through an @@ -27326,7 +27426,7 @@ type MultiMigsList struct { Etag string `json:"etag,omitempty"` // Id: Unique identifier for the resource; defined by the server. Id string `json:"id,omitempty"` - // Items: A list of multi-MIG resources. + // Items: A list of multi-MIGs in the specified project and region. Items []*MultiMig `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` @@ -30616,7 +30716,10 @@ func (s NetworksAddPeeringRequest) MarshalJSON() ([]byte, error) { } type NetworksGetEffectiveFirewallsResponse struct { - // FirewallPolicys: Effective firewalls from firewall policy. + // FirewallPolicys: [Output Only] Effective firewalls from firewall policy. It + // returns Global Network Firewall Policies and Hierarchical Firewall Policies. + // Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional + // Network Firewall Policies as well. FirewallPolicys []*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy `json:"firewallPolicys,omitempty"` // Firewalls: Effective firewalls on the network. Firewalls []*Firewall `json:"firewalls,omitempty"` @@ -30652,7 +30755,7 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // Priority: [Output only] Priority of firewall policy association. Not // applicable for type=HIERARCHY. Priority int64 `json:"priority,omitempty"` - // Rules: The rules that apply to the network. + // Rules: [Output Only] The rules that apply to the network. Rules []*FirewallPolicyRule `json:"rules,omitempty"` // ShortName: [Output Only] The short name of the firewall policy. ShortName string `json:"shortName,omitempty"` @@ -38774,7 +38877,10 @@ func (s RegionNetworkEndpointGroupsDetachEndpointsRequest) MarshalJSON() ([]byte } type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse struct { - // FirewallPolicys: Effective firewalls from firewall policy. + // FirewallPolicys: [Output only] Effective firewalls from firewall policy. It + // applies to Regional Network Firewall Policies in the specified region, + // Global Network Firewall Policies and Hierachial Firewall Policies which are + // associated with the network. FirewallPolicys []*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy `json:"firewallPolicys,omitempty"` // Firewalls: Effective firewalls on the network. Firewalls []*Firewall `json:"firewalls,omitempty"` @@ -38807,7 +38913,7 @@ type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewall // Priority: [Output only] Priority of firewall policy association. Not // applicable for type=HIERARCHY. Priority int64 `json:"priority,omitempty"` - // Rules: The rules that apply to the network. + // Rules: [Output only] The rules that apply to the network. Rules []*FirewallPolicyRule `json:"rules,omitempty"` // Type: [Output Only] The type of the firewall policy. Can be one of // HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL. @@ -39049,14 +39155,18 @@ type Reservation struct { // then only VMs that target the reservation by name can consume from this // reservation. SpecificReservationRequired bool `json:"specificReservationRequired,omitempty"` - // Status: [Output Only] The status of the reservation. + // Status: [Output Only] The status of the reservation. - CREATING: Reservation + // resources are being allocated. - READY: Reservation resources have been + // allocated, and the reservation is ready for use. - DELETING: Reservation + // deletion is in progress. - UPDATING: Reservation update is in progress. // // Possible values: - // "CREATING" - Resources are being allocated for the reservation. - // "DELETING" - Reservation is currently being deleted. + // "CREATING" - Reservation resources are being allocated. + // "DELETING" - Reservation deletion is in progress. // "INVALID" - // "READY" - Reservation has allocated all its resources. - // "UPDATING" - Reservation is currently being resized. + // "READY" - Reservation resources have been allocated, and the reservation + // is ready for use. + // "UPDATING" - Reservation update is in progress. Status string `json:"status,omitempty"` // Zone: Zone in which the reservation resides. A zone must be provided if the // reservation is created within a commitment. diff --git a/compute/v0.beta/compute3-gen.go b/compute/v0.beta/compute3-gen.go index 88f77cad9aa..589e366445a 100644 --- a/compute/v0.beta/compute3-gen.go +++ b/compute/v0.beta/compute3-gen.go @@ -15028,7 +15028,7 @@ type RegionMultiMigsGetCall struct { header_ http.Header } -// Get: Returns the specified multi-MIG resource. +// Get: Returns all the details of a specific multi-MIG. // // - multiMig: Name of the multi-MIG resource to return. // - project: Project ID for this request. @@ -15161,9 +15161,9 @@ func (r *RegionMultiMigsService) Insert(project string, region string, multimig // request and the request times out. If you make the request again with the // same request ID, the server can check if original operation with the same // request ID was received, and if so, will ignore the second request. This -// prevents clients from accidentally creating duplicate commitments. The -// request ID must be a valid UUID with the exception that zero UUID is not -// supported ( 00000000-0000-0000-0000-000000000000). +// prevents you from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not supported ( +// 00000000-0000-0000-0000-000000000000). func (c *RegionMultiMigsInsertCall) RequestId(requestId string) *RegionMultiMigsInsertCall { c.urlParams_.Set("requestId", requestId) return c diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index df958414a7d..c30637a8b95 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -4705,7 +4705,7 @@ } } }, - "revision": "20240825", + "revision": "20241015", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -7926,7 +7926,7 @@ "No issues available to review.", "Account will be automatically reviewed at the end of the grace period.", "Account is retired. Should not appear in MC.", - "Account was already reviewd." + "Account has already been reviewed. You can't request further reviews." ], "type": "string" }, @@ -14109,7 +14109,7 @@ "No issues available to review.", "Account will be automatically reviewed at the end of the grace period.", "Account is retired. Should not appear in MC.", - "Account was already reviewd." + "Account has already been reviewed. You can't request further reviews." ], "type": "string" }, diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index bfcdfba6dd7..c9eeecb7d3c 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -4801,7 +4801,8 @@ type FreeListingsProgramStatusRegionStatus struct { // "WILL_BE_REVIEWED_AUTOMATICALLY" - Account will be automatically reviewed // at the end of the grace period. // "IS_RETIRED" - Account is retired. Should not appear in MC. - // "ALREADY_REVIEWED" - Account was already reviewd. + // "ALREADY_REVIEWED" - Account has already been reviewed. You can't request + // further reviews. ReviewIneligibilityReason string `json:"reviewIneligibilityReason,omitempty"` // ReviewIneligibilityReasonDescription: Reason a program in a specific region // isn’t eligible for review. Only visible if `reviewEligibilityStatus` is @@ -12495,7 +12496,8 @@ type ShoppingAdsProgramStatusRegionStatus struct { // "WILL_BE_REVIEWED_AUTOMATICALLY" - Account will be automatically reviewed // at the end of the grace period. // "IS_RETIRED" - Account is retired. Should not appear in MC. - // "ALREADY_REVIEWED" - Account was already reviewd. + // "ALREADY_REVIEWED" - Account has already been reviewed. You can't request + // further reviews. ReviewIneligibilityReason string `json:"reviewIneligibilityReason,omitempty"` // ReviewIneligibilityReasonDescription: Reason a program in a specific region // isn’t eligible for review. Only visible if `reviewEligibilityStatus` is diff --git a/dataflow/v1b3/dataflow-api.json b/dataflow/v1b3/dataflow-api.json index 081758ab888..1637de823fd 100644 --- a/dataflow/v1b3/dataflow-api.json +++ b/dataflow/v1b3/dataflow-api.json @@ -2208,7 +2208,7 @@ } } }, - "revision": "20240817", + "revision": "20241014", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -3446,7 +3446,7 @@ "type": "object" }, "FlexTemplateRuntimeEnvironment": { - "description": "The environment values to be set at runtime for flex template. LINT.IfChange", + "description": "The environment values to be set at runtime for flex template.", "id": "FlexTemplateRuntimeEnvironment", "properties": { "additionalExperiments": { @@ -5485,7 +5485,7 @@ "type": "object" }, "RuntimeEnvironment": { - "description": "The environment values to set at runtime. LINT.IfChange", + "description": "The environment values to set at runtime.", "id": "RuntimeEnvironment", "properties": { "additionalExperiments": { diff --git a/dataflow/v1b3/dataflow-gen.go b/dataflow/v1b3/dataflow-gen.go index 4026cccb544..d993eaf81c4 100644 --- a/dataflow/v1b3/dataflow-gen.go +++ b/dataflow/v1b3/dataflow-gen.go @@ -1914,7 +1914,7 @@ func (s FlattenInstruction) MarshalJSON() ([]byte, error) { } // FlexTemplateRuntimeEnvironment: The environment values to be set at runtime -// for flex template. LINT.IfChange +// for flex template. type FlexTemplateRuntimeEnvironment struct { // AdditionalExperiments: Additional experiment flags for the job. AdditionalExperiments []string `json:"additionalExperiments,omitempty"` @@ -4464,7 +4464,7 @@ func (s ResourceUtilizationReport) MarshalJSON() ([]byte, error) { type ResourceUtilizationReportResponse struct { } -// RuntimeEnvironment: The environment values to set at runtime. LINT.IfChange +// RuntimeEnvironment: The environment values to set at runtime. type RuntimeEnvironment struct { // AdditionalExperiments: Optional. Additional experiment flags for the job, // specified with the `--experiments` option. diff --git a/datastore/v1/datastore-api.json b/datastore/v1/datastore-api.json index def7a58be99..b6500f27b2c 100644 --- a/datastore/v1/datastore-api.json +++ b/datastore/v1/datastore-api.json @@ -654,7 +654,7 @@ } } }, - "revision": "20240317", + "revision": "20241008", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -1937,6 +1937,20 @@ "format": "int64", "type": "string" }, + "conflictResolutionStrategy": { + "description": "The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set.", + "enum": [ + "STRATEGY_UNSPECIFIED", + "SERVER_VALUE", + "FAIL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to `SERVER_VALUE`.", + "The server entity is kept.", + "The whole commit request fails." + ], + "type": "string" + }, "delete": { "$ref": "Key", "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only." @@ -1949,6 +1963,13 @@ "$ref": "PropertyMask", "description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." }, + "propertyTransforms": { + "description": "Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation.", + "items": { + "$ref": "PropertyTransform" + }, + "type": "array" + }, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1982,6 +2003,13 @@ "$ref": "Key", "description": "The automatically allocated key. Set only when the mutation allocated a key." }, + "transformResults": { + "description": "The results of applying each PropertyTransform, in the same order of the request.", + "items": { + "$ref": "Value" + }, + "type": "array" + }, "updateTime": { "description": "The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'.", "format": "google-datetime", @@ -2156,6 +2184,49 @@ }, "type": "object" }, + "PropertyTransform": { + "description": "A transformation of an entity property.", + "id": "PropertyTransform", + "properties": { + "appendMissingElements": { + "$ref": "ArrayValue", + "description": "Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value." + }, + "increment": { + "$ref": "Value", + "description": "Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer." + }, + "maximum": { + "$ref": "Value", + "description": "Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." + }, + "minimum": { + "$ref": "Value", + "description": "Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." + }, + "property": { + "description": "Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\\`, then that name must be escaped.", + "type": "string" + }, + "removeAllFromArray": { + "$ref": "ArrayValue", + "description": "Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value." + }, + "setToServerValue": { + "description": "Sets the property to the given server value.", + "enum": [ + "SERVER_VALUE_UNSPECIFIED", + "REQUEST_TIME" + ], + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The time at which the server processed the request, with millisecond precision. If used on multiple properties (same or different entities) in a transaction, all the properties will get the same server timestamp." + ], + "type": "string" + } + }, + "type": "object" + }, "Query": { "description": "A query for entities.", "id": "Query", diff --git a/datastore/v1/datastore-gen.go b/datastore/v1/datastore-gen.go index 62f76a6366b..395050bd3e7 100644 --- a/datastore/v1/datastore-gen.go +++ b/datastore/v1/datastore-gen.go @@ -1962,6 +1962,15 @@ type Mutation struct { // to. If this does not match the current version on the server, the mutation // conflicts. BaseVersion int64 `json:"baseVersion,omitempty,string"` + // ConflictResolutionStrategy: The strategy to use when a conflict is detected. + // Defaults to `SERVER_VALUE`. If this is set, then + // `conflict_detection_strategy` must also be set. + // + // Possible values: + // "STRATEGY_UNSPECIFIED" - Unspecified. Defaults to `SERVER_VALUE`. + // "SERVER_VALUE" - The server entity is kept. + // "FAIL" - The whole commit request fails. + ConflictResolutionStrategy string `json:"conflictResolutionStrategy,omitempty"` // Delete: The key of the entity to delete. The entity may or may not already // exist. Must have a complete key path and must not be reserved/read-only. Delete *Key `json:"delete,omitempty"` @@ -1974,6 +1983,11 @@ type Mutation struct { // referenced in the mask are updated, others are left untouched. Properties // referenced in the mask but not in the entity are deleted. PropertyMask *PropertyMask `json:"propertyMask,omitempty"` + // PropertyTransforms: Optional. The transforms to perform on the entity. This + // field can be set only when the operation is `insert`, `update`, or `upsert`. + // If present, the transforms are be applied to the entity regardless of the + // property mask, in order, after the operation. + PropertyTransforms []*PropertyTransform `json:"propertyTransforms,omitempty"` // Update: The entity to update. The entity must already exist. Must have a // complete key path. Update *Entity `json:"update,omitempty"` @@ -2013,6 +2027,9 @@ type MutationResult struct { // Key: The automatically allocated key. Set only when the mutation allocated a // key. Key *Key `json:"key,omitempty"` + // TransformResults: The results of applying each PropertyTransform, in the + // same order of the request. + TransformResults []*Value `json:"transformResults,omitempty"` // UpdateTime: The update time of the entity on the server after processing the // mutation. If the mutation doesn't change anything on the server, then the // timestamp will be the update timestamp of the current entity. This field @@ -2295,6 +2312,89 @@ func (s PropertyReference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PropertyTransform: A transformation of an entity property. +type PropertyTransform struct { + // AppendMissingElements: Appends the given elements in order if they are not + // already present in the current property value. If the property is not an + // array, or if the property does not yet exist, it is first set to the empty + // array. Equivalent numbers of different types (e.g. 3L and 3.0) are + // considered equal when checking if a value is missing. NaN is equal to NaN, + // and the null value is equal to the null value. If the input contains + // multiple equivalent values, only the first will be considered. The + // corresponding transform result will be the null value. + AppendMissingElements *ArrayValue `json:"appendMissingElements,omitempty"` + // Increment: Adds the given value to the property's current value. This must + // be an integer or a double value. If the property is not an integer or + // double, or if the property does not yet exist, the transformation will set + // the property to the given value. If either of the given value or the current + // property value are doubles, both values will be interpreted as doubles. + // Double arithmetic and representation of double values follows IEEE 754 + // semantics. If there is positive/negative integer overflow, the property is + // resolved to the largest magnitude positive/negative integer. + Increment *Value `json:"increment,omitempty"` + // Maximum: Sets the property to the maximum of its current value and the given + // value. This must be an integer or a double value. If the property is not an + // integer or double, or if the property does not yet exist, the transformation + // will set the property to the given value. If a maximum operation is applied + // where the property and the input value are of mixed types (that is - one is + // an integer and one is a double) the property takes on the type of the larger + // operand. If the operands are equivalent (e.g. 3 and 3.0), the property does + // not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored + // value and zero input value is always the stored value. The maximum of any + // numeric value x and NaN is NaN. + Maximum *Value `json:"maximum,omitempty"` + // Minimum: Sets the property to the minimum of its current value and the given + // value. This must be an integer or a double value. If the property is not an + // integer or double, or if the property does not yet exist, the transformation + // will set the property to the input value. If a minimum operation is applied + // where the property and the input value are of mixed types (that is - one is + // an integer and one is a double) the property takes on the type of the + // smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the + // property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a + // zero stored value and zero input value is always the stored value. The + // minimum of any numeric value x and NaN is NaN. + Minimum *Value `json:"minimum,omitempty"` + // Property: Optional. The name of the property. Property paths (a list of + // property names separated by dots (`.`)) may be used to refer to properties + // inside entity values. For example `foo.bar` means the property `bar` inside + // the entity property `foo`. If a property name contains a dot `.` or a + // backlslash `\`, then that name must be escaped. + Property string `json:"property,omitempty"` + // RemoveAllFromArray: Removes all of the given elements from the array in the + // property. If the property is not an array, or if the property does not yet + // exist, it is set to the empty array. Equivalent numbers of different types + // (e.g. 3L and 3.0) are considered equal when deciding whether an element + // should be removed. NaN is equal to NaN, and the null value is equal to the + // null value. This will remove all equivalent values if there are duplicates. + // The corresponding transform result will be the null value. + RemoveAllFromArray *ArrayValue `json:"removeAllFromArray,omitempty"` + // SetToServerValue: Sets the property to the given server value. + // + // Possible values: + // "SERVER_VALUE_UNSPECIFIED" - Unspecified. This value must not be used. + // "REQUEST_TIME" - The time at which the server processed the request, with + // millisecond precision. If used on multiple properties (same or different + // entities) in a transaction, all the properties will get the same server + // timestamp. + SetToServerValue string `json:"setToServerValue,omitempty"` + // ForceSendFields is a list of field names (e.g. "AppendMissingElements") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AppendMissingElements") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PropertyTransform) MarshalJSON() ([]byte, error) { + type NoMethod PropertyTransform + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Query: A query for entities. type Query struct { // DistinctOn: The properties to make distinct. The query results will contain diff --git a/datastore/v1beta3/datastore-api.json b/datastore/v1beta3/datastore-api.json index 6852f58423f..f50b1329643 100644 --- a/datastore/v1beta3/datastore-api.json +++ b/datastore/v1beta3/datastore-api.json @@ -336,7 +336,7 @@ } } }, - "revision": "20240317", + "revision": "20241008", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -1387,6 +1387,20 @@ "format": "int64", "type": "string" }, + "conflictResolutionStrategy": { + "description": "The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set.", + "enum": [ + "STRATEGY_UNSPECIFIED", + "SERVER_VALUE", + "FAIL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to `SERVER_VALUE`.", + "The server entity is kept.", + "The whole commit request fails." + ], + "type": "string" + }, "delete": { "$ref": "Key", "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only." @@ -1399,6 +1413,13 @@ "$ref": "PropertyMask", "description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." }, + "propertyTransforms": { + "description": "Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation.", + "items": { + "$ref": "PropertyTransform" + }, + "type": "array" + }, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1432,6 +1453,13 @@ "$ref": "Key", "description": "The automatically allocated key. Set only when the mutation allocated a key." }, + "transformResults": { + "description": "The results of applying each PropertyTransform, in the same order of the request.", + "items": { + "$ref": "Value" + }, + "type": "array" + }, "updateTime": { "description": "The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'.", "format": "google-datetime", @@ -1602,6 +1630,49 @@ }, "type": "object" }, + "PropertyTransform": { + "description": "A transformation of an entity property.", + "id": "PropertyTransform", + "properties": { + "appendMissingElements": { + "$ref": "ArrayValue", + "description": "Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value." + }, + "increment": { + "$ref": "Value", + "description": "Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer." + }, + "maximum": { + "$ref": "Value", + "description": "Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." + }, + "minimum": { + "$ref": "Value", + "description": "Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." + }, + "property": { + "description": "Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\\`, then that name must be escaped.", + "type": "string" + }, + "removeAllFromArray": { + "$ref": "ArrayValue", + "description": "Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value." + }, + "setToServerValue": { + "description": "Sets the property to the given server value.", + "enum": [ + "SERVER_VALUE_UNSPECIFIED", + "REQUEST_TIME" + ], + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The time at which the server processed the request, with millisecond precision. If used on multiple properties (same or different entities) in a transaction, all the properties will get the same server timestamp." + ], + "type": "string" + } + }, + "type": "object" + }, "Query": { "description": "A query for entities.", "id": "Query", diff --git a/datastore/v1beta3/datastore-gen.go b/datastore/v1beta3/datastore-gen.go index ed84fb15e49..aa2aa4c50c5 100644 --- a/datastore/v1beta3/datastore-gen.go +++ b/datastore/v1beta3/datastore-gen.go @@ -1628,6 +1628,15 @@ type Mutation struct { // to. If this does not match the current version on the server, the mutation // conflicts. BaseVersion int64 `json:"baseVersion,omitempty,string"` + // ConflictResolutionStrategy: The strategy to use when a conflict is detected. + // Defaults to `SERVER_VALUE`. If this is set, then + // `conflict_detection_strategy` must also be set. + // + // Possible values: + // "STRATEGY_UNSPECIFIED" - Unspecified. Defaults to `SERVER_VALUE`. + // "SERVER_VALUE" - The server entity is kept. + // "FAIL" - The whole commit request fails. + ConflictResolutionStrategy string `json:"conflictResolutionStrategy,omitempty"` // Delete: The key of the entity to delete. The entity may or may not already // exist. Must have a complete key path and must not be reserved/read-only. Delete *Key `json:"delete,omitempty"` @@ -1640,6 +1649,11 @@ type Mutation struct { // referenced in the mask are updated, others are left untouched. Properties // referenced in the mask but not in the entity are deleted. PropertyMask *PropertyMask `json:"propertyMask,omitempty"` + // PropertyTransforms: Optional. The transforms to perform on the entity. This + // field can be set only when the operation is `insert`, `update`, or `upsert`. + // If present, the transforms are be applied to the entity regardless of the + // property mask, in order, after the operation. + PropertyTransforms []*PropertyTransform `json:"propertyTransforms,omitempty"` // Update: The entity to update. The entity must already exist. Must have a // complete key path. Update *Entity `json:"update,omitempty"` @@ -1679,6 +1693,9 @@ type MutationResult struct { // Key: The automatically allocated key. Set only when the mutation allocated a // key. Key *Key `json:"key,omitempty"` + // TransformResults: The results of applying each PropertyTransform, in the + // same order of the request. + TransformResults []*Value `json:"transformResults,omitempty"` // UpdateTime: The update time of the entity on the server after processing the // mutation. If the mutation doesn't change anything on the server, then the // timestamp will be the update timestamp of the current entity. This field @@ -1958,6 +1975,89 @@ func (s PropertyReference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PropertyTransform: A transformation of an entity property. +type PropertyTransform struct { + // AppendMissingElements: Appends the given elements in order if they are not + // already present in the current property value. If the property is not an + // array, or if the property does not yet exist, it is first set to the empty + // array. Equivalent numbers of different types (e.g. 3L and 3.0) are + // considered equal when checking if a value is missing. NaN is equal to NaN, + // and the null value is equal to the null value. If the input contains + // multiple equivalent values, only the first will be considered. The + // corresponding transform result will be the null value. + AppendMissingElements *ArrayValue `json:"appendMissingElements,omitempty"` + // Increment: Adds the given value to the property's current value. This must + // be an integer or a double value. If the property is not an integer or + // double, or if the property does not yet exist, the transformation will set + // the property to the given value. If either of the given value or the current + // property value are doubles, both values will be interpreted as doubles. + // Double arithmetic and representation of double values follows IEEE 754 + // semantics. If there is positive/negative integer overflow, the property is + // resolved to the largest magnitude positive/negative integer. + Increment *Value `json:"increment,omitempty"` + // Maximum: Sets the property to the maximum of its current value and the given + // value. This must be an integer or a double value. If the property is not an + // integer or double, or if the property does not yet exist, the transformation + // will set the property to the given value. If a maximum operation is applied + // where the property and the input value are of mixed types (that is - one is + // an integer and one is a double) the property takes on the type of the larger + // operand. If the operands are equivalent (e.g. 3 and 3.0), the property does + // not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored + // value and zero input value is always the stored value. The maximum of any + // numeric value x and NaN is NaN. + Maximum *Value `json:"maximum,omitempty"` + // Minimum: Sets the property to the minimum of its current value and the given + // value. This must be an integer or a double value. If the property is not an + // integer or double, or if the property does not yet exist, the transformation + // will set the property to the input value. If a minimum operation is applied + // where the property and the input value are of mixed types (that is - one is + // an integer and one is a double) the property takes on the type of the + // smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the + // property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a + // zero stored value and zero input value is always the stored value. The + // minimum of any numeric value x and NaN is NaN. + Minimum *Value `json:"minimum,omitempty"` + // Property: Optional. The name of the property. Property paths (a list of + // property names separated by dots (`.`)) may be used to refer to properties + // inside entity values. For example `foo.bar` means the property `bar` inside + // the entity property `foo`. If a property name contains a dot `.` or a + // backlslash `\`, then that name must be escaped. + Property string `json:"property,omitempty"` + // RemoveAllFromArray: Removes all of the given elements from the array in the + // property. If the property is not an array, or if the property does not yet + // exist, it is set to the empty array. Equivalent numbers of different types + // (e.g. 3L and 3.0) are considered equal when deciding whether an element + // should be removed. NaN is equal to NaN, and the null value is equal to the + // null value. This will remove all equivalent values if there are duplicates. + // The corresponding transform result will be the null value. + RemoveAllFromArray *ArrayValue `json:"removeAllFromArray,omitempty"` + // SetToServerValue: Sets the property to the given server value. + // + // Possible values: + // "SERVER_VALUE_UNSPECIFIED" - Unspecified. This value must not be used. + // "REQUEST_TIME" - The time at which the server processed the request, with + // millisecond precision. If used on multiple properties (same or different + // entities) in a transaction, all the properties will get the same server + // timestamp. + SetToServerValue string `json:"setToServerValue,omitempty"` + // ForceSendFields is a list of field names (e.g. "AppendMissingElements") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AppendMissingElements") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PropertyTransform) MarshalJSON() ([]byte, error) { + type NoMethod PropertyTransform + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Query: A query for entities. type Query struct { // DistinctOn: The properties to make distinct. The query results will contain diff --git a/developerconnect/v1/developerconnect-api.json b/developerconnect/v1/developerconnect-api.json index 5548ba33924..a694839106e 100644 --- a/developerconnect/v1/developerconnect-api.json +++ b/developerconnect/v1/developerconnect-api.json @@ -494,6 +494,31 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "processGitHubEnterpriseWebhook": { + "description": "ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections:processGitHubEnterpriseWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.processGitHubEnterpriseWebhook", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Project and location where the webhook will be received. Format: `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connections:processGitHubEnterpriseWebhook", + "request": { + "$ref": "ProcessGitHubEnterpriseWebhookRequest" + }, + "response": { + "$ref": "Empty" + } } }, "resources": { @@ -759,6 +784,59 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "processGitLabEnterpriseWebhook": { + "description": "ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabEnterpriseWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabEnterpriseWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processGitLabEnterpriseWebhook", + "request": { + "$ref": "ProcessGitLabEnterpriseWebhookRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "processGitLabWebhook": { + "description": "ProcessGitLabWebhook is called by the GitLab.com for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processGitLabWebhook", + "request": { + "$ref": "ProcessGitLabWebhookRequest" + }, + "response": { + "$ref": "Empty" + } } } } @@ -892,7 +970,7 @@ } } }, - "revision": "20240926", + "revision": "20241014", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1314,6 +1392,33 @@ }, "type": "object" }, + "HttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", + "id": "HttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "Installation": { "description": "Represents an installation of the GitHub App.", "id": "Installation", @@ -1596,6 +1701,39 @@ }, "type": "object" }, + "ProcessGitHubEnterpriseWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method.", + "id": "ProcessGitHubEnterpriseWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, + "ProcessGitLabEnterpriseWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitLabEnterpriseWebhook RPC method.", + "id": "ProcessGitLabEnterpriseWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, + "ProcessGitLabWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitLabWebhook RPC method.", + "id": "ProcessGitLabWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, "ServiceDirectoryConfig": { "description": "ServiceDirectoryConfig represents Service Directory configuration for a connection.", "id": "ServiceDirectoryConfig", diff --git a/developerconnect/v1/developerconnect-gen.go b/developerconnect/v1/developerconnect-gen.go index d8d1611c062..cbd9680a814 100644 --- a/developerconnect/v1/developerconnect-gen.go +++ b/developerconnect/v1/developerconnect-gen.go @@ -698,6 +698,50 @@ func (s GitRepositoryLink) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// HttpBody: Message that represents an arbitrary HTTP body. It should only be +// used for payload formats that can't be represented as JSON, such as raw +// binary or an HTML page. This message can be used both in streaming and +// non-streaming API methods in the request as well as the response. It can be +// used as a top-level request field, which is convenient if one wants to +// extract parameters from either the URL or HTTP template into the request +// fields and also want access to the raw HTTP body. Example: message +// GetResourceRequest { // A unique request id. string request_id = 1; // The +// raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } +// service ResourceService { rpc GetResource(GetResourceRequest) returns +// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns +// (google.protobuf.Empty); } Example with streaming methods: service +// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream +// google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns +// (stream google.api.HttpBody); } Use of this type only changes how the +// request and response bodies are handled, all other features will continue to +// work unchanged. +type HttpBody struct { + // ContentType: The HTTP Content-Type header value specifying the content type + // of the body. + ContentType string `json:"contentType,omitempty"` + // Data: The HTTP request/response body as raw binary. + Data string `json:"data,omitempty"` + // Extensions: Application specific response metadata. Must be set in the first + // response for streaming APIs. + Extensions []googleapi.RawMessage `json:"extensions,omitempty"` + // ForceSendFields is a list of field names (e.g. "ContentType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ContentType") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s HttpBody) MarshalJSON() ([]byte, error) { + type NoMethod HttpBody + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Installation: Represents an installation of the GitHub App. type Installation struct { // Id: ID of the installation in GitHub. @@ -1055,6 +1099,75 @@ func (s OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ProcessGitHubEnterpriseWebhookRequest: RPC request object accepted by the +// ProcessGitHubEnterpriseWebhook RPC method. +type ProcessGitHubEnterpriseWebhookRequest struct { + // Body: Required. HTTP request body. + Body *HttpBody `json:"body,omitempty"` + // ForceSendFields is a list of field names (e.g. "Body") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Body") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProcessGitHubEnterpriseWebhookRequest) MarshalJSON() ([]byte, error) { + type NoMethod ProcessGitHubEnterpriseWebhookRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProcessGitLabEnterpriseWebhookRequest: RPC request object accepted by the +// ProcessGitLabEnterpriseWebhook RPC method. +type ProcessGitLabEnterpriseWebhookRequest struct { + // Body: Required. HTTP request body. + Body *HttpBody `json:"body,omitempty"` + // ForceSendFields is a list of field names (e.g. "Body") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Body") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProcessGitLabEnterpriseWebhookRequest) MarshalJSON() ([]byte, error) { + type NoMethod ProcessGitLabEnterpriseWebhookRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProcessGitLabWebhookRequest: RPC request object accepted by the +// ProcessGitLabWebhook RPC method. +type ProcessGitLabWebhookRequest struct { + // Body: Required. HTTP request body. + Body *HttpBody `json:"body,omitempty"` + // ForceSendFields is a list of field names (e.g. "Body") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Body") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProcessGitLabWebhookRequest) MarshalJSON() ([]byte, error) { + type NoMethod ProcessGitLabWebhookRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ServiceDirectoryConfig: ServiceDirectoryConfig represents Service Directory // configuration for a connection. type ServiceDirectoryConfig struct { @@ -2325,6 +2438,109 @@ func (c *ProjectsLocationsConnectionsPatchCall) Do(opts ...googleapi.CallOption) return ret, nil } +type ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall struct { + s *Service + parent string + processgithubenterprisewebhookrequest *ProcessGitHubEnterpriseWebhookRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ProcessGitHubEnterpriseWebhook: ProcessGitHubEnterpriseWebhook is called by +// the external GitHub Enterprise instances for notifying events. +// +// - parent: Project and location where the webhook will be received. Format: +// `projects/*/locations/*`. +func (r *ProjectsLocationsConnectionsService) ProcessGitHubEnterpriseWebhook(parent string, processgithubenterprisewebhookrequest *ProcessGitHubEnterpriseWebhookRequest) *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall { + c := &ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.processgithubenterprisewebhookrequest = processgithubenterprisewebhookrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall) Context(ctx context.Context) *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.processgithubenterprisewebhookrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/connections:processGitHubEnterpriseWebhook") + 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 "developerconnect.projects.locations.connections.processGitHubEnterpriseWebhook" call. +// 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 *ProjectsLocationsConnectionsProcessGitHubEnterpriseWebhookCall) 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 +} + type ProjectsLocationsConnectionsGitRepositoryLinksCreateCall struct { s *Service parent string @@ -3216,6 +3432,212 @@ func (c *ProjectsLocationsConnectionsGitRepositoryLinksListCall) Pages(ctx conte } } +type ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall struct { + s *Service + name string + processgitlabenterprisewebhookrequest *ProcessGitLabEnterpriseWebhookRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ProcessGitLabEnterpriseWebhook: ProcessGitLabEnterpriseWebhook is called by +// the external GitLab Enterprise instances for notifying events. +// +// - name: The GitRepositoryLink resource where the webhook will be received. +// Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`. +func (r *ProjectsLocationsConnectionsGitRepositoryLinksService) ProcessGitLabEnterpriseWebhook(name string, processgitlabenterprisewebhookrequest *ProcessGitLabEnterpriseWebhookRequest) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall { + c := &ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.processgitlabenterprisewebhookrequest = processgitlabenterprisewebhookrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall) Context(ctx context.Context) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.processgitlabenterprisewebhookrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:processGitLabEnterpriseWebhook") + 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 "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabEnterpriseWebhook" call. +// 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 *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabEnterpriseWebhookCall) 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 +} + +type ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall struct { + s *Service + name string + processgitlabwebhookrequest *ProcessGitLabWebhookRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ProcessGitLabWebhook: ProcessGitLabWebhook is called by the GitLab.com for +// notifying events. +// +// - name: The GitRepositoryLink resource where the webhook will be received. +// Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`. +func (r *ProjectsLocationsConnectionsGitRepositoryLinksService) ProcessGitLabWebhook(name string, processgitlabwebhookrequest *ProcessGitLabWebhookRequest) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall { + c := &ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.processgitlabwebhookrequest = processgitlabwebhookrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall) Context(ctx context.Context) *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.processgitlabwebhookrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:processGitLabWebhook") + 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 "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabWebhook" call. +// 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 *ProjectsLocationsConnectionsGitRepositoryLinksProcessGitLabWebhookCall) 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 +} + type ProjectsLocationsOperationsCancelCall struct { s *Service name string diff --git a/dialogflow/v2/dialogflow-api.json b/dialogflow/v2/dialogflow-api.json index 3a1b39ae9f0..682bcb5b48f 100644 --- a/dialogflow/v2/dialogflow-api.json +++ b/dialogflow/v2/dialogflow-api.json @@ -3284,7 +3284,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -3782,7 +3782,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7257,7 +7257,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7788,7 +7788,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7848,7 +7848,7 @@ ], "parameters": { "name": { - "description": "Required. The generator resource name to retrieve. Format: `projects//locations/`/generators/`", + "description": "Required. The generator resource name to retrieve. Format: `projects//locations//generators/`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/generators/[^/]+$", "required": true, @@ -8714,7 +8714,7 @@ } } }, - "revision": "20240924", + "revision": "20241009", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -9043,13 +9043,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } @@ -11350,13 +11350,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } diff --git a/dialogflow/v2/dialogflow-gen.go b/dialogflow/v2/dialogflow-gen.go index 0069aaa91ba..98cd2ed2b55 100644 --- a/dialogflow/v2/dialogflow-gen.go +++ b/dialogflow/v2/dialogflow-gen.go @@ -1395,8 +1395,7 @@ type GoogleCloudDialogflowCxV3DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -4676,8 +4675,7 @@ type GoogleCloudDialogflowCxV3beta1DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -31308,9 +31306,9 @@ func (r *ProjectsConversationsService) Create(parentid string, googleclouddialog // ConversationId sets the optional parameter "conversationId": Identifier of // the conversation. Generally it's auto generated by Google. Only set it if // you cannot wait for the response to return a auto-generated one to you. The -// conversation ID must be compliant with the regression fomula `a-zA-Z*` with +// conversation ID must be compliant with the regression formula `a-zA-Z*` with // the characters length in range of [3,64]. If the field is provided, the -// caller is resposible for 1. the uniqueness of the ID, otherwise the request +// caller is responsible for 1. the uniqueness of the ID, otherwise the request // will be rejected. 2. the consistency for whether to use custom ID or not // under a project to better ensure uniqueness. func (c *ProjectsConversationsCreateCall) ConversationId(conversationId string) *ProjectsConversationsCreateCall { @@ -33043,11 +33041,11 @@ func (r *ProjectsGeneratorsService) Create(parent string, googleclouddialogflowv // GeneratorId sets the optional parameter "generatorId": The ID to use for the // generator, which will become the final component of the generator's resource -// name. The generator ID must be compliant with the regression fomula +// name. The generator ID must be compliant with the regression formula // `a-zA-Z*` with the characters length in range of [3,64]. If the field is not // provided, an Id will be auto-generated. If the field is provided, the caller -// is resposible for 1. the uniqueness of the ID, otherwise the request will be -// rejected. 2. the consistency for whether to use custom ID or not under a +// is responsible for 1. the uniqueness of the ID, otherwise the request will +// be rejected. 2. the consistency for whether to use custom ID or not under a // project to better ensure uniqueness. func (c *ProjectsGeneratorsCreateCall) GeneratorId(generatorId string) *ProjectsGeneratorsCreateCall { c.urlParams_.Set("generatorId", generatorId) @@ -45587,9 +45585,9 @@ func (r *ProjectsLocationsConversationsService) Create(parentid string, googlecl // ConversationId sets the optional parameter "conversationId": Identifier of // the conversation. Generally it's auto generated by Google. Only set it if // you cannot wait for the response to return a auto-generated one to you. The -// conversation ID must be compliant with the regression fomula `a-zA-Z*` with +// conversation ID must be compliant with the regression formula `a-zA-Z*` with // the characters length in range of [3,64]. If the field is provided, the -// caller is resposible for 1. the uniqueness of the ID, otherwise the request +// caller is responsible for 1. the uniqueness of the ID, otherwise the request // will be rejected. 2. the consistency for whether to use custom ID or not // under a project to better ensure uniqueness. func (c *ProjectsLocationsConversationsCreateCall) ConversationId(conversationId string) *ProjectsLocationsConversationsCreateCall { @@ -47429,11 +47427,11 @@ func (r *ProjectsLocationsGeneratorsService) Create(parent string, googleclouddi // GeneratorId sets the optional parameter "generatorId": The ID to use for the // generator, which will become the final component of the generator's resource -// name. The generator ID must be compliant with the regression fomula +// name. The generator ID must be compliant with the regression formula // `a-zA-Z*` with the characters length in range of [3,64]. If the field is not // provided, an Id will be auto-generated. If the field is provided, the caller -// is resposible for 1. the uniqueness of the ID, otherwise the request will be -// rejected. 2. the consistency for whether to use custom ID or not under a +// is responsible for 1. the uniqueness of the ID, otherwise the request will +// be rejected. 2. the consistency for whether to use custom ID or not under a // project to better ensure uniqueness. func (c *ProjectsLocationsGeneratorsCreateCall) GeneratorId(generatorId string) *ProjectsLocationsGeneratorsCreateCall { c.urlParams_.Set("generatorId", generatorId) @@ -47632,7 +47630,7 @@ type ProjectsLocationsGeneratorsGetCall struct { // Get: Retrieves a generator. // // - name: The generator resource name to retrieve. Format: -// `projects//locations/`/generators/`. +// `projects//locations//generators/`. func (r *ProjectsLocationsGeneratorsService) Get(name string) *ProjectsLocationsGeneratorsGetCall { c := &ProjectsLocationsGeneratorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name diff --git a/dialogflow/v2beta1/dialogflow-api.json b/dialogflow/v2beta1/dialogflow-api.json index 49b49a828b7..ac85b45b87e 100644 --- a/dialogflow/v2beta1/dialogflow-api.json +++ b/dialogflow/v2beta1/dialogflow-api.json @@ -2971,7 +2971,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -3571,7 +3571,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -6620,7 +6620,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7180,7 +7180,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -8082,7 +8082,7 @@ } } }, - "revision": "20240924", + "revision": "20241009", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -8411,13 +8411,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } @@ -10718,13 +10718,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go index 858b962eba2..5c79549cfea 100644 --- a/dialogflow/v2beta1/dialogflow-gen.go +++ b/dialogflow/v2beta1/dialogflow-gen.go @@ -1323,8 +1323,7 @@ type GoogleCloudDialogflowCxV3DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -4604,8 +4603,7 @@ type GoogleCloudDialogflowCxV3beta1DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -30206,9 +30204,9 @@ func (r *ProjectsConversationsService) Create(parentid string, googleclouddialog // ConversationId sets the optional parameter "conversationId": Identifier of // the conversation. Generally it's auto generated by Google. Only set it if // you cannot wait for the response to return a auto-generated one to you. The -// conversation ID must be compliant with the regression fomula `a-zA-Z*` with +// conversation ID must be compliant with the regression formula `a-zA-Z*` with // the characters length in range of [3,64]. If the field is provided, the -// caller is resposible for 1. the uniqueness of the ID, otherwise the request +// caller is responsible for 1. the uniqueness of the ID, otherwise the request // will be rejected. 2. the consistency for whether to use custom ID or not // under a project to better ensure uniqueness. func (c *ProjectsConversationsCreateCall) ConversationId(conversationId string) *ProjectsConversationsCreateCall { @@ -32323,11 +32321,11 @@ func (r *ProjectsGeneratorsService) Create(parent string, googleclouddialogflowv // GeneratorId sets the optional parameter "generatorId": The ID to use for the // generator, which will become the final component of the generator's resource -// name. The generator ID must be compliant with the regression fomula +// name. The generator ID must be compliant with the regression formula // `a-zA-Z*` with the characters length in range of [3,64]. If the field is not // provided, an Id will be auto-generated. If the field is provided, the caller -// is resposible for 1. the uniqueness of the ID, otherwise the request will be -// rejected. 2. the consistency for whether to use custom ID or not under a +// is responsible for 1. the uniqueness of the ID, otherwise the request will +// be rejected. 2. the consistency for whether to use custom ID or not under a // project to better ensure uniqueness. func (c *ProjectsGeneratorsCreateCall) GeneratorId(generatorId string) *ProjectsGeneratorsCreateCall { c.urlParams_.Set("generatorId", generatorId) @@ -43357,9 +43355,9 @@ func (r *ProjectsLocationsConversationsService) Create(parentid string, googlecl // ConversationId sets the optional parameter "conversationId": Identifier of // the conversation. Generally it's auto generated by Google. Only set it if // you cannot wait for the response to return a auto-generated one to you. The -// conversation ID must be compliant with the regression fomula `a-zA-Z*` with +// conversation ID must be compliant with the regression formula `a-zA-Z*` with // the characters length in range of [3,64]. If the field is provided, the -// caller is resposible for 1. the uniqueness of the ID, otherwise the request +// caller is responsible for 1. the uniqueness of the ID, otherwise the request // will be rejected. 2. the consistency for whether to use custom ID or not // under a project to better ensure uniqueness. func (c *ProjectsLocationsConversationsCreateCall) ConversationId(conversationId string) *ProjectsLocationsConversationsCreateCall { @@ -45305,11 +45303,11 @@ func (r *ProjectsLocationsGeneratorsService) Create(parent string, googleclouddi // GeneratorId sets the optional parameter "generatorId": The ID to use for the // generator, which will become the final component of the generator's resource -// name. The generator ID must be compliant with the regression fomula +// name. The generator ID must be compliant with the regression formula // `a-zA-Z*` with the characters length in range of [3,64]. If the field is not // provided, an Id will be auto-generated. If the field is provided, the caller -// is resposible for 1. the uniqueness of the ID, otherwise the request will be -// rejected. 2. the consistency for whether to use custom ID or not under a +// is responsible for 1. the uniqueness of the ID, otherwise the request will +// be rejected. 2. the consistency for whether to use custom ID or not under a // project to better ensure uniqueness. func (c *ProjectsLocationsGeneratorsCreateCall) GeneratorId(generatorId string) *ProjectsLocationsGeneratorsCreateCall { c.urlParams_.Set("generatorId", generatorId) diff --git a/dialogflow/v3/dialogflow-api.json b/dialogflow/v3/dialogflow-api.json index ac02c316b66..a9e698bd4cc 100644 --- a/dialogflow/v3/dialogflow-api.json +++ b/dialogflow/v3/dialogflow-api.json @@ -4453,7 +4453,7 @@ } } }, - "revision": "20240924", + "revision": "20241009", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -5284,13 +5284,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } @@ -10549,13 +10549,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } diff --git a/dialogflow/v3/dialogflow-gen.go b/dialogflow/v3/dialogflow-gen.go index dc4c6870a7e..e85f7476f8d 100644 --- a/dialogflow/v3/dialogflow-gen.go +++ b/dialogflow/v3/dialogflow-gen.go @@ -1692,8 +1692,7 @@ type GoogleCloudDialogflowCxV3DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -9189,8 +9188,7 @@ type GoogleCloudDialogflowCxV3beta1DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or diff --git a/dialogflow/v3beta1/dialogflow-api.json b/dialogflow/v3beta1/dialogflow-api.json index b761d7cc0cb..bd0b2b426af 100644 --- a/dialogflow/v3beta1/dialogflow-api.json +++ b/dialogflow/v3beta1/dialogflow-api.json @@ -5185,7 +5185,7 @@ } } }, - "revision": "20240924", + "revision": "20241009", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -5514,13 +5514,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } @@ -8646,13 +8646,13 @@ "DATA_STORE_TYPE_UNSPECIFIED", "PUBLIC_WEB", "UNSTRUCTURED", - "STRUCTURED" + "FAQ" ], "enumDescriptions": [ "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", "A data store that contains public web content.", "A data store that contains unstructured private data.", - "A data store that contains structured data (for example FAQ)." + "A data store that contains structured data used as FAQ." ], "type": "string" } diff --git a/dialogflow/v3beta1/dialogflow-gen.go b/dialogflow/v3beta1/dialogflow-gen.go index 8d4a2c7ba0b..413f3a6bd19 100644 --- a/dialogflow/v3beta1/dialogflow-gen.go +++ b/dialogflow/v3beta1/dialogflow-gen.go @@ -999,8 +999,7 @@ type GoogleCloudDialogflowCxV3DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or @@ -5412,8 +5411,7 @@ type GoogleCloudDialogflowCxV3beta1DataStoreConnection struct { // the data store type is not specified, so it will not be used during search. // "PUBLIC_WEB" - A data store that contains public web content. // "UNSTRUCTURED" - A data store that contains unstructured private data. - // "STRUCTURED" - A data store that contains structured data (for example - // FAQ). + // "FAQ" - A data store that contains structured data used as FAQ. DataStoreType string `json:"dataStoreType,omitempty"` // ForceSendFields is a list of field names (e.g. "DataStore") to // unconditionally include in API requests. By default, fields with empty or diff --git a/drive/v3/drive-api.json b/drive/v3/drive-api.json index e83ead44be0..0e1f79940b4 100644 --- a/drive/v3/drive-api.json +++ b/drive/v3/drive-api.json @@ -1783,7 +1783,7 @@ "type": "string" }, "role": { - "description": "Optional. The roles the approver has allowed, if any.", + "description": "Optional. The roles the approver has allowed, if any. Note: This field is required for the `ACCEPT` action.", "location": "query", "repeated": true, "type": "string" @@ -2769,7 +2769,7 @@ } } }, - "revision": "20241008", + "revision": "20241014", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { diff --git a/drive/v3/drive-gen.go b/drive/v3/drive-gen.go index 296879a01e3..0b4bf4cccc0 100644 --- a/drive/v3/drive-gen.go +++ b/drive/v3/drive-gen.go @@ -7608,7 +7608,7 @@ func (c *FilesAccessproposalsResolveCall) Action(action string) *FilesAccessprop } // Role sets the optional parameter "role": The roles the approver has allowed, -// if any. +// if any. Note: This field is required for the `ACCEPT` action. func (c *FilesAccessproposalsResolveCall) Role(role ...string) *FilesAccessproposalsResolveCall { c.urlParams_.SetMulti("role", append([]string{}, role...)) return c diff --git a/file/v1/file-api.json b/file/v1/file-api.json index 576e7ee5b2b..901838e93d4 100644 --- a/file/v1/file-api.json +++ b/file/v1/file-api.json @@ -902,7 +902,7 @@ } } }, - "revision": "20240905", + "revision": "20241008", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -2302,22 +2302,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/file/v1/file-gen.go b/file/v1/file-gen.go index 4acf8b2bb55..255a1bd5d6b 100644 --- a/file/v1/file-gen.go +++ b/file/v1/file-gen.go @@ -1824,16 +1824,19 @@ func (s Status) MarshalJSON() ([]byte, error) { // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. type TimeOfDay struct { - // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may - // choose to allow the value "24:00:00" for scenarios like business closing - // time. + // Hours: Hours of a day in 24 hour format. Must be greater than or equal to 0 + // and typically must be less than or equal to 23. An API may choose to allow + // the value "24:00:00" for scenarios like business closing time. Hours int64 `json:"hours,omitempty"` - // Minutes: Minutes of hour of day. Must be from 0 to 59. + // Minutes: Minutes of an hour. Must be greater than or equal to 0 and less + // than or equal to 59. Minutes int64 `json:"minutes,omitempty"` - // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // Nanos: Fractions of seconds, in nanoseconds. Must be greater than or equal + // to 0 and less than or equal to 999,999,999. Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. + // Seconds: Seconds of a minute. Must be greater than or equal to 0 and + // typically must be less than or equal to 59. An API may allow the value 60 if + // it allows leap-seconds. Seconds int64 `json:"seconds,omitempty"` // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally // include in API requests. By default, fields with empty or default values are diff --git a/file/v1beta1/file-api.json b/file/v1beta1/file-api.json index 22b3110e59a..c57e7f023e4 100644 --- a/file/v1beta1/file-api.json +++ b/file/v1beta1/file-api.json @@ -1069,7 +1069,7 @@ } } }, - "revision": "20240905", + "revision": "20241008", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -2639,22 +2639,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/file/v1beta1/file-gen.go b/file/v1beta1/file-gen.go index 5c40637c6c6..1eb922944fe 100644 --- a/file/v1beta1/file-gen.go +++ b/file/v1beta1/file-gen.go @@ -2008,16 +2008,19 @@ func (s Status) MarshalJSON() ([]byte, error) { // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. type TimeOfDay struct { - // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may - // choose to allow the value "24:00:00" for scenarios like business closing - // time. + // Hours: Hours of a day in 24 hour format. Must be greater than or equal to 0 + // and typically must be less than or equal to 23. An API may choose to allow + // the value "24:00:00" for scenarios like business closing time. Hours int64 `json:"hours,omitempty"` - // Minutes: Minutes of hour of day. Must be from 0 to 59. + // Minutes: Minutes of an hour. Must be greater than or equal to 0 and less + // than or equal to 59. Minutes int64 `json:"minutes,omitempty"` - // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // Nanos: Fractions of seconds, in nanoseconds. Must be greater than or equal + // to 0 and less than or equal to 999,999,999. Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. + // Seconds: Seconds of a minute. Must be greater than or equal to 0 and + // typically must be less than or equal to 59. An API may allow the value 60 if + // it allows leap-seconds. Seconds int64 `json:"seconds,omitempty"` // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally // include in API requests. By default, fields with empty or default values are diff --git a/healthcare/v1/healthcare-api.json b/healthcare/v1/healthcare-api.json index c687007865e..cf7750a031c 100644 --- a/healthcare/v1/healthcare-api.json +++ b/healthcare/v1/healthcare-api.json @@ -4783,7 +4783,7 @@ } } }, - "revision": "20240910", + "revision": "20241009", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -5413,7 +5413,7 @@ "description": "The configuration to use when de-identifying resources that are added to this store." }, "store": { - "description": "The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "description": "Optional. The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", "type": "string" } }, @@ -5982,7 +5982,7 @@ "id": "FhirStore", "properties": { "complexDataTypeReferenceParsing": { - "description": "Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", + "description": "Optional. Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", "enum": [ "COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED", "DISABLED", @@ -6043,7 +6043,7 @@ }, "validationConfig": { "$ref": "ValidationConfig", - "description": "Configuration for how to validate incoming FHIR resources against configured profiles." + "description": "Optional. Configuration for how to validate incoming FHIR resources against configured profiles." }, "version": { "description": "Required. Immutable. The FHIR specification version that this FHIR store supports natively. This field is immutable after store creation. Requests are rejected if they contain FHIR resources of a different version. Version is required for every FHIR store.", @@ -6262,15 +6262,15 @@ "id": "GoogleCloudHealthcareV1DicomBigQueryDestination", "properties": { "force": { - "description": "Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", + "description": "Optional. Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", "type": "boolean" }, "tableUri": { - "description": "BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId`", + "description": "Optional. BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId`", "type": "string" }, "writeDisposition": { - "description": "Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", + "description": "Optional. Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", "enum": [ "WRITE_DISPOSITION_UNSPECIFIED", "WRITE_EMPTY", @@ -7889,7 +7889,7 @@ }, "deidentifiedStoreDestination": { "$ref": "DeidentifiedStoreDestination", - "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." + "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." }, "resourceTypes": { "description": "Optional. Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.", @@ -8135,23 +8135,23 @@ "id": "ValidationConfig", "properties": { "disableFhirpathValidation": { - "description": "Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "disableProfileValidation": { - "description": "Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store.", + "description": "Optional. Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store.", "type": "boolean" }, "disableReferenceTypeValidation": { - "description": "Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "disableRequiredFieldValidation": { - "description": "Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "enabledImplementationGuides": { - "description": "A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `[\"http://hl7.org/fhir/us/core/ImplementationGuide/ig\"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using \"value\" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error.", + "description": "Optional. A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `[\"http://hl7.org/fhir/us/core/ImplementationGuide/ig\"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using \"value\" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error.", "items": { "type": "string" }, diff --git a/healthcare/v1/healthcare-gen.go b/healthcare/v1/healthcare-gen.go index ae77e8cffae..a46755edbfc 100644 --- a/healthcare/v1/healthcare-gen.go +++ b/healthcare/v1/healthcare-gen.go @@ -1380,7 +1380,8 @@ type DeidentifiedStoreDestination struct { // Config: The configuration to use when de-identifying resources that are // added to this store. Config *DeidentifyConfig `json:"config,omitempty"` - // Store: The full resource name of a Cloud Healthcare FHIR store, for example, + // Store: Optional. The full resource name of a Cloud Healthcare FHIR store, + // for example, // `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStor // es/{fhir_store_id}`. Store string `json:"store,omitempty"` @@ -2360,14 +2361,15 @@ func (s FhirNotificationConfig) MarshalJSON() ([]byte, error) { // FhirStore: Represents a FHIR store. type FhirStore struct { - // ComplexDataTypeReferenceParsing: Enable parsing of references within complex - // FHIR data types such as Extensions. If this value is set to ENABLED, then - // features like referential integrity and Bundle reference rewriting apply to - // all references. If this flag has not been specified the behavior of the FHIR - // store will not change, references in complex data types will not be parsed. - // New stores will have this value set to ENABLED after a notification period. - // Warning: turning on this flag causes processing existing resources to fail - // if they contain references to non-existent resources. + // ComplexDataTypeReferenceParsing: Optional. Enable parsing of references + // within complex FHIR data types such as Extensions. If this value is set to + // ENABLED, then features like referential integrity and Bundle reference + // rewriting apply to all references. If this flag has not been specified the + // behavior of the FHIR store will not change, references in complex data types + // will not be parsed. New stores will have this value set to ENABLED after a + // notification period. Warning: turning on this flag causes processing + // existing resources to fail if they contain references to non-existent + // resources. // // Possible values: // "COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED" - No parsing behavior @@ -2447,8 +2449,8 @@ type FhirStore struct { // the order of dozens of seconds) is expected before the results show up in // the streaming destination. StreamConfigs []*StreamConfig `json:"streamConfigs,omitempty"` - // ValidationConfig: Configuration for how to validate incoming FHIR resources - // against configured profiles. + // ValidationConfig: Optional. Configuration for how to validate incoming FHIR + // resources against configured profiles. ValidationConfig *ValidationConfig `json:"validationConfig,omitempty"` // Version: Required. Immutable. The FHIR specification version that this FHIR // store supports natively. This field is immutable after store creation. @@ -2767,17 +2769,17 @@ type GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary struct { // GoogleCloudHealthcareV1DicomBigQueryDestination: The BigQuery table where // the server writes the output. type GoogleCloudHealthcareV1DicomBigQueryDestination struct { - // Force: Use `write_disposition` instead. If `write_disposition` is specified, - // this parameter is ignored. force=false is equivalent to + // Force: Optional. Use `write_disposition` instead. If `write_disposition` is + // specified, this parameter is ignored. force=false is equivalent to // write_disposition=WRITE_EMPTY and force=true is equivalent to // write_disposition=WRITE_TRUNCATE. Force bool `json:"force,omitempty"` - // TableUri: BigQuery URI to a table, up to 2000 characters long, in the format - // `bq://projectId.bqDatasetId.tableId` + // TableUri: Optional. BigQuery URI to a table, up to 2000 characters long, in + // the format `bq://projectId.bqDatasetId.tableId` TableUri string `json:"tableUri,omitempty"` - // WriteDisposition: Determines whether the existing table in the destination - // is to be overwritten or appended to. If a write_disposition is specified, - // the `force` parameter is ignored. + // WriteDisposition: Optional. Determines whether the existing table in the + // destination is to be overwritten or appended to. If a write_disposition is + // specified, the `force` parameter is ignored. // // Possible values: // "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as @@ -5378,14 +5380,15 @@ type StreamConfig struct { // DeidentifiedStoreDestination: The destination FHIR store for de-identified // resources. After this field is added, all subsequent creates/updates/patches // to the source store will be de-identified using the provided configuration - // and applied to the destination store. Importing resources to the source - // store will not trigger the streaming. If the source store already contains - // resources when this option is enabled, those resources will not be copied to - // the destination store unless they are subsequently updated. This may result - // in invalid references in the destination store. Before adding this config, - // you must grant the healthcare.fhirResources.update permission on the - // destination store to your project's **Cloud Healthcare Service Agent** - // service account + // and applied to the destination store. Resources deleted from the source + // store will be deleted from the destination store. Importing resources to the + // source store will not trigger the streaming. If the source store already + // contains resources when this option is enabled, those resources will not be + // copied to the destination store unless they are subsequently updated. This + // may result in invalid references in the destination store. Before adding + // this config, you must grant the healthcare.fhirResources.update permission + // on the destination store to your project's **Cloud Healthcare Service + // Agent** service account // (https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). // The destination store must set enable_update_create to true. The destination // store must have disable_referential_integrity set to true. If a resource @@ -5717,35 +5720,35 @@ func (s UserDataMapping) MarshalJSON() ([]byte, error) { // ValidationConfig: Contains the configuration for FHIR profiles and // validation. type ValidationConfig struct { - // DisableFhirpathValidation: Whether to disable FHIRPath validation for - // incoming resources. The default value is false. Set this to true to disable - // checking incoming resources for conformance against FHIRPath requirement - // defined in the FHIR specification. This property only affects resource types - // that do not have profiles configured for them, any rules in enabled - // implementation guides will still be enforced. - DisableFhirpathValidation bool `json:"disableFhirpathValidation,omitempty"` - // DisableProfileValidation: Whether to disable profile validation for this - // FHIR store. The default value is false. Set this to true to disable checking - // incoming resources for conformance against structure definitions in this - // FHIR store. - DisableProfileValidation bool `json:"disableProfileValidation,omitempty"` - // DisableReferenceTypeValidation: Whether to disable reference type validation + // DisableFhirpathValidation: Optional. Whether to disable FHIRPath validation // for incoming resources. The default value is false. Set this to true to - // disable checking incoming resources for conformance against reference type + // disable checking incoming resources for conformance against FHIRPath // requirement defined in the FHIR specification. This property only affects // resource types that do not have profiles configured for them, any rules in // enabled implementation guides will still be enforced. + DisableFhirpathValidation bool `json:"disableFhirpathValidation,omitempty"` + // DisableProfileValidation: Optional. Whether to disable profile validation + // for this FHIR store. The default value is false. Set this to true to disable + // checking incoming resources for conformance against structure definitions in + // this FHIR store. + DisableProfileValidation bool `json:"disableProfileValidation,omitempty"` + // DisableReferenceTypeValidation: Optional. Whether to disable reference type + // validation for incoming resources. The default value is false. Set this to + // true to disable checking incoming resources for conformance against + // reference type requirement defined in the FHIR specification. This property + // only affects resource types that do not have profiles configured for them, + // any rules in enabled implementation guides will still be enforced. DisableReferenceTypeValidation bool `json:"disableReferenceTypeValidation,omitempty"` - // DisableRequiredFieldValidation: Whether to disable required fields + // DisableRequiredFieldValidation: Optional. Whether to disable required fields // validation for incoming resources. The default value is false. Set this to // true to disable checking incoming resources for conformance against required // fields requirement defined in the FHIR specification. This property only // affects resource types that do not have profiles configured for them, any // rules in enabled implementation guides will still be enforced. DisableRequiredFieldValidation bool `json:"disableRequiredFieldValidation,omitempty"` - // EnabledImplementationGuides: A list of implementation guide URLs in this - // FHIR store that are used to configure the profiles to use for validation. - // For example, to use the US Core profiles for validation, set + // EnabledImplementationGuides: Optional. A list of implementation guide URLs + // in this FHIR store that are used to configure the profiles to use for + // validation. For example, to use the US Core profiles for validation, set // `enabled_implementation_guides` to // `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If // `enabled_implementation_guides` is empty or omitted, then incoming resources diff --git a/healthcare/v1beta1/healthcare-api.json b/healthcare/v1beta1/healthcare-api.json index aff5eb41c32..05245a7d42f 100644 --- a/healthcare/v1beta1/healthcare-api.json +++ b/healthcare/v1beta1/healthcare-api.json @@ -5858,7 +5858,7 @@ } } }, - "revision": "20240822", + "revision": "20241009", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { @@ -10246,7 +10246,7 @@ }, "deidentifiedStoreDestination": { "$ref": "DeidentifiedStoreDestination", - "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." + "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." }, "resourceTypes": { "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.", diff --git a/healthcare/v1beta1/healthcare-gen.go b/healthcare/v1beta1/healthcare-gen.go index e9a56651d25..ed2d0e564e5 100644 --- a/healthcare/v1beta1/healthcare-gen.go +++ b/healthcare/v1beta1/healthcare-gen.go @@ -7323,14 +7323,15 @@ type StreamConfig struct { // DeidentifiedStoreDestination: The destination FHIR store for de-identified // resources. After this field is added, all subsequent creates/updates/patches // to the source store will be de-identified using the provided configuration - // and applied to the destination store. Importing resources to the source - // store will not trigger the streaming. If the source store already contains - // resources when this option is enabled, those resources will not be copied to - // the destination store unless they are subsequently updated. This may result - // in invalid references in the destination store. Before adding this config, - // you must grant the healthcare.fhirResources.update permission on the - // destination store to your project's **Cloud Healthcare Service Agent** - // service account + // and applied to the destination store. Resources deleted from the source + // store will be deleted from the destination store. Importing resources to the + // source store will not trigger the streaming. If the source store already + // contains resources when this option is enabled, those resources will not be + // copied to the destination store unless they are subsequently updated. This + // may result in invalid references in the destination store. Before adding + // this config, you must grant the healthcare.fhirResources.update permission + // on the destination store to your project's **Cloud Healthcare Service + // Agent** service account // (https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). // The destination store must set enable_update_create to true. The destination // store must have disable_referential_integrity set to true. If a resource diff --git a/logging/v2/logging-api.json b/logging/v2/logging-api.json index 487b58fbc47..fbe32da0ab6 100644 --- a/logging/v2/logging-api.json +++ b/logging/v2/logging-api.json @@ -3166,7 +3166,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -5984,7 +5984,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -7786,7 +7786,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -8922,7 +8922,7 @@ } } }, - "revision": "20240913", + "revision": "20241010", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AuditConfig": { @@ -10430,7 +10430,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "readOnly": true, "type": "string" }, diff --git a/logging/v2/logging-gen.go b/logging/v2/logging-gen.go index b82d1b829f9..ddafdd52f3f 100644 --- a/logging/v2/logging-gen.go +++ b/logging/v2/logging-gen.go @@ -3185,7 +3185,8 @@ type LogScope struct { // Description: Optional. Describes this log scope.The maximum length of the // description is 8000 characters. Description string `json:"description,omitempty"` - // Name: Output only. The resource name of the log scope.For + // Name: Output only. The resource name of the log scope.Log scopes are only + // available in the global location. For // example:projects/my-project/locations/global/logScopes/my-log-scope Name string `json:"name,omitempty"` // ResourceNames: Required. Names of one or more parent resources: @@ -15413,7 +15414,8 @@ type FoldersLocationsLogScopesPatchCall struct { // Patch: Updates a log scope. // -// - name: Output only. The resource name of the log scope.For +// - name: Output only. The resource name of the log scope.Log scopes are only +// available in the global location. For // example:projects/my-project/locations/global/logScopes/my-log-scope. func (r *FoldersLocationsLogScopesService) Patch(name string, logscope *LogScope) *FoldersLocationsLogScopesPatchCall { c := &FoldersLocationsLogScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -25459,7 +25461,8 @@ type OrganizationsLocationsLogScopesPatchCall struct { // Patch: Updates a log scope. // -// - name: Output only. The resource name of the log scope.For +// - name: Output only. The resource name of the log scope.Log scopes are only +// available in the global location. For // example:projects/my-project/locations/global/logScopes/my-log-scope. func (r *OrganizationsLocationsLogScopesService) Patch(name string, logscope *LogScope) *OrganizationsLocationsLogScopesPatchCall { c := &OrganizationsLocationsLogScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -31874,7 +31877,8 @@ type ProjectsLocationsLogScopesPatchCall struct { // Patch: Updates a log scope. // -// - name: Output only. The resource name of the log scope.For +// - name: Output only. The resource name of the log scope.Log scopes are only +// available in the global location. For // example:projects/my-project/locations/global/logScopes/my-log-scope. func (r *ProjectsLocationsLogScopesService) Patch(name string, logscope *LogScope) *ProjectsLocationsLogScopesPatchCall { c := &ProjectsLocationsLogScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} diff --git a/merchantapi/accounts_v1beta/merchantapi-api.json b/merchantapi/accounts_v1beta/merchantapi-api.json index 55fa8b49eea..ac4bbfb3622 100644 --- a/merchantapi/accounts_v1beta/merchantapi-api.json +++ b/merchantapi/accounts_v1beta/merchantapi-api.json @@ -476,7 +476,7 @@ "emailPreferences": { "methods": { "getEmailPreferences": { - "description": "Returns the email preferences for a Merchant Center account user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", + "description": "Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", "flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}/emailPreferences", "httpMethod": "GET", "id": "merchantapi.accounts.emailPreferences.getEmailPreferences", @@ -1195,7 +1195,7 @@ ] }, "delete": { - "description": "Deletes a Merchant Center account user. Executing this method requires admin access.", + "description": "Deletes a Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager\"", "flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}", "httpMethod": "DELETE", "id": "merchantapi.accounts.users.delete", @@ -1417,7 +1417,7 @@ } } }, - "revision": "20241004", + "revision": "20241015", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Accepted": { @@ -1538,7 +1538,7 @@ "description": "The provider is an [aggregator](https://support.google.com/merchants/answer/188487) for the account. Payload for service type Account Aggregation." }, "provider": { - "description": "Optional. The provider of the service. Format: `accounts/{account}`", + "description": "Required. The provider of the service. Format: `accounts/{account}`", "type": "string" } }, diff --git a/merchantapi/accounts_v1beta/merchantapi-gen.go b/merchantapi/accounts_v1beta/merchantapi-gen.go index da71eae88be..9c1dadb1a22 100644 --- a/merchantapi/accounts_v1beta/merchantapi-gen.go +++ b/merchantapi/accounts_v1beta/merchantapi-gen.go @@ -448,7 +448,7 @@ type AddAccountService struct { // (https://support.google.com/merchants/answer/188487) for the account. // Payload for service type Account Aggregation. AccountAggregation *AccountAggregation `json:"accountAggregation,omitempty"` - // Provider: Optional. The provider of the service. Format: + // Provider: Required. The provider of the service. Format: // `accounts/{account}` Provider string `json:"provider,omitempty"` // ForceSendFields is a list of field names (e.g. "AccountAggregation") to @@ -4438,8 +4438,10 @@ type AccountsEmailPreferencesGetEmailPreferencesCall struct { } // GetEmailPreferences: Returns the email preferences for a Merchant Center -// account user. Use the name=accounts/*/users/me/emailPreferences alias to get -// preferences for the authenticated user. +// account user. This service only permits retrieving and updating email +// preferences for the authenticated user. Use the +// name=accounts/*/users/me/emailPreferences alias to get preferences for the +// authenticated user. // // - name: The name of the `EmailPreferences` resource. Format: // `accounts/{account}/users/{email}/emailPreferences`. @@ -7099,7 +7101,9 @@ type AccountsUsersDeleteCall struct { } // Delete: Deletes a Merchant Center account user. Executing this method -// requires admin access. +// requires admin access. The user to be deleted can't be the last admin user +// of that account. Also a user is protected from deletion if it is managed by +// Business Manager" // // - name: The name of the user to delete. Format: // `accounts/{account}/users/{email}` It is also possible to delete the user diff --git a/merchantapi/datasources_v1beta/merchantapi-api.json b/merchantapi/datasources_v1beta/merchantapi-api.json index abae12d67e2..7cc4f370460 100644 --- a/merchantapi/datasources_v1beta/merchantapi-api.json +++ b/merchantapi/datasources_v1beta/merchantapi-api.json @@ -321,7 +321,7 @@ } } }, - "revision": "20241004", + "revision": "20241015", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -365,6 +365,10 @@ "$ref": "LocalInventoryDataSource", "description": "Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source." }, + "merchantReviewDataSource": { + "$ref": "MerchantReviewDataSource", + "description": "Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source." + }, "name": { "description": "Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`", "type": "string" @@ -373,6 +377,10 @@ "$ref": "PrimaryProductDataSource", "description": "Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products." }, + "productReviewDataSource": { + "$ref": "ProductReviewDataSource", + "description": "Required. The [product review](https://support.google.com/merchants/answer/7045996) data source." + }, "promotionDataSource": { "$ref": "PromotionDataSource", "description": "Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source." @@ -688,6 +696,12 @@ }, "type": "object" }, + "MerchantReviewDataSource": { + "description": "The merchant review data source.", + "id": "MerchantReviewDataSource", + "properties": {}, + "type": "object" + }, "PrimaryProductDataSource": { "description": "The primary data source for local and online products.", "id": "PrimaryProductDataSource", @@ -810,6 +824,12 @@ }, "type": "object" }, + "ProductReviewDataSource": { + "description": "The product review data source.", + "id": "ProductReviewDataSource", + "properties": {}, + "type": "object" + }, "ProductStatusChangeMessage": { "description": "The message that the merchant will receive to notify about product status change event", "id": "ProductStatusChangeMessage", diff --git a/merchantapi/datasources_v1beta/merchantapi-gen.go b/merchantapi/datasources_v1beta/merchantapi-gen.go index 6850fa66fb0..ff723023a3d 100644 --- a/merchantapi/datasources_v1beta/merchantapi-gen.go +++ b/merchantapi/datasources_v1beta/merchantapi-gen.go @@ -219,6 +219,9 @@ type DataSource struct { // LocalInventoryDataSource: Required. The local inventory // (https://support.google.com/merchants/answer/7023001) data source. LocalInventoryDataSource *LocalInventoryDataSource `json:"localInventoryDataSource,omitempty"` + // MerchantReviewDataSource: Required. The merchant review + // (https://support.google.com/merchants/answer/7045996) data source. + MerchantReviewDataSource *MerchantReviewDataSource `json:"merchantReviewDataSource,omitempty"` // Name: Identifier. The name of the data source. Format: // `{datasource.name=accounts/{account}/dataSources/{datasource}}` Name string `json:"name,omitempty"` @@ -226,6 +229,9 @@ type DataSource struct { // (https://support.google.com/merchants/answer/7439058) for local and online // products. PrimaryProductDataSource *PrimaryProductDataSource `json:"primaryProductDataSource,omitempty"` + // ProductReviewDataSource: Required. The product review + // (https://support.google.com/merchants/answer/7045996) data source. + ProductReviewDataSource *ProductReviewDataSource `json:"productReviewDataSource,omitempty"` // PromotionDataSource: Required. The promotion // (https://support.google.com/merchants/answer/2906014) data source. PromotionDataSource *PromotionDataSource `json:"promotionDataSource,omitempty"` @@ -590,6 +596,10 @@ func (s LocalInventoryDataSource) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// MerchantReviewDataSource: The merchant review data source. +type MerchantReviewDataSource struct { +} + // PrimaryProductDataSource: The primary data source for local and online // products. type PrimaryProductDataSource struct { @@ -708,6 +718,10 @@ func (s ProductChange) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ProductReviewDataSource: The product review data source. +type ProductReviewDataSource struct { +} + // ProductStatusChangeMessage: The message that the merchant will receive to // notify about product status change event type ProductStatusChangeMessage struct { diff --git a/merchantapi/products_v1beta/merchantapi-api.json b/merchantapi/products_v1beta/merchantapi-api.json index 6930bb8260f..01d35efe9ef 100644 --- a/merchantapi/products_v1beta/merchantapi-api.json +++ b/merchantapi/products_v1beta/merchantapi-api.json @@ -124,7 +124,7 @@ "type": "string" }, "name": { - "description": "Required. The name of the product input resource to delete. Format: accounts/{account}/productInputs/{product}", + "description": "Required. The name of the product input resource to delete. Format: accounts/{account}/productInputs/{product} where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is \"accounts/123/productInputs/online~en~US~sku123\"", "location": "path", "pattern": "^accounts/[^/]+/productInputs/[^/]+$", "required": true, @@ -186,7 +186,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}`", + "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}` where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is \"accounts/123/products/online~en~US~sku123\"", "location": "path", "pattern": "^accounts/[^/]+/products/[^/]+$", "required": true, @@ -242,7 +242,7 @@ } } }, - "revision": "20241001", + "revision": "20241015", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { diff --git a/merchantapi/products_v1beta/merchantapi-gen.go b/merchantapi/products_v1beta/merchantapi-gen.go index 99f68e85fec..23c051461a1 100644 --- a/merchantapi/products_v1beta/merchantapi-gen.go +++ b/merchantapi/products_v1beta/merchantapi-gen.go @@ -1785,7 +1785,10 @@ type AccountsProductInputsDeleteCall struct { // minutes before the processed product can be retrieved. // // - name: The name of the product input resource to delete. Format: -// accounts/{account}/productInputs/{product}. +// accounts/{account}/productInputs/{product} where the last section +// `product` consists of 4 parts: +// channel~content_language~feed_label~offer_id example for product name is +// "accounts/123/productInputs/online~en~US~sku123". func (r *AccountsProductInputsService) Delete(name string) *AccountsProductInputsDeleteCall { c := &AccountsProductInputsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -2007,7 +2010,9 @@ type AccountsProductsGetCall struct { // minutes before the updated final product can be retrieved. // // - name: The name of the product to retrieve. Format: -// `accounts/{account}/products/{product}`. +// `accounts/{account}/products/{product}` where the last section `product` +// consists of 4 parts: channel~content_language~feed_label~offer_id example +// for product name is "accounts/123/products/online~en~US~sku123". func (r *AccountsProductsService) Get(name string) *AccountsProductsGetCall { c := &AccountsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name diff --git a/merchantapi/promotions_v1beta/merchantapi-api.json b/merchantapi/promotions_v1beta/merchantapi-api.json index bb70c3ceddd..47f8eb76943 100644 --- a/merchantapi/promotions_v1beta/merchantapi-api.json +++ b/merchantapi/promotions_v1beta/merchantapi-api.json @@ -203,7 +203,7 @@ } } }, - "revision": "20241004", + "revision": "20241015", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -390,7 +390,13 @@ "LOCAL_INVENTORY_ADS", "FREE_LISTINGS", "FREE_LOCAL_LISTINGS", - "YOUTUBE_SHOPPING" + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" ], "enumDescriptions": [ "Not specified.", @@ -399,7 +405,13 @@ "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", "[Free listings](https://support.google.com/merchants/answer/9199328).", "[Free local product listings](https://support.google.com/merchants/answer/9825611).", - "[YouTube Shopping](https://support.google.com/merchants/answer/12362804)." + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "Youtube affiliate.", + "Free vehicle listings.", + "Vehicle ads.", + "Cloud retail.", + "Local cloud retail." ], "type": "string" }, diff --git a/merchantapi/promotions_v1beta/merchantapi-gen.go b/merchantapi/promotions_v1beta/merchantapi-gen.go index a555a3726ba..27dd0df062b 100644 --- a/merchantapi/promotions_v1beta/merchantapi-gen.go +++ b/merchantapi/promotions_v1beta/merchantapi-gen.go @@ -351,6 +351,12 @@ type Attributes struct { // listings](https://support.google.com/merchants/answer/9825611). // "YOUTUBE_SHOPPING" - [YouTube // Shopping](https://support.google.com/merchants/answer/12362804). + // "YOUTUBE_SHOPPING_CHECKOUT" - Youtube shopping checkout. + // "YOUTUBE_AFFILIATE" - Youtube affiliate. + // "FREE_VEHICLE_LISTINGS" - Free vehicle listings. + // "VEHICLE_ADS" - Vehicle ads. + // "CLOUD_RETAIL" - Cloud retail. + // "LOCAL_CLOUD_RETAIL" - Local cloud retail. PromotionDestinations []string `json:"promotionDestinations,omitempty"` // PromotionDisplayTimePeriod: Optional. `TimePeriod` representation of the // promotion's display dates. This attribute specifies the date and time frame diff --git a/merchantapi/reviews_v1beta/merchantapi-api.json b/merchantapi/reviews_v1beta/merchantapi-api.json new file mode 100644 index 00000000000..5bae4cb3ab0 --- /dev/null +++ b/merchantapi/reviews_v1beta/merchantapi-api.json @@ -0,0 +1,1352 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.devsite.corp.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:reviews_v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "merchantReviews": { + "methods": { + "delete": { + "description": "Deletes merchant review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.merchantReviews.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}", + "location": "path", + "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets a merchant review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.merchantReviews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}", + "location": "path", + "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "MerchantReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a review for your Merchant Center account. If the review already exists, then the review is replaced with the new instance.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.merchantReviews.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSource": { + "description": "Required. The data source of the [merchantreview](https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU) Format: `accounts/{account}/dataSources/{datasource}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account where the merchant review will be inserted. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/merchantReviews:insert", + "request": { + "$ref": "MerchantReview" + }, + "response": { + "$ref": "MerchantReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists merchant reviews.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews", + "httpMethod": "GET", + "id": "merchantapi.accounts.merchantReviews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of merchant reviews to return. The service can return fewer than this value. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the maximum number of reviews is returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListMerchantReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMerchantReviews` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list merchant reviews for. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/merchantReviews", + "response": { + "$ref": "ListMerchantReviewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "productReviews": { + "methods": { + "delete": { + "description": "Deletes a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.productReviews.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the Product review. Format: accounts/{account}/productReviews/{productReview}", + "location": "path", + "pattern": "^accounts/[^/]+/productReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.productReviews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/productReviews/{productReview}", + "location": "path", + "pattern": "^accounts/[^/]+/productReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "ProductReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.productReviews.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSource": { + "description": "Required. Format: `accounts/{account}/dataSources/{datasource}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account where the product review will be inserted. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/productReviews:insert", + "request": { + "$ref": "ProductReview" + }, + "response": { + "$ref": "ProductReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists product reviews.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews", + "httpMethod": "GET", + "id": "merchantapi.accounts.productReviews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of products to return. The service may return fewer than this value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListProductReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProductReviews` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list product reviews for. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/productReviews", + "response": { + "$ref": "ListProductReviewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20241015", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "CustomAttribute": { + "description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.", + "id": "CustomAttribute", + "properties": { + "groupValues": { + "description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "name": { + "description": "The name of the attribute.", + "type": "string" + }, + "value": { + "description": "The value of the attribute. If `value` is not empty, `group_values` must be empty.", + "type": "string" + } + }, + "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" + }, + "ListMerchantReviewsResponse": { + "description": "Response message for the `ListMerchantsReview` method.", + "id": "ListMerchantReviewsResponse", + "properties": { + "merchantReviews": { + "description": "The merchant review.", + "items": { + "$ref": "MerchantReview" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListProductReviewsResponse": { + "description": "response message for the ListProductReviews method.", + "id": "ListProductReviewsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "productReviews": { + "description": "The product review.", + "items": { + "$ref": "ProductReview" + }, + "type": "array" + } + }, + "type": "object" + }, + "MerchantReview": { + "description": "A review for a merchant. For more information, see [Introduction to Merchant Review Feeds](https://developers.google.com/merchant-review-feeds)", + "id": "MerchantReview", + "properties": { + "attributes": { + "$ref": "MerchantReviewAttributes", + "description": "Optional. A list of merchant review attributes." + }, + "customAttributes": { + "description": "Required. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as experimental attributes. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the merchant review.", + "readOnly": true, + "type": "string" + }, + "merchantReviewId": { + "description": "Required. The user provided merchant review ID to uniquely identify the merchant review.", + "type": "string" + }, + "merchantReviewStatus": { + "$ref": "MerchantReviewStatus", + "description": "Output only. The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously.", + "readOnly": true + }, + "name": { + "description": "Identifier. The name of the merchant review. Format: `\"{merchantreview.name=accounts/{account}/merchantReviews/{merchantReview}}\"`", + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewAttributes": { + "description": "Attributes.", + "id": "MerchantReviewAttributes", + "properties": { + "collectionMethod": { + "description": "Optional. The method used to collect the review.", + "enum": [ + "COLLECTION_METHOD_UNSPECIFIED", + "MERCHANT_UNSOLICITED", + "POINT_OF_SALE", + "AFTER_FULFILLMENT" + ], + "enumDescriptions": [ + "Collection method unspecified.", + "The user was not responding to a specific solicitation when they submitted the review.", + "The user submitted the review in response to a solicitation when the user placed an order.", + "The user submitted the review in response to a solicitation after fulfillment of the user's order." + ], + "type": "string" + }, + "content": { + "description": "Required. This should be any freeform text provided by the user and should not be truncated. If multiple responses to different questions are provided, all responses should be included, with the minimal context for the responses to make sense. Context should not be provided if questions were left unanswered.", + "type": "string" + }, + "isAnonymous": { + "description": "Optional. Set to true if the reviewer should remain anonymous.", + "type": "boolean" + }, + "maxRating": { + "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min rating.", + "format": "int64", + "type": "string" + }, + "merchantDisplayName": { + "description": "Optional. Human-readable display name for the merchant.", + "type": "string" + }, + "merchantId": { + "description": "Required. Must be unique and stable across all requests. In other words, if a request today and another 90 days ago refer to the same merchant, they must have the same id.", + "type": "string" + }, + "merchantLink": { + "description": "Optional. URL to the merchant's main website. Do not use a redirect URL for this value. In other words, the value should point directly to the merchant's site.", + "type": "string" + }, + "merchantRatingLink": { + "description": "Optional. URL to the landing page that hosts the reviews for this merchant. Do not use a redirect URL.", + "type": "string" + }, + "minRating": { + "description": "Optional. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating.", + "format": "int64", + "type": "string" + }, + "rating": { + "description": "Optional. The reviewer's overall rating of the merchant.", + "format": "double", + "type": "number" + }, + "reviewCountry": { + "description": "Optional. The country where the reviewer made the order defined by ISO 3166-1 Alpha-2 Country Code.", + "type": "string" + }, + "reviewLanguage": { + "description": "Required. The language of the review defined by BCP-47 language code.", + "type": "string" + }, + "reviewTime": { + "description": "Required. The timestamp indicating when the review was written.", + "format": "google-datetime", + "type": "string" + }, + "reviewerId": { + "description": "Optional. A permanent, unique identifier for the author of the review in the publisher's system.", + "type": "string" + }, + "reviewerUsername": { + "description": "Optional. Display name of the review author.", + "type": "string" + }, + "title": { + "description": "Optional. The title of the review.", + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewDestinationStatus": { + "description": "The destination status of the merchant review status.", + "id": "MerchantReviewDestinationStatus", + "properties": { + "reportingContext": { + "description": "Output only. The name of the reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewItemLevelIssue": { + "description": "The ItemLevelIssue of the merchant review status.", + "id": "MerchantReviewItemLevelIssue", + "properties": { + "attribute": { + "description": "Output only. The attribute's name, if the issue is caused by a single attribute.", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. The error code of the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A short issue description in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. A detailed issue description in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of a web page to help with resolving this issue.", + "readOnly": true, + "type": "string" + }, + "reportingContext": { + "description": "Output only. The reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + ], + "readOnly": true, + "type": "string" + }, + "resolution": { + "description": "Output only. Whether the issue can be resolved by the merchant.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. How this issue affects serving of the merchant review.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the merchant review.", + "Issue disapproves the merchant review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewStatus": { + "description": "The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously.", + "id": "MerchantReviewStatus", + "properties": { + "createTime": { + "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationStatuses": { + "description": "Output only. The intended destinations for the merchant review.", + "items": { + "$ref": "MerchantReviewDestinationStatus" + }, + "readOnly": true, + "type": "array" + }, + "itemLevelIssues": { + "description": "Output only. A list of all issues associated with the merchant review.", + "items": { + "$ref": "MerchantReviewItemLevelIssue" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateTime": { + "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute.", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute.", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable)", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductReview": { + "description": "A review for a product. For more information, see [Introduction to Product Review Feeds](https://developers.google.com/product-review-feeds)", + "id": "ProductReview", + "properties": { + "attributes": { + "$ref": "ProductReviewAttributes", + "description": "Optional. A list of product review attributes." + }, + "customAttributes": { + "description": "Optional. A list of custom (merchant-provided) attributes.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the product review.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The name of the product review. Format: `\"{productreview.name=accounts/{account}/productReviews/{productReview}}\"`", + "type": "string" + }, + "productReviewId": { + "description": "Required. The permanent, unique identifier for the product review in the publisher’s system.", + "type": "string" + }, + "productReviewStatus": { + "$ref": "ProductReviewStatus", + "description": "Output only. The status of a product review, data validation issues, that is, information about a product review computed asynchronously.", + "readOnly": true + } + }, + "type": "object" + }, + "ProductReviewAttributes": { + "description": "Attributes.", + "id": "ProductReviewAttributes", + "properties": { + "aggregatorName": { + "description": "Optional. The name of the aggregator of the product reviews. A publisher may use a reviews aggregator to manage reviews and provide the feeds. This element indicates the use of an aggregator and contains information about the aggregator.", + "type": "string" + }, + "asins": { + "description": "Optional. Contains ASINs (Amazon Standard Identification Numbers) associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "brands": { + "description": "Optional. Contains brand names associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "collectionMethod": { + "description": "Optional. The method used to collect the review.", + "enum": [ + "COLLECTION_METHOD_UNSPECIFIED", + "UNSOLICITED", + "POST_FULFILLMENT" + ], + "enumDescriptions": [ + "Collection method unspecified.", + "The user was not responding to a specific solicitation when they submitted the review.", + "The user submitted the review in response to a solicitation after fulfillment of the user's order." + ], + "type": "string" + }, + "cons": { + "description": "Optional. Contains the disadvantages based on the opinion of the reviewer. Omit boilerplate text like \"con:\" unless it was written by the reviewer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "content": { + "description": "Required. The content of the review.", + "type": "string" + }, + "gtins": { + "description": "Optional. Contains GTINs (global trade item numbers) associated with a product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "isSpam": { + "description": "Optional. Indicates whether the review is marked as spam in the publisher's system.", + "type": "boolean" + }, + "maxRating": { + "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min attribute.", + "format": "int64", + "type": "string" + }, + "minRating": { + "description": "Optional. Contains the ratings associated with the review. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating.", + "format": "int64", + "type": "string" + }, + "mpns": { + "description": "Optional. Contains MPNs (manufacturer part numbers) associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "productLinks": { + "description": "Optional. The URI of the product. This URI can have the same value as the `review_link` element, if the review URI and the product URI are the same.", + "items": { + "type": "string" + }, + "type": "array" + }, + "productNames": { + "description": "Optional. Descriptive name of a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pros": { + "description": "Optional. Contains the advantages based on the opinion of the reviewer. Omit boilerplate text like \"pro:\" unless it was written by the reviewer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "publisherFavicon": { + "description": "Optional. A link to the company favicon of the publisher. The image dimensions should be favicon size: 16x16 pixels. The image format should be GIF, JPG or PNG.", + "type": "string" + }, + "publisherName": { + "description": "Optional. The name of the publisher of the product reviews. The information about the publisher, which may be a retailer, manufacturer, reviews service company, or any entity that publishes product reviews.", + "type": "string" + }, + "rating": { + "description": "Optional. The reviewer's overall rating of the product.", + "format": "double", + "type": "number" + }, + "reviewCountry": { + "description": "Optional. The country of the review defined by ISO 3166-1 Alpha-2 Country Code.", + "type": "string" + }, + "reviewLanguage": { + "description": "Optional. The language of the review defined by BCP-47 language code.", + "type": "string" + }, + "reviewLink": { + "$ref": "ReviewLink", + "description": "Optional. The URI of the review landing page." + }, + "reviewTime": { + "description": "Required. The timestamp indicating when the review was written.", + "format": "google-datetime", + "type": "string" + }, + "reviewerId": { + "description": "Optional. The author of the product review. A permanent, unique identifier for the author of the review in the publisher's system.", + "type": "string" + }, + "reviewerImageLinks": { + "description": "Optional. A URI to an image of the reviewed product created by the review author. The URI does not have to end with an image file extension.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reviewerIsAnonymous": { + "description": "Optional. Set to true if the reviewer should remain anonymous.", + "type": "boolean" + }, + "reviewerUsername": { + "description": "Optional. The name of the reviewer of the product review.", + "type": "string" + }, + "skus": { + "description": "Optional. Contains SKUs (stock keeping units) associated with a product. Often this matches the product Offer Id in the product feed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subclientName": { + "description": "Optional. The name of the subclient of the product reviews. The subclient is an identifier of the product review source. It should be equivalent to the directory provided in the file data source path.", + "type": "string" + }, + "title": { + "description": "Optional. The title of the review.", + "type": "string" + }, + "transactionId": { + "description": "Optional. A permanent, unique identifier for the transaction associated with the review in the publisher's system. This ID can be used to indicate that multiple reviews are associated with the same transaction.", + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewDestinationStatus": { + "description": "The destination status of the product review status.", + "id": "ProductReviewDestinationStatus", + "properties": { + "reportingContext": { + "description": "Output only. The name of the reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewItemLevelIssue": { + "description": "The ItemLevelIssue of the product review status.", + "id": "ProductReviewItemLevelIssue", + "properties": { + "attribute": { + "description": "Output only. The attribute's name, if the issue is caused by a single attribute.", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. The error code of the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A short issue description in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. A detailed issue description in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of a web page to help with resolving this issue.", + "readOnly": true, + "type": "string" + }, + "reportingContext": { + "description": "Output only. The reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + ], + "readOnly": true, + "type": "string" + }, + "resolution": { + "description": "Output only. Whether the issue can be resolved by the merchant.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. How this issue affects serving of the product review.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the product review.", + "Issue disapproves the product review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewStatus": { + "description": "Product review status.", + "id": "ProductReviewStatus", + "properties": { + "createTime": { + "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationStatuses": { + "description": "Output only. The intended destinations for the product review.", + "items": { + "$ref": "ProductReviewDestinationStatus" + }, + "readOnly": true, + "type": "array" + }, + "itemLevelIssues": { + "description": "Output only. A list of all issues associated with the product review.", + "items": { + "$ref": "ProductReviewItemLevelIssue" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateTime": { + "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `{product.name=accounts/{account}/products/{product}}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReviewLink": { + "description": "The URI of the review landing page.", + "id": "ReviewLink", + "properties": { + "link": { + "description": "Optional. The URI of the review landing page. For example: `http://www.example.com/review_5.html`.", + "type": "string" + }, + "type": { + "description": "Optional. Type of the review URI.", + "enum": [ + "TYPE_UNSPECIFIED", + "SINGLETON", + "GROUP" + ], + "enumDescriptions": [ + "Type unspecified.", + "The review page contains only this single review.", + "The review page contains a group of reviews including this review." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "reviews_v1beta", + "version_module": true +} \ No newline at end of file diff --git a/merchantapi/reviews_v1beta/merchantapi-gen.go b/merchantapi/reviews_v1beta/merchantapi-gen.go new file mode 100644 index 00000000000..754f38e028d --- /dev/null +++ b/merchantapi/reviews_v1beta/merchantapi-gen.go @@ -0,0 +1,2001 @@ +// Copyright 2024 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package merchantapi provides access to the Merchant API. +// +// For product documentation, see: https://developers.devsite.corp.google.com/merchant/api +// +// # Library status +// +// These client libraries are officially supported by Google. However, this +// library is considered complete and is in maintenance mode. This means +// that we will address critical bugs and security issues but will not add +// any new features. +// +// When possible, we recommend using our newer +// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) +// that are still actively being worked and iterated on. +// +// # Creating a client +// +// Usage example: +// +// import "google.golang.org/api/merchantapi/reviews_v1beta" +// ... +// ctx := context.Background() +// merchantapiService, err := merchantapi.NewService(ctx) +// +// In this example, Google Application Default Credentials are used for +// authentication. For information on how to create and obtain Application +// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. +// +// # Other authentication options +// +// To use an API key for authentication (note: some APIs do not support API +// keys), use [google.golang.org/api/option.WithAPIKey]: +// +// merchantapiService, err := merchantapi.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth +// flow, use [google.golang.org/api/option.WithTokenSource]: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// merchantapiService, err := merchantapi.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See [google.golang.org/api/option.ClientOption] for details on options. +package merchantapi // import "google.golang.org/api/merchantapi/reviews_v1beta" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint +var _ = internal.Version + +const apiId = "merchantapi:reviews_v1beta" +const apiName = "merchantapi" +const apiVersion = "reviews_v1beta" +const basePath = "https://merchantapi.googleapis.com/" +const basePathTemplate = "https://merchantapi.UNIVERSE_DOMAIN/" +const mtlsBasePath = "https://merchantapi.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Manage your product listings and accounts for Google Shopping + ContentScope = "https://www.googleapis.com/auth/content" +) + +// NewService creates a new Service. +func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/content", + ) + // 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.WithDefaultEndpointTemplate(basePathTemplate)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + opts = append(opts, internaloption.EnableNewAuthLibrary()) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s, err := New(client) + if err != nil { + return nil, err + } + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new Service. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Accounts = NewAccountsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Accounts *AccountsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewAccountsService(s *Service) *AccountsService { + rs := &AccountsService{s: s} + rs.MerchantReviews = NewAccountsMerchantReviewsService(s) + rs.ProductReviews = NewAccountsProductReviewsService(s) + return rs +} + +type AccountsService struct { + s *Service + + MerchantReviews *AccountsMerchantReviewsService + + ProductReviews *AccountsProductReviewsService +} + +func NewAccountsMerchantReviewsService(s *Service) *AccountsMerchantReviewsService { + rs := &AccountsMerchantReviewsService{s: s} + return rs +} + +type AccountsMerchantReviewsService struct { + s *Service +} + +func NewAccountsProductReviewsService(s *Service) *AccountsProductReviewsService { + rs := &AccountsProductReviewsService{s: s} + return rs +} + +type AccountsProductReviewsService struct { + s *Service +} + +// CustomAttribute: A message that represents custom attributes. Exactly one of +// `value` or `group_values` must not be empty. +type CustomAttribute struct { + // GroupValues: Subattributes within this attribute group. If `group_values` is + // not empty, `value` must be empty. + GroupValues []*CustomAttribute `json:"groupValues,omitempty"` + // Name: The name of the attribute. + Name string `json:"name,omitempty"` + // Value: The value of the attribute. If `value` is not empty, `group_values` + // must be empty. + Value string `json:"value,omitempty"` + // ForceSendFields is a list of field names (e.g. "GroupValues") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "GroupValues") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CustomAttribute) MarshalJSON() ([]byte, error) { + type NoMethod CustomAttribute + return gensupport.MarshalJSON(NoMethod(s), 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 instance: service Foo +// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` +} + +// ListMerchantReviewsResponse: Response message for the `ListMerchantsReview` +// method. +type ListMerchantReviewsResponse struct { + // MerchantReviews: The merchant review. + MerchantReviews []*MerchantReview `json:"merchantReviews,omitempty"` + // NextPageToken: The token to retrieve the next page of results. + 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. "MerchantReviews") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "MerchantReviews") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListMerchantReviewsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListMerchantReviewsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListProductReviewsResponse: response message for the ListProductReviews +// method. +type ListProductReviewsResponse struct { + // NextPageToken: A token, which can be sent as `page_token` to retrieve the + // next page. If this field is omitted, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + // ProductReviews: The product review. + ProductReviews []*ProductReview `json:"productReviews,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListProductReviewsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListProductReviewsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// MerchantReview: A review for a merchant. For more information, see +// Introduction to Merchant Review Feeds +// (https://developers.google.com/merchant-review-feeds) +type MerchantReview struct { + // Attributes: Optional. A list of merchant review attributes. + Attributes *MerchantReviewAttributes `json:"attributes,omitempty"` + // CustomAttributes: Required. A list of custom (merchant-provided) attributes. + // It can also be used for submitting any attribute of the data specification + // in its generic form (for example, `{ "name": "size type", "value": "regular" + // }`). This is useful for submitting attributes not explicitly exposed by the + // API, such as experimental attributes. Maximum allowed number of characters + // for each custom attribute is 10240 (represents sum of characters for name + // and value). Maximum 2500 custom attributes can be set per product, with + // total size of 102.4kB. Underscores in custom attribute names are replaced by + // spaces upon insertion. + CustomAttributes []*CustomAttribute `json:"customAttributes,omitempty"` + // DataSource: Output only. The primary data source of the merchant review. + DataSource string `json:"dataSource,omitempty"` + // MerchantReviewId: Required. The user provided merchant review ID to uniquely + // identify the merchant review. + MerchantReviewId string `json:"merchantReviewId,omitempty"` + // MerchantReviewStatus: Output only. The status of a merchant review, data + // validation issues, that is, information about a merchant review computed + // asynchronously. + MerchantReviewStatus *MerchantReviewStatus `json:"merchantReviewStatus,omitempty"` + // Name: Identifier. The name of the merchant review. Format: + // "{merchantreview.name=accounts/{account}/merchantReviews/{merchantReview}}" + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Attributes") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Attributes") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MerchantReview) MarshalJSON() ([]byte, error) { + type NoMethod MerchantReview + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// MerchantReviewAttributes: Attributes. +type MerchantReviewAttributes struct { + // CollectionMethod: Optional. The method used to collect the review. + // + // Possible values: + // "COLLECTION_METHOD_UNSPECIFIED" - Collection method unspecified. + // "MERCHANT_UNSOLICITED" - The user was not responding to a specific + // solicitation when they submitted the review. + // "POINT_OF_SALE" - The user submitted the review in response to a + // solicitation when the user placed an order. + // "AFTER_FULFILLMENT" - The user submitted the review in response to a + // solicitation after fulfillment of the user's order. + CollectionMethod string `json:"collectionMethod,omitempty"` + // Content: Required. This should be any freeform text provided by the user and + // should not be truncated. If multiple responses to different questions are + // provided, all responses should be included, with the minimal context for the + // responses to make sense. Context should not be provided if questions were + // left unanswered. + Content string `json:"content,omitempty"` + // IsAnonymous: Optional. Set to true if the reviewer should remain anonymous. + IsAnonymous bool `json:"isAnonymous,omitempty"` + // MaxRating: Optional. The maximum possible number for the rating. The value + // of the max rating must be greater than the value of the min rating. + MaxRating int64 `json:"maxRating,omitempty,string"` + // MerchantDisplayName: Optional. Human-readable display name for the merchant. + MerchantDisplayName string `json:"merchantDisplayName,omitempty"` + // MerchantId: Required. Must be unique and stable across all requests. In + // other words, if a request today and another 90 days ago refer to the same + // merchant, they must have the same id. + MerchantId string `json:"merchantId,omitempty"` + // MerchantLink: Optional. URL to the merchant's main website. Do not use a + // redirect URL for this value. In other words, the value should point directly + // to the merchant's site. + MerchantLink string `json:"merchantLink,omitempty"` + // MerchantRatingLink: Optional. URL to the landing page that hosts the reviews + // for this merchant. Do not use a redirect URL. + MerchantRatingLink string `json:"merchantRatingLink,omitempty"` + // MinRating: Optional. The minimum possible number for the rating. This should + // be the worst possible rating and should not be a value for no rating. + MinRating int64 `json:"minRating,omitempty,string"` + // Rating: Optional. The reviewer's overall rating of the merchant. + Rating float64 `json:"rating,omitempty"` + // ReviewCountry: Optional. The country where the reviewer made the order + // defined by ISO 3166-1 Alpha-2 Country Code. + ReviewCountry string `json:"reviewCountry,omitempty"` + // ReviewLanguage: Required. The language of the review defined by BCP-47 + // language code. + ReviewLanguage string `json:"reviewLanguage,omitempty"` + // ReviewTime: Required. The timestamp indicating when the review was written. + ReviewTime string `json:"reviewTime,omitempty"` + // ReviewerId: Optional. A permanent, unique identifier for the author of the + // review in the publisher's system. + ReviewerId string `json:"reviewerId,omitempty"` + // ReviewerUsername: Optional. Display name of the review author. + ReviewerUsername string `json:"reviewerUsername,omitempty"` + // Title: Optional. The title of the review. + Title string `json:"title,omitempty"` + // ForceSendFields is a list of field names (e.g. "CollectionMethod") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CollectionMethod") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MerchantReviewAttributes) MarshalJSON() ([]byte, error) { + type NoMethod MerchantReviewAttributes + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *MerchantReviewAttributes) UnmarshalJSON(data []byte) error { + type NoMethod MerchantReviewAttributes + var s1 struct { + Rating gensupport.JSONFloat64 `json:"rating"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Rating = float64(s1.Rating) + return nil +} + +// MerchantReviewDestinationStatus: The destination status of the merchant +// review status. +type MerchantReviewDestinationStatus struct { + // ReportingContext: Output only. The name of the reporting context. + // + // Possible values: + // "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified. + // "SHOPPING_ADS" - [Shopping + // ads](https://support.google.com/merchants/answer/6149970). + // "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and + // Demand Gen ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS" - [Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + // "VIDEO_ADS" - [Video + // ads](https://support.google.com/google-ads/answer/6340491). + // "DISPLAY_ADS" - [Display + // ads](https://support.google.com/merchants/answer/6069387). + // "LOCAL_INVENTORY_ADS" - [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + // "VEHICLE_INVENTORY_ADS" - [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + // "FREE_LISTINGS" - [Free product + // listings](https://support.google.com/merchants/answer/9199328). + // "FREE_LOCAL_LISTINGS" - [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + // "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + // "YOUTUBE_SHOPPING" - [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + // "CLOUD_RETAIL" - [Cloud + // retail](https://cloud.google.com/solutions/retail). + // "LOCAL_CLOUD_RETAIL" - [Local cloud + // retail](https://cloud.google.com/solutions/retail). + // "PRODUCT_REVIEWS" - [Product + // Reviews](https://support.google.com/merchants/answer/14620732). + // "MERCHANT_REVIEWS" - [Merchant + // Reviews](https://developers.google.com/merchant-review-feeds). + ReportingContext string `json:"reportingContext,omitempty"` + // ForceSendFields is a list of field names (e.g. "ReportingContext") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ReportingContext") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MerchantReviewDestinationStatus) MarshalJSON() ([]byte, error) { + type NoMethod MerchantReviewDestinationStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// MerchantReviewItemLevelIssue: The ItemLevelIssue of the merchant review +// status. +type MerchantReviewItemLevelIssue struct { + // Attribute: Output only. The attribute's name, if the issue is caused by a + // single attribute. + Attribute string `json:"attribute,omitempty"` + // Code: Output only. The error code of the issue. + Code string `json:"code,omitempty"` + // Description: Output only. A short issue description in English. + Description string `json:"description,omitempty"` + // Detail: Output only. A detailed issue description in English. + Detail string `json:"detail,omitempty"` + // Documentation: Output only. The URL of a web page to help with resolving + // this issue. + Documentation string `json:"documentation,omitempty"` + // ReportingContext: Output only. The reporting context the issue applies to. + // + // Possible values: + // "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified. + // "SHOPPING_ADS" - [Shopping + // ads](https://support.google.com/merchants/answer/6149970). + // "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and + // Demand Gen ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS" - [Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + // "VIDEO_ADS" - [Video + // ads](https://support.google.com/google-ads/answer/6340491). + // "DISPLAY_ADS" - [Display + // ads](https://support.google.com/merchants/answer/6069387). + // "LOCAL_INVENTORY_ADS" - [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + // "VEHICLE_INVENTORY_ADS" - [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + // "FREE_LISTINGS" - [Free product + // listings](https://support.google.com/merchants/answer/9199328). + // "FREE_LOCAL_LISTINGS" - [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + // "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + // "YOUTUBE_SHOPPING" - [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + // "CLOUD_RETAIL" - [Cloud + // retail](https://cloud.google.com/solutions/retail). + // "LOCAL_CLOUD_RETAIL" - [Local cloud + // retail](https://cloud.google.com/solutions/retail). + // "PRODUCT_REVIEWS" - [Product + // Reviews](https://support.google.com/merchants/answer/14620732). + // "MERCHANT_REVIEWS" - [Merchant + // Reviews](https://developers.google.com/merchant-review-feeds). + ReportingContext string `json:"reportingContext,omitempty"` + // Resolution: Output only. Whether the issue can be resolved by the merchant. + Resolution string `json:"resolution,omitempty"` + // Severity: Output only. How this issue affects serving of the merchant + // review. + // + // Possible values: + // "SEVERITY_UNSPECIFIED" - Not specified. + // "NOT_IMPACTED" - This issue represents a warning and does not have a + // direct affect on the merchant review. + // "DISAPPROVED" - Issue disapproves the merchant review. + Severity string `json:"severity,omitempty"` + // ForceSendFields is a list of field names (e.g. "Attribute") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Attribute") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MerchantReviewItemLevelIssue) MarshalJSON() ([]byte, error) { + type NoMethod MerchantReviewItemLevelIssue + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// MerchantReviewStatus: The status of a merchant review, data validation +// issues, that is, information about a merchant review computed +// asynchronously. +type MerchantReviewStatus struct { + // CreateTime: Output only. Date on which the item has been created, in ISO + // 8601 (http://en.wikipedia.org/wiki/ISO_8601) format. + CreateTime string `json:"createTime,omitempty"` + // DestinationStatuses: Output only. The intended destinations for the merchant + // review. + DestinationStatuses []*MerchantReviewDestinationStatus `json:"destinationStatuses,omitempty"` + // ItemLevelIssues: Output only. A list of all issues associated with the + // merchant review. + ItemLevelIssues []*MerchantReviewItemLevelIssue `json:"itemLevelIssues,omitempty"` + // LastUpdateTime: Output only. Date on which the item has been last updated, + // in ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601) format. + LastUpdateTime string `json:"lastUpdateTime,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MerchantReviewStatus) MarshalJSON() ([]byte, error) { + type NoMethod MerchantReviewStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductChange: The change that happened to the product including old value, +// new value, country code as the region code and reporting context. +type ProductChange struct { + // NewValue: The new value of the changed resource or attribute. + NewValue string `json:"newValue,omitempty"` + // OldValue: The old value of the changed resource or attribute. + OldValue string `json:"oldValue,omitempty"` + // RegionCode: Countries that have the change (if applicable) + RegionCode string `json:"regionCode,omitempty"` + // ReportingContext: Reporting contexts that have the change (if applicable) + // + // Possible values: + // "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified. + // "SHOPPING_ADS" - [Shopping + // ads](https://support.google.com/merchants/answer/6149970). + // "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and + // Demand Gen ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS" - [Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + // "VIDEO_ADS" - [Video + // ads](https://support.google.com/google-ads/answer/6340491). + // "DISPLAY_ADS" - [Display + // ads](https://support.google.com/merchants/answer/6069387). + // "LOCAL_INVENTORY_ADS" - [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + // "VEHICLE_INVENTORY_ADS" - [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + // "FREE_LISTINGS" - [Free product + // listings](https://support.google.com/merchants/answer/9199328). + // "FREE_LOCAL_LISTINGS" - [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + // "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + // "YOUTUBE_SHOPPING" - [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + // "CLOUD_RETAIL" - [Cloud + // retail](https://cloud.google.com/solutions/retail). + // "LOCAL_CLOUD_RETAIL" - [Local cloud + // retail](https://cloud.google.com/solutions/retail). + // "PRODUCT_REVIEWS" - [Product + // Reviews](https://support.google.com/merchants/answer/14620732). + // "MERCHANT_REVIEWS" - [Merchant + // Reviews](https://developers.google.com/merchant-review-feeds). + ReportingContext string `json:"reportingContext,omitempty"` + // ForceSendFields is a list of field names (e.g. "NewValue") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NewValue") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductChange) MarshalJSON() ([]byte, error) { + type NoMethod ProductChange + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductReview: A review for a product. For more information, see +// Introduction to Product Review Feeds +// (https://developers.google.com/product-review-feeds) +type ProductReview struct { + // Attributes: Optional. A list of product review attributes. + Attributes *ProductReviewAttributes `json:"attributes,omitempty"` + // CustomAttributes: Optional. A list of custom (merchant-provided) attributes. + CustomAttributes []*CustomAttribute `json:"customAttributes,omitempty"` + // DataSource: Output only. The primary data source of the product review. + DataSource string `json:"dataSource,omitempty"` + // Name: Identifier. The name of the product review. Format: + // "{productreview.name=accounts/{account}/productReviews/{productReview}}" + Name string `json:"name,omitempty"` + // ProductReviewId: Required. The permanent, unique identifier for the product + // review in the publisher’s system. + ProductReviewId string `json:"productReviewId,omitempty"` + // ProductReviewStatus: Output only. The status of a product review, data + // validation issues, that is, information about a product review computed + // asynchronously. + ProductReviewStatus *ProductReviewStatus `json:"productReviewStatus,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Attributes") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Attributes") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductReview) MarshalJSON() ([]byte, error) { + type NoMethod ProductReview + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductReviewAttributes: Attributes. +type ProductReviewAttributes struct { + // AggregatorName: Optional. The name of the aggregator of the product reviews. + // A publisher may use a reviews aggregator to manage reviews and provide the + // feeds. This element indicates the use of an aggregator and contains + // information about the aggregator. + AggregatorName string `json:"aggregatorName,omitempty"` + // Asins: Optional. Contains ASINs (Amazon Standard Identification Numbers) + // associated with a product. + Asins []string `json:"asins,omitempty"` + // Brands: Optional. Contains brand names associated with a product. + Brands []string `json:"brands,omitempty"` + // CollectionMethod: Optional. The method used to collect the review. + // + // Possible values: + // "COLLECTION_METHOD_UNSPECIFIED" - Collection method unspecified. + // "UNSOLICITED" - The user was not responding to a specific solicitation + // when they submitted the review. + // "POST_FULFILLMENT" - The user submitted the review in response to a + // solicitation after fulfillment of the user's order. + CollectionMethod string `json:"collectionMethod,omitempty"` + // Cons: Optional. Contains the disadvantages based on the opinion of the + // reviewer. Omit boilerplate text like "con:" unless it was written by the + // reviewer. + Cons []string `json:"cons,omitempty"` + // Content: Required. The content of the review. + Content string `json:"content,omitempty"` + // Gtins: Optional. Contains GTINs (global trade item numbers) associated with + // a product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported. + Gtins []string `json:"gtins,omitempty"` + // IsSpam: Optional. Indicates whether the review is marked as spam in the + // publisher's system. + IsSpam bool `json:"isSpam,omitempty"` + // MaxRating: Optional. The maximum possible number for the rating. The value + // of the max rating must be greater than the value of the min attribute. + MaxRating int64 `json:"maxRating,omitempty,string"` + // MinRating: Optional. Contains the ratings associated with the review. The + // minimum possible number for the rating. This should be the worst possible + // rating and should not be a value for no rating. + MinRating int64 `json:"minRating,omitempty,string"` + // Mpns: Optional. Contains MPNs (manufacturer part numbers) associated with a + // product. + Mpns []string `json:"mpns,omitempty"` + // ProductLinks: Optional. The URI of the product. This URI can have the same + // value as the `review_link` element, if the review URI and the product URI + // are the same. + ProductLinks []string `json:"productLinks,omitempty"` + // ProductNames: Optional. Descriptive name of a product. + ProductNames []string `json:"productNames,omitempty"` + // Pros: Optional. Contains the advantages based on the opinion of the + // reviewer. Omit boilerplate text like "pro:" unless it was written by the + // reviewer. + Pros []string `json:"pros,omitempty"` + // PublisherFavicon: Optional. A link to the company favicon of the publisher. + // The image dimensions should be favicon size: 16x16 pixels. The image format + // should be GIF, JPG or PNG. + PublisherFavicon string `json:"publisherFavicon,omitempty"` + // PublisherName: Optional. The name of the publisher of the product reviews. + // The information about the publisher, which may be a retailer, manufacturer, + // reviews service company, or any entity that publishes product reviews. + PublisherName string `json:"publisherName,omitempty"` + // Rating: Optional. The reviewer's overall rating of the product. + Rating float64 `json:"rating,omitempty"` + // ReviewCountry: Optional. The country of the review defined by ISO 3166-1 + // Alpha-2 Country Code. + ReviewCountry string `json:"reviewCountry,omitempty"` + // ReviewLanguage: Optional. The language of the review defined by BCP-47 + // language code. + ReviewLanguage string `json:"reviewLanguage,omitempty"` + // ReviewLink: Optional. The URI of the review landing page. + ReviewLink *ReviewLink `json:"reviewLink,omitempty"` + // ReviewTime: Required. The timestamp indicating when the review was written. + ReviewTime string `json:"reviewTime,omitempty"` + // ReviewerId: Optional. The author of the product review. A permanent, unique + // identifier for the author of the review in the publisher's system. + ReviewerId string `json:"reviewerId,omitempty"` + // ReviewerImageLinks: Optional. A URI to an image of the reviewed product + // created by the review author. The URI does not have to end with an image + // file extension. + ReviewerImageLinks []string `json:"reviewerImageLinks,omitempty"` + // ReviewerIsAnonymous: Optional. Set to true if the reviewer should remain + // anonymous. + ReviewerIsAnonymous bool `json:"reviewerIsAnonymous,omitempty"` + // ReviewerUsername: Optional. The name of the reviewer of the product review. + ReviewerUsername string `json:"reviewerUsername,omitempty"` + // Skus: Optional. Contains SKUs (stock keeping units) associated with a + // product. Often this matches the product Offer Id in the product feed. + Skus []string `json:"skus,omitempty"` + // SubclientName: Optional. The name of the subclient of the product reviews. + // The subclient is an identifier of the product review source. It should be + // equivalent to the directory provided in the file data source path. + SubclientName string `json:"subclientName,omitempty"` + // Title: Optional. The title of the review. + Title string `json:"title,omitempty"` + // TransactionId: Optional. A permanent, unique identifier for the transaction + // associated with the review in the publisher's system. This ID can be used to + // indicate that multiple reviews are associated with the same transaction. + TransactionId string `json:"transactionId,omitempty"` + // ForceSendFields is a list of field names (e.g. "AggregatorName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AggregatorName") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductReviewAttributes) MarshalJSON() ([]byte, error) { + type NoMethod ProductReviewAttributes + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *ProductReviewAttributes) UnmarshalJSON(data []byte) error { + type NoMethod ProductReviewAttributes + var s1 struct { + Rating gensupport.JSONFloat64 `json:"rating"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Rating = float64(s1.Rating) + return nil +} + +// ProductReviewDestinationStatus: The destination status of the product review +// status. +type ProductReviewDestinationStatus struct { + // ReportingContext: Output only. The name of the reporting context. + // + // Possible values: + // "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified. + // "SHOPPING_ADS" - [Shopping + // ads](https://support.google.com/merchants/answer/6149970). + // "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and + // Demand Gen ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS" - [Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + // "VIDEO_ADS" - [Video + // ads](https://support.google.com/google-ads/answer/6340491). + // "DISPLAY_ADS" - [Display + // ads](https://support.google.com/merchants/answer/6069387). + // "LOCAL_INVENTORY_ADS" - [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + // "VEHICLE_INVENTORY_ADS" - [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + // "FREE_LISTINGS" - [Free product + // listings](https://support.google.com/merchants/answer/9199328). + // "FREE_LOCAL_LISTINGS" - [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + // "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + // "YOUTUBE_SHOPPING" - [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + // "CLOUD_RETAIL" - [Cloud + // retail](https://cloud.google.com/solutions/retail). + // "LOCAL_CLOUD_RETAIL" - [Local cloud + // retail](https://cloud.google.com/solutions/retail). + // "PRODUCT_REVIEWS" - [Product + // Reviews](https://support.google.com/merchants/answer/14620732). + // "MERCHANT_REVIEWS" - [Merchant + // Reviews](https://developers.google.com/merchant-review-feeds). + ReportingContext string `json:"reportingContext,omitempty"` + // ForceSendFields is a list of field names (e.g. "ReportingContext") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ReportingContext") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductReviewDestinationStatus) MarshalJSON() ([]byte, error) { + type NoMethod ProductReviewDestinationStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductReviewItemLevelIssue: The ItemLevelIssue of the product review +// status. +type ProductReviewItemLevelIssue struct { + // Attribute: Output only. The attribute's name, if the issue is caused by a + // single attribute. + Attribute string `json:"attribute,omitempty"` + // Code: Output only. The error code of the issue. + Code string `json:"code,omitempty"` + // Description: Output only. A short issue description in English. + Description string `json:"description,omitempty"` + // Detail: Output only. A detailed issue description in English. + Detail string `json:"detail,omitempty"` + // Documentation: Output only. The URL of a web page to help with resolving + // this issue. + Documentation string `json:"documentation,omitempty"` + // ReportingContext: Output only. The reporting context the issue applies to. + // + // Possible values: + // "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified. + // "SHOPPING_ADS" - [Shopping + // ads](https://support.google.com/merchants/answer/6149970). + // "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and + // Demand Gen ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS" - [Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + // "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + // "VIDEO_ADS" - [Video + // ads](https://support.google.com/google-ads/answer/6340491). + // "DISPLAY_ADS" - [Display + // ads](https://support.google.com/merchants/answer/6069387). + // "LOCAL_INVENTORY_ADS" - [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + // "VEHICLE_INVENTORY_ADS" - [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + // "FREE_LISTINGS" - [Free product + // listings](https://support.google.com/merchants/answer/9199328). + // "FREE_LOCAL_LISTINGS" - [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + // "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + // "YOUTUBE_SHOPPING" - [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + // "CLOUD_RETAIL" - [Cloud + // retail](https://cloud.google.com/solutions/retail). + // "LOCAL_CLOUD_RETAIL" - [Local cloud + // retail](https://cloud.google.com/solutions/retail). + // "PRODUCT_REVIEWS" - [Product + // Reviews](https://support.google.com/merchants/answer/14620732). + // "MERCHANT_REVIEWS" - [Merchant + // Reviews](https://developers.google.com/merchant-review-feeds). + ReportingContext string `json:"reportingContext,omitempty"` + // Resolution: Output only. Whether the issue can be resolved by the merchant. + Resolution string `json:"resolution,omitempty"` + // Severity: Output only. How this issue affects serving of the product review. + // + // Possible values: + // "SEVERITY_UNSPECIFIED" - Not specified. + // "NOT_IMPACTED" - This issue represents a warning and does not have a + // direct affect on the product review. + // "DISAPPROVED" - Issue disapproves the product review. + Severity string `json:"severity,omitempty"` + // ForceSendFields is a list of field names (e.g. "Attribute") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Attribute") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductReviewItemLevelIssue) MarshalJSON() ([]byte, error) { + type NoMethod ProductReviewItemLevelIssue + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductReviewStatus: Product review status. +type ProductReviewStatus struct { + // CreateTime: Output only. Date on which the item has been created, in ISO + // 8601 (http://en.wikipedia.org/wiki/ISO_8601) format. + CreateTime string `json:"createTime,omitempty"` + // DestinationStatuses: Output only. The intended destinations for the product + // review. + DestinationStatuses []*ProductReviewDestinationStatus `json:"destinationStatuses,omitempty"` + // ItemLevelIssues: Output only. A list of all issues associated with the + // product review. + ItemLevelIssues []*ProductReviewItemLevelIssue `json:"itemLevelIssues,omitempty"` + // LastUpdateTime: Output only. Date on which the item has been last updated, + // in ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601) format. + LastUpdateTime string `json:"lastUpdateTime,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductReviewStatus) MarshalJSON() ([]byte, error) { + type NoMethod ProductReviewStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ProductStatusChangeMessage: The message that the merchant will receive to +// notify about product status change event +type ProductStatusChangeMessage struct { + // Account: The target account that owns the entity that changed. Format : + // `accounts/{merchant_id}` + Account string `json:"account,omitempty"` + // Attribute: The attribute in the resource that changed, in this case it will + // be always `Status`. + // + // Possible values: + // "ATTRIBUTE_UNSPECIFIED" - Unspecified attribute + // "STATUS" - Status of the changed entity + Attribute string `json:"attribute,omitempty"` + // Changes: A message to describe the change that happened to the product + Changes []*ProductChange `json:"changes,omitempty"` + // ManagingAccount: The account that manages the merchant's account. can be the + // same as merchant id if it is standalone account. Format : + // `accounts/{service_provider_id}` + ManagingAccount string `json:"managingAccount,omitempty"` + // Resource: The product name. Format: + // `{product.name=accounts/{account}/products/{product}}` + Resource string `json:"resource,omitempty"` + // ResourceId: The product id. + ResourceId string `json:"resourceId,omitempty"` + // ResourceType: The resource that changed, in this case it will always be + // `Product`. + // + // Possible values: + // "RESOURCE_UNSPECIFIED" - Unspecified resource + // "PRODUCT" - Resource type : product + ResourceType string `json:"resourceType,omitempty"` + // ForceSendFields is a list of field names (e.g. "Account") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Account") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ProductStatusChangeMessage) MarshalJSON() ([]byte, error) { + type NoMethod ProductStatusChangeMessage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ReviewLink: The URI of the review landing page. +type ReviewLink struct { + // Link: Optional. The URI of the review landing page. For example: + // `http://www.example.com/review_5.html`. + Link string `json:"link,omitempty"` + // Type: Optional. Type of the review URI. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Type unspecified. + // "SINGLETON" - The review page contains only this single review. + // "GROUP" - The review page contains a group of reviews including this + // review. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Link") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Link") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ReviewLink) MarshalJSON() ([]byte, error) { + type NoMethod ReviewLink + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type AccountsMerchantReviewsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes merchant review. +// +// - name: The ID of the merchant review. Format: +// accounts/{account}/merchantReviews/{merchantReview}. +func (r *AccountsMerchantReviewsService) Delete(name string) *AccountsMerchantReviewsDeleteCall { + c := &AccountsMerchantReviewsDeleteCall{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 +// details. +func (c *AccountsMerchantReviewsDeleteCall) Fields(s ...googleapi.Field) *AccountsMerchantReviewsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsMerchantReviewsDeleteCall) Context(ctx context.Context) *AccountsMerchantReviewsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsMerchantReviewsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsMerchantReviewsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "reviews/v1beta/{+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 "merchantapi.accounts.merchantReviews.delete" call. +// 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 *AccountsMerchantReviewsDeleteCall) 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 +} + +type AccountsMerchantReviewsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a merchant review. +// +// - name: The ID of the merchant review. Format: +// accounts/{account}/merchantReviews/{merchantReview}. +func (r *AccountsMerchantReviewsService) Get(name string) *AccountsMerchantReviewsGetCall { + c := &AccountsMerchantReviewsGetCall{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 +// details. +func (c *AccountsMerchantReviewsGetCall) Fields(s ...googleapi.Field) *AccountsMerchantReviewsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an 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. +func (c *AccountsMerchantReviewsGetCall) IfNoneMatch(entityTag string) *AccountsMerchantReviewsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsMerchantReviewsGetCall) Context(ctx context.Context) *AccountsMerchantReviewsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsMerchantReviewsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsMerchantReviewsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + 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, "reviews/v1beta/{+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 "merchantapi.accounts.merchantReviews.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *MerchantReview.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 *AccountsMerchantReviewsGetCall) Do(opts ...googleapi.CallOption) (*MerchantReview, 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 := &MerchantReview{ + 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 +} + +type AccountsMerchantReviewsInsertCall struct { + s *Service + parent string + merchantreview *MerchantReview + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Inserts a review for your Merchant Center account. If the review +// already exists, then the review is replaced with the new instance. +// +// - parent: The account where the merchant review will be inserted. Format: +// accounts/{account}. +func (r *AccountsMerchantReviewsService) Insert(parent string, merchantreview *MerchantReview) *AccountsMerchantReviewsInsertCall { + c := &AccountsMerchantReviewsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.merchantreview = merchantreview + return c +} + +// DataSource sets the optional parameter "dataSource": Required. The data +// source of the merchantreview +// (https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU) +// Format: `accounts/{account}/dataSources/{datasource}`. +func (c *AccountsMerchantReviewsInsertCall) DataSource(dataSource string) *AccountsMerchantReviewsInsertCall { + c.urlParams_.Set("dataSource", dataSource) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *AccountsMerchantReviewsInsertCall) Fields(s ...googleapi.Field) *AccountsMerchantReviewsInsertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsMerchantReviewsInsertCall) Context(ctx context.Context) *AccountsMerchantReviewsInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsMerchantReviewsInsertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsMerchantReviewsInsertCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.merchantreview) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "reviews/v1beta/{+parent}/merchantReviews:insert") + 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 "merchantapi.accounts.merchantReviews.insert" call. +// Any non-2xx status code is an error. Response headers are in either +// *MerchantReview.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 *AccountsMerchantReviewsInsertCall) Do(opts ...googleapi.CallOption) (*MerchantReview, 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 := &MerchantReview{ + 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 +} + +type AccountsMerchantReviewsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists merchant reviews. +// +// - parent: The account to list merchant reviews for. Format: +// accounts/{account}. +func (r *AccountsMerchantReviewsService) List(parent string) *AccountsMerchantReviewsListCall { + c := &AccountsMerchantReviewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// merchant reviews to return. The service can return fewer than this value. +// The maximum value is 1000; values above 1000 are coerced to 1000. If +// unspecified, the maximum number of reviews is returned. +func (c *AccountsMerchantReviewsListCall) PageSize(pageSize int64) *AccountsMerchantReviewsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListMerchantReviews` call. Provide this to retrieve the +// subsequent page. When paginating, all other parameters provided to +// `ListMerchantReviews` must match the call that provided the page token. +func (c *AccountsMerchantReviewsListCall) PageToken(pageToken string) *AccountsMerchantReviewsListCall { + 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 +// details. +func (c *AccountsMerchantReviewsListCall) Fields(s ...googleapi.Field) *AccountsMerchantReviewsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an 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. +func (c *AccountsMerchantReviewsListCall) IfNoneMatch(entityTag string) *AccountsMerchantReviewsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsMerchantReviewsListCall) Context(ctx context.Context) *AccountsMerchantReviewsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsMerchantReviewsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsMerchantReviewsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + 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, "reviews/v1beta/{+parent}/merchantReviews") + 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 "merchantapi.accounts.merchantReviews.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListMerchantReviewsResponse.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 *AccountsMerchantReviewsListCall) Do(opts ...googleapi.CallOption) (*ListMerchantReviewsResponse, 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 := &ListMerchantReviewsResponse{ + 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 +} + +// 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 *AccountsMerchantReviewsListCall) Pages(ctx context.Context, f func(*ListMerchantReviewsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + 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) + } +} + +type AccountsProductReviewsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a product review. +// +// - name: The ID of the Product review. Format: +// accounts/{account}/productReviews/{productReview}. +func (r *AccountsProductReviewsService) Delete(name string) *AccountsProductReviewsDeleteCall { + c := &AccountsProductReviewsDeleteCall{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 +// details. +func (c *AccountsProductReviewsDeleteCall) Fields(s ...googleapi.Field) *AccountsProductReviewsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsProductReviewsDeleteCall) Context(ctx context.Context) *AccountsProductReviewsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsProductReviewsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsProductReviewsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "reviews/v1beta/{+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 "merchantapi.accounts.productReviews.delete" call. +// 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 *AccountsProductReviewsDeleteCall) 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 +} + +type AccountsProductReviewsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a product review. +// +// - name: The ID of the merchant review. Format: +// accounts/{account}/productReviews/{productReview}. +func (r *AccountsProductReviewsService) Get(name string) *AccountsProductReviewsGetCall { + c := &AccountsProductReviewsGetCall{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 +// details. +func (c *AccountsProductReviewsGetCall) Fields(s ...googleapi.Field) *AccountsProductReviewsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an 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. +func (c *AccountsProductReviewsGetCall) IfNoneMatch(entityTag string) *AccountsProductReviewsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsProductReviewsGetCall) Context(ctx context.Context) *AccountsProductReviewsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsProductReviewsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsProductReviewsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + 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, "reviews/v1beta/{+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 "merchantapi.accounts.productReviews.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *ProductReview.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 *AccountsProductReviewsGetCall) Do(opts ...googleapi.CallOption) (*ProductReview, 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 := &ProductReview{ + 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 +} + +type AccountsProductReviewsInsertCall struct { + s *Service + parent string + productreview *ProductReview + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Inserts a product review. +// +// - parent: The account where the product review will be inserted. Format: +// accounts/{account}. +func (r *AccountsProductReviewsService) Insert(parent string, productreview *ProductReview) *AccountsProductReviewsInsertCall { + c := &AccountsProductReviewsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.productreview = productreview + return c +} + +// DataSource sets the optional parameter "dataSource": Required. Format: +// `accounts/{account}/dataSources/{datasource}`. +func (c *AccountsProductReviewsInsertCall) DataSource(dataSource string) *AccountsProductReviewsInsertCall { + c.urlParams_.Set("dataSource", dataSource) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *AccountsProductReviewsInsertCall) Fields(s ...googleapi.Field) *AccountsProductReviewsInsertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsProductReviewsInsertCall) Context(ctx context.Context) *AccountsProductReviewsInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsProductReviewsInsertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsProductReviewsInsertCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.productreview) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "reviews/v1beta/{+parent}/productReviews:insert") + 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 "merchantapi.accounts.productReviews.insert" call. +// Any non-2xx status code is an error. Response headers are in either +// *ProductReview.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 *AccountsProductReviewsInsertCall) Do(opts ...googleapi.CallOption) (*ProductReview, 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 := &ProductReview{ + 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 +} + +type AccountsProductReviewsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists product reviews. +// +// - parent: The account to list product reviews for. Format: +// accounts/{account}. +func (r *AccountsProductReviewsService) List(parent string) *AccountsProductReviewsListCall { + c := &AccountsProductReviewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// products to return. The service may return fewer than this value. +func (c *AccountsProductReviewsListCall) PageSize(pageSize int64) *AccountsProductReviewsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListProductReviews` call. Provide this to retrieve the +// subsequent page. When paginating, all other parameters provided to +// `ListProductReviews` must match the call that provided the page token. +func (c *AccountsProductReviewsListCall) PageToken(pageToken string) *AccountsProductReviewsListCall { + 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 +// details. +func (c *AccountsProductReviewsListCall) Fields(s ...googleapi.Field) *AccountsProductReviewsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an 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. +func (c *AccountsProductReviewsListCall) IfNoneMatch(entityTag string) *AccountsProductReviewsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *AccountsProductReviewsListCall) Context(ctx context.Context) *AccountsProductReviewsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *AccountsProductReviewsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsProductReviewsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + 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, "reviews/v1beta/{+parent}/productReviews") + 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 "merchantapi.accounts.productReviews.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListProductReviewsResponse.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 *AccountsProductReviewsListCall) Do(opts ...googleapi.CallOption) (*ListProductReviewsResponse, 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 := &ListProductReviewsResponse{ + 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 +} + +// 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 *AccountsProductReviewsListCall) Pages(ctx context.Context, f func(*ListProductReviewsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + 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) + } +} diff --git a/networkmanagement/v1/networkmanagement-api.json b/networkmanagement/v1/networkmanagement-api.json index 8240c9432af..01cb394b130 100644 --- a/networkmanagement/v1/networkmanagement-api.json +++ b/networkmanagement/v1/networkmanagement-api.json @@ -591,7 +591,7 @@ } } }, - "revision": "20240918", + "revision": "20241009", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -1238,7 +1238,7 @@ "Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", "Packet sent to Cloud Nat without active NAT IPs.", "Packet is stuck in a routing loop.", - "Packet is dropped due to an unspecified reason inside a Google-managed service. Used only for return traces.", + "Packet is dropped inside a Google-managed service due to being delivered in return trace to an endpoint that doesn't match the endpoint the packet was sent from in forward trace. Used only for return traces.", "Packet is dropped due to a load balancer backend instance not having a network interface in the network expected by the load balancer.", "Packet is dropped due to a backend service named port not being defined on the instance group level.", "Packet is dropped due to a destination IP range being part of a Private NAT IP range.", diff --git a/networkmanagement/v1/networkmanagement-gen.go b/networkmanagement/v1/networkmanagement-gen.go index 4086ab8ae90..0aaf689d693 100644 --- a/networkmanagement/v1/networkmanagement-gen.go +++ b/networkmanagement/v1/networkmanagement-gen.go @@ -1006,9 +1006,10 @@ type DropInfo struct { // "CLOUD_NAT_NO_ADDRESSES" - Packet sent to Cloud Nat without active NAT // IPs. // "ROUTING_LOOP" - Packet is stuck in a routing loop. - // "DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE" - Packet is dropped due to an - // unspecified reason inside a Google-managed service. Used only for return - // traces. + // "DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE" - Packet is dropped inside a + // Google-managed service due to being delivered in return trace to an endpoint + // that doesn't match the endpoint the packet was sent from in forward trace. + // Used only for return traces. // "LOAD_BALANCER_BACKEND_INVALID_NETWORK" - Packet is dropped due to a load // balancer backend instance not having a network interface in the network // expected by the load balancer. diff --git a/oracledatabase/v1/oracledatabase-api.json b/oracledatabase/v1/oracledatabase-api.json index 52dd18df47c..985da39f035 100644 --- a/oracledatabase/v1/oracledatabase-api.json +++ b/oracledatabase/v1/oracledatabase-api.json @@ -1119,7 +1119,7 @@ } } }, - "revision": "20241002", + "revision": "20241009", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -2237,8 +2237,9 @@ "type": "integer" }, "cpuCount": { - "description": "Optional. The number of enabled CPU cores.", + "description": "Output only. The number of enabled CPU cores.", "format": "int32", + "readOnly": true, "type": "integer" }, "customerContacts": { @@ -2255,8 +2256,9 @@ "type": "number" }, "dbNodeStorageSizeGb": { - "description": "Optional. The local node storage allocated in GBs.", + "description": "Output only. The local node storage allocated in GBs.", "format": "int32", + "readOnly": true, "type": "integer" }, "dbServerVersion": { @@ -2293,8 +2295,9 @@ "type": "integer" }, "memorySizeGb": { - "description": "Optional. The memory allocated in GBs.", + "description": "Output only. The memory allocated in GBs.", "format": "int32", + "readOnly": true, "type": "integer" }, "monthlyDbServerVersion": { diff --git a/oracledatabase/v1/oracledatabase-gen.go b/oracledatabase/v1/oracledatabase-gen.go index aaacc8aebc4..91fb7ef1bfa 100644 --- a/oracledatabase/v1/oracledatabase-gen.go +++ b/oracledatabase/v1/oracledatabase-gen.go @@ -1242,13 +1242,13 @@ type CloudExadataInfrastructureProperties struct { // ComputeCount: Optional. The number of compute servers for the Exadata // Infrastructure. ComputeCount int64 `json:"computeCount,omitempty"` - // CpuCount: Optional. The number of enabled CPU cores. + // CpuCount: Output only. The number of enabled CPU cores. CpuCount int64 `json:"cpuCount,omitempty"` // CustomerContacts: Optional. The list of customer contacts. CustomerContacts []*CustomerContact `json:"customerContacts,omitempty"` // DataStorageSizeTb: Output only. Size, in terabytes, of the DATA disk group. DataStorageSizeTb float64 `json:"dataStorageSizeTb,omitempty"` - // DbNodeStorageSizeGb: Optional. The local node storage allocated in GBs. + // DbNodeStorageSizeGb: Output only. The local node storage allocated in GBs. DbNodeStorageSizeGb int64 `json:"dbNodeStorageSizeGb,omitempty"` // DbServerVersion: Output only. The software version of the database servers // (dom0) in the Exadata Infrastructure. @@ -1264,7 +1264,7 @@ type CloudExadataInfrastructureProperties struct { MaxDbNodeStorageSizeGb int64 `json:"maxDbNodeStorageSizeGb,omitempty"` // MaxMemoryGb: Output only. The total memory available in GBs. MaxMemoryGb int64 `json:"maxMemoryGb,omitempty"` - // MemorySizeGb: Optional. The memory allocated in GBs. + // MemorySizeGb: Output only. The memory allocated in GBs. MemorySizeGb int64 `json:"memorySizeGb,omitempty"` // MonthlyDbServerVersion: Output only. The monthly software version of the // database servers (dom0) in the Exadata Infrastructure. Example: 20.1.15 diff --git a/places/v1/places-api.json b/places/v1/places-api.json index 1e04a4a68d9..165873ce508 100644 --- a/places/v1/places-api.json +++ b/places/v1/places-api.json @@ -280,7 +280,7 @@ } } }, - "revision": "20241013", + "revision": "20241015", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -1298,7 +1298,7 @@ }, "viewport": { "$ref": "GoogleGeoTypeViewport", - "description": "A viewport suitable for displaying the place on an average-sized map." + "description": "A viewport suitable for displaying the place on an average-sized map. This viewport should not be used as the physical boundary or the service area of the business." }, "websiteUri": { "description": "The authoritative website for this place, e.g. a business' homepage. Note that for places that are part of a chain (e.g. an IKEA store), this will usually be the website for the individual store, not the overall chain.", diff --git a/places/v1/places-gen.go b/places/v1/places-gen.go index d28fa26a73b..ee58d48df16 100644 --- a/places/v1/places-gen.go +++ b/places/v1/places-gen.go @@ -1477,7 +1477,8 @@ type GoogleMapsPlacesV1Place struct { // offset by fractions of an hour, e.g. X hours and 15 minutes. UtcOffsetMinutes int64 `json:"utcOffsetMinutes,omitempty"` // Viewport: A viewport suitable for displaying the place on an average-sized - // map. + // map. This viewport should not be used as the physical boundary or the + // service area of the business. Viewport *GoogleGeoTypeViewport `json:"viewport,omitempty"` // WebsiteUri: The authoritative website for this place, e.g. a business' // homepage. Note that for places that are part of a chain (e.g. an IKEA diff --git a/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-api.json b/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-api.json index 8f572514fc4..fd8921a4bb3 100644 --- a/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-api.json +++ b/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-api.json @@ -207,7 +207,7 @@ } } }, - "revision": "20241014", + "revision": "20241015", "rootUrl": "https://readerrevenuesubscriptionlinking.googleapis.com/", "schemas": { "DeleteReaderResponse": { @@ -225,7 +225,7 @@ "type": "string" }, "expireTime": { - "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. The max expire_time is 398 days from now(). LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age)", + "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. The max expire_time is 398 days from now().", "format": "google-datetime", "type": "string" }, diff --git a/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-gen.go b/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-gen.go index 9e66760b8f0..7306be83c78 100644 --- a/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-gen.go +++ b/readerrevenuesubscriptionlinking/v1/readerrevenuesubscriptionlinking-gen.go @@ -180,8 +180,6 @@ type Entitlement struct { // ExpireTime: Required. Expiration time of the entitlement. Entitlements that // have expired over 30 days will be purged. The max expire_time is 398 days // from now(). - // LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountli - // nking/subscriptionlink/service/config/protoconf.pi:max_expiry_age) ExpireTime string `json:"expireTime,omitempty"` // ProductId: Required. The publication's product ID that the user has access // to. This is the same product ID as can be found in Schema.org markup diff --git a/recommender/v1beta1/recommender-api.json b/recommender/v1beta1/recommender-api.json index e2725590457..fb890b3904a 100644 --- a/recommender/v1beta1/recommender-api.json +++ b/recommender/v1beta1/recommender-api.json @@ -1920,7 +1920,7 @@ } } }, - "revision": "20240428", + "revision": "20241013", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudLocationListLocationsResponse": { @@ -2039,6 +2039,13 @@ "$ref": "GoogleCloudRecommenderV1beta1CostProjection", "description": "Use with CategoryType.COST" }, + "impactComponents": { + "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", + "items": { + "$ref": "GoogleCloudRecommenderV1beta1Impact" + }, + "type": "array" + }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" @@ -2047,6 +2054,10 @@ "$ref": "GoogleCloudRecommenderV1beta1SecurityProjection", "description": "Use with CategoryType.SECURITY" }, + "service": { + "description": "The service that this impact is associated with.", + "type": "string" + }, "sustainabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1SustainabilityProjection", "description": "Use with CategoryType.SUSTAINABILITY" diff --git a/recommender/v1beta1/recommender-gen.go b/recommender/v1beta1/recommender-gen.go index 8dab08a6671..17b0202bb24 100644 --- a/recommender/v1beta1/recommender-gen.go +++ b/recommender/v1beta1/recommender-gen.go @@ -585,10 +585,16 @@ type GoogleCloudRecommenderV1beta1Impact struct { Category string `json:"category,omitempty"` // CostProjection: Use with CategoryType.COST CostProjection *GoogleCloudRecommenderV1beta1CostProjection `json:"costProjection,omitempty"` + // ImpactComponents: If populated, the impact contains multiple components. In + // this case, the top-level impact contains aggregated values and each + // component contains per-service details. + ImpactComponents []*GoogleCloudRecommenderV1beta1Impact `json:"impactComponents,omitempty"` // ReliabilityProjection: Use with CategoryType.RELIABILITY ReliabilityProjection *GoogleCloudRecommenderV1beta1ReliabilityProjection `json:"reliabilityProjection,omitempty"` // SecurityProjection: Use with CategoryType.SECURITY SecurityProjection *GoogleCloudRecommenderV1beta1SecurityProjection `json:"securityProjection,omitempty"` + // Service: The service that this impact is associated with. + Service string `json:"service,omitempty"` // SustainabilityProjection: Use with CategoryType.SUSTAINABILITY SustainabilityProjection *GoogleCloudRecommenderV1beta1SustainabilityProjection `json:"sustainabilityProjection,omitempty"` // ForceSendFields is a list of field names (e.g. "Category") to diff --git a/run/v2/run-api.json b/run/v2/run-api.json index 4a7889ee9d0..1485ec95451 100644 --- a/run/v2/run-api.json +++ b/run/v2/run-api.json @@ -1526,7 +1526,7 @@ } } }, - "revision": "20241004", + "revision": "20241011", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -3259,7 +3259,7 @@ "type": "string" }, "invokerIamDisabled": { - "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This setting should not be used with external ingress.", + "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.", "type": "boolean" }, "labels": { diff --git a/run/v2/run-gen.go b/run/v2/run-gen.go index 641ce717b8a..1eae900b143 100644 --- a/run/v2/run-gen.go +++ b/run/v2/run-gen.go @@ -2221,8 +2221,9 @@ type GoogleCloudRunV2Service struct { // "INGRESS_TRAFFIC_NONE" - No ingress traffic is allowed. Ingress string `json:"ingress,omitempty"` // InvokerIamDisabled: Optional. Disables IAM permission check for - // run.routes.invoke for callers of this service. This setting should not be - // used with external ingress. + // run.routes.invoke for callers of this service. This feature is available by + // invitation only. For more information, visit + // https://cloud.google.com/run/docs/securing/managing-access#invoker_check. InvokerIamDisabled bool `json:"invokerIamDisabled,omitempty"` // Labels: Optional. Unstructured key value map that can be used to organize // and categorize objects. User-provided labels are shared with Google's