From 7a8816b1c4c0a6ac0e36ae07bc1d6737c13e7a4d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 29 Jun 2023 00:22:13 -0700 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#2043) --- androidpublisher/v3/androidpublisher-api.json | 606 ++- androidpublisher/v3/androidpublisher-gen.go | 986 ++++- apigee/v1/apigee-api.json | 878 ++++- apigee/v1/apigee-gen.go | 3345 +++++++++++++++-- artifactregistry/v1/artifactregistry-api.json | 8 +- artifactregistry/v1/artifactregistry-gen.go | 1 + assuredworkloads/v1/assuredworkloads-api.json | 19 +- assuredworkloads/v1/assuredworkloads-gen.go | 7 +- .../v1beta1/assuredworkloads-api.json | 19 +- .../v1beta1/assuredworkloads-gen.go | 7 +- billingbudgets/v1/billingbudgets-api.json | 4 +- billingbudgets/v1/billingbudgets-gen.go | 7 +- .../v1beta1/billingbudgets-api.json | 4 +- billingbudgets/v1beta1/billingbudgets-gen.go | 7 +- calendar/v3/calendar-api.json | 4 +- calendar/v3/calendar-gen.go | 4 +- compute/v0.alpha/compute-api.json | 28 +- compute/v0.alpha/compute-gen.go | 45 +- dataproc/v1/dataproc-api.json | 9 +- dataproc/v1/dataproc-gen.go | 13 +- dialogflow/v2beta1/dialogflow-api.json | 8 +- dialogflow/v2beta1/dialogflow-gen.go | 6 +- dialogflow/v3beta1/dialogflow-api.json | 4 +- dialogflow/v3beta1/dialogflow-gen.go | 5 +- dlp/v2/dlp-api.json | 30 +- dlp/v2/dlp-gen.go | 76 +- fcm/v1/fcm-api.json | 3 +- gmail/v1/gmail-api.json | 6 +- gmail/v1/gmail-gen.go | 10 +- logging/v2/logging-api.json | 12 +- logging/v2/logging-gen.go | 50 +- retail/v2/retail-api.json | 4 +- retail/v2/retail-gen.go | 13 +- retail/v2alpha/retail-api.json | 4 +- retail/v2alpha/retail-gen.go | 13 +- retail/v2beta/retail-api.json | 4 +- retail/v2beta/retail-gen.go | 13 +- .../v1/streetviewpublish-api.json | 4 +- streetviewpublish/v1/streetviewpublish-gen.go | 10 +- 39 files changed, 5738 insertions(+), 538 deletions(-) diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index 0598f27f822..ca4d61f7d1c 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -4047,9 +4047,57 @@ } } }, - "revision": "20230615", + "revision": "20230628", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { + "Abi": { + "description": "Represents an Abi.", + "id": "Abi", + "properties": { + "alias": { + "description": "Alias for an abi.", + "enum": [ + "UNSPECIFIED_CPU_ARCHITECTURE", + "ARMEABI", + "ARMEABI_V7A", + "ARM64_V8A", + "X86", + "X86_64" + ], + "enumDescriptions": [ + "Unspecified abi.", + "ARMEABI abi.", + "ARMEABI_V7A abi.", + "ARM64_V8A abi.", + "X86 abi.", + "X86_64 abi." + ], + "type": "string" + } + }, + "type": "object" + }, + "AbiTargeting": { + "description": "Targeting based on Abi.", + "id": "AbiTargeting", + "properties": { + "alternatives": { + "description": "Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.", + "items": { + "$ref": "Abi" + }, + "type": "array" + }, + "value": { + "description": "Value of an abi.", + "items": { + "$ref": "Abi" + }, + "type": "array" + } + }, + "type": "object" + }, "AcquisitionTargetingRule": { "description": "Represents a targeting rule of the form: User never had {scope} before.", "id": "AcquisitionTargetingRule", @@ -4104,6 +4152,86 @@ }, "type": "object" }, + "ApkDescription": { + "description": "Description of the created apks.", + "id": "ApkDescription", + "properties": { + "assetSliceMetadata": { + "$ref": "SplitApkMetadata", + "description": "Set only for asset slices." + }, + "instantApkMetadata": { + "$ref": "SplitApkMetadata", + "description": "Set only for Instant split APKs." + }, + "path": { + "description": "Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.", + "type": "string" + }, + "splitApkMetadata": { + "$ref": "SplitApkMetadata", + "description": "Set only for Split APKs." + }, + "standaloneApkMetadata": { + "$ref": "StandaloneApkMetadata", + "description": "Set only for standalone APKs." + }, + "targeting": { + "$ref": "ApkTargeting", + "description": "Apk-level targeting." + } + }, + "type": "object" + }, + "ApkSet": { + "description": "A set of apks representing a module.", + "id": "ApkSet", + "properties": { + "apkDescription": { + "description": "Description of the generated apks.", + "items": { + "$ref": "ApkDescription" + }, + "type": "array" + }, + "moduleMetadata": { + "$ref": "ModuleMetadata", + "description": "Metadata about the module represented by this ApkSet" + } + }, + "type": "object" + }, + "ApkTargeting": { + "description": "Represents a set of apk-level targetings.", + "id": "ApkTargeting", + "properties": { + "abiTargeting": { + "$ref": "AbiTargeting", + "description": "The abi that the apk targets" + }, + "languageTargeting": { + "$ref": "LanguageTargeting", + "description": "The language that the apk targets" + }, + "multiAbiTargeting": { + "$ref": "MultiAbiTargeting", + "description": "Multi-api-level targeting." + }, + "screenDensityTargeting": { + "$ref": "ScreenDensityTargeting", + "description": "The screen density that this apk supports." + }, + "sdkVersionTargeting": { + "$ref": "SdkVersionTargeting", + "description": "The sdk version that the apk targets" + }, + "textureCompressionFormatTargeting": { + "$ref": "TextureCompressionFormatTargeting", + "description": "Texture-compression-format-level targeting" + } + }, + "type": "object" + }, "ApksAddExternallyHostedRequest": { "description": "Request to create a new externally hosted APK.", "id": "ApksAddExternallyHostedRequest", @@ -4190,6 +4318,51 @@ "properties": {}, "type": "object" }, + "AssetModuleMetadata": { + "description": "Metadata of an asset module.", + "id": "AssetModuleMetadata", + "properties": { + "deliveryType": { + "description": "Indicates the delivery type for persistent install.", + "enum": [ + "UNKNOWN_DELIVERY_TYPE", + "INSTALL_TIME", + "ON_DEMAND", + "FAST_FOLLOW" + ], + "enumDescriptions": [ + "Unspecified delivery type.", + "This module will always be downloaded as part of the initial install of the app.", + "This module is requested on-demand, which means it will not be part of the initial install, and will only be sent when requested by the client.", + "This module will be downloaded immediately after initial install finishes. The app can be opened before these modules are downloaded." + ], + "type": "string" + }, + "name": { + "description": "Module name.", + "type": "string" + } + }, + "type": "object" + }, + "AssetSliceSet": { + "description": "Set of asset slices belonging to a single asset module.", + "id": "AssetSliceSet", + "properties": { + "apkDescription": { + "description": "Asset slices.", + "items": { + "$ref": "ApkDescription" + }, + "type": "array" + }, + "assetModuleMetadata": { + "$ref": "AssetModuleMetadata", + "description": "Module level metadata." + } + }, + "type": "object" + }, "AutoRenewingBasePlanType": { "description": "Represents a base plan that automatically renews at the end of its subscription period.", "id": "AutoRenewingBasePlanType", @@ -4574,6 +4747,33 @@ "properties": {}, "type": "object" }, + "DeviceFeature": { + "description": "Represents a device feature.", + "id": "DeviceFeature", + "properties": { + "featureName": { + "description": "Name of the feature.", + "type": "string" + }, + "featureVersion": { + "description": "The feature version specified by android:glEsVersion or android:version in in the AndroidManifest.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DeviceFeatureTargeting": { + "description": "Targeting for a device feature.", + "id": "DeviceFeatureTargeting", + "properties": { + "requiredFeature": { + "$ref": "DeviceFeature", + "description": "Feature of the device." + } + }, + "type": "object" + }, "DeviceGroup": { "description": "A group of devices. A group is defined by a set of device selectors. A device belongs to the group if it matches any selector (logical OR).", "id": "DeviceGroup", @@ -5107,6 +5307,10 @@ "generatedUniversalApk": { "$ref": "GeneratedUniversalApk", "description": "Generated universal APK, signed with a key corresponding to certificate_sha256_hash. This field is not set if no universal APK was generated for this signing key." + }, + "targetingInfo": { + "$ref": "TargetingInfo", + "description": "Contains targeting information about the generated apks." } }, "type": "object" @@ -5479,6 +5683,27 @@ }, "type": "object" }, + "LanguageTargeting": { + "description": "Targeting based on language.", + "id": "LanguageTargeting", + "properties": { + "alternatives": { + "description": "Alternative languages.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "description": "ISO-639: 2 or 3 letter language code.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListDeviceTierConfigsResponse": { "description": "Response listing existing device tier configs.", "id": "ListDeviceTierConfigsResponse", @@ -5663,6 +5888,78 @@ "properties": {}, "type": "object" }, + "ModuleMetadata": { + "description": "Metadata of a module.", + "id": "ModuleMetadata", + "properties": { + "deliveryType": { + "description": "Indicates the delivery type (e.g. on-demand) of the module.", + "enum": [ + "UNKNOWN_DELIVERY_TYPE", + "INSTALL_TIME", + "ON_DEMAND", + "FAST_FOLLOW" + ], + "enumDescriptions": [ + "Unspecified delivery type.", + "This module will always be downloaded as part of the initial install of the app.", + "This module is requested on-demand, which means it will not be part of the initial install, and will only be sent when requested by the client.", + "This module will be downloaded immediately after initial install finishes. The app can be opened before these modules are downloaded." + ], + "type": "string" + }, + "dependencies": { + "description": "Names of the modules that this module directly depends on. Each module implicitly depends on the base module.", + "items": { + "type": "string" + }, + "type": "array" + }, + "moduleType": { + "description": "Indicates the type of this feature module.", + "enum": [ + "UNKNOWN_MODULE_TYPE", + "FEATURE_MODULE" + ], + "enumDescriptions": [ + "Unknown feature module.", + "Regular feature module." + ], + "type": "string" + }, + "name": { + "description": "Module name.", + "type": "string" + }, + "targeting": { + "$ref": "ModuleTargeting", + "description": "The targeting that makes a conditional module installed. Relevant only for Split APKs." + } + }, + "type": "object" + }, + "ModuleTargeting": { + "description": "Targeting on the module level.", + "id": "ModuleTargeting", + "properties": { + "deviceFeatureTargeting": { + "description": "Targeting for device features.", + "items": { + "$ref": "DeviceFeatureTargeting" + }, + "type": "array" + }, + "sdkVersionTargeting": { + "$ref": "SdkVersionTargeting", + "description": "The sdk version that the variant targets" + }, + "userCountriesTargeting": { + "$ref": "UserCountriesTargeting", + "description": "Countries-level targeting" + } + }, + "type": "object" + }, "Money": { "description": "Represents an amount of money with its currency type.", "id": "Money", @@ -5684,6 +5981,41 @@ }, "type": "object" }, + "MultiAbi": { + "description": "Represents a list of apis.", + "id": "MultiAbi", + "properties": { + "abi": { + "description": "A list of targeted ABIs, as represented by the Android Platform", + "items": { + "$ref": "Abi" + }, + "type": "array" + } + }, + "type": "object" + }, + "MultiAbiTargeting": { + "description": "Targeting based on multiple abis.", + "id": "MultiAbiTargeting", + "properties": { + "alternatives": { + "description": "Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.", + "items": { + "$ref": "MultiAbi" + }, + "type": "array" + }, + "value": { + "description": "Value of a multi abi.", + "items": { + "$ref": "MultiAbi" + }, + "type": "array" + } + }, + "type": "object" + }, "OfferDetails": { "description": "Offer details information related to a purchase line item.", "id": "OfferDetails", @@ -6238,6 +6570,150 @@ }, "type": "object" }, + "ScreenDensity": { + "description": "Represents a screen density.", + "id": "ScreenDensity", + "properties": { + "densityAlias": { + "description": "Alias for a screen density.", + "enum": [ + "DENSITY_UNSPECIFIED", + "NODPI", + "LDPI", + "MDPI", + "TVDPI", + "HDPI", + "XHDPI", + "XXHDPI", + "XXXHDPI" + ], + "enumDescriptions": [ + "Unspecified screen density.", + "NODPI screen density.", + "LDPI screen density.", + "MDPI screen density.", + "TVDPI screen density.", + "HDPI screen density.", + "XHDPI screen density.", + "XXHDPI screen density.", + "XXXHDPI screen density." + ], + "type": "string" + }, + "densityDpi": { + "description": "Value for density dpi.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ScreenDensityTargeting": { + "description": "Targeting based on screen density.", + "id": "ScreenDensityTargeting", + "properties": { + "alternatives": { + "description": "Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.", + "items": { + "$ref": "ScreenDensity" + }, + "type": "array" + }, + "value": { + "description": "Value of a screen density.", + "items": { + "$ref": "ScreenDensity" + }, + "type": "array" + } + }, + "type": "object" + }, + "SdkVersion": { + "description": "Represents an sdk version.", + "id": "SdkVersion", + "properties": { + "min": { + "description": "Inclusive minimum value of an sdk version.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SdkVersionTargeting": { + "description": "Targeting based on sdk version.", + "id": "SdkVersionTargeting", + "properties": { + "alternatives": { + "description": "Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.", + "items": { + "$ref": "SdkVersion" + }, + "type": "array" + }, + "value": { + "description": "Value of an sdk version.", + "items": { + "$ref": "SdkVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "SplitApkMetadata": { + "description": "Holds data specific to Split APKs.", + "id": "SplitApkMetadata", + "properties": { + "isMasterSplit": { + "description": "Indicates whether this APK is the main split of the module.", + "type": "boolean" + }, + "splitId": { + "description": "Id of the split.", + "type": "string" + } + }, + "type": "object" + }, + "SplitApkVariant": { + "description": "Variant is a group of APKs that covers a part of the device configuration space. APKs from multiple variants are never combined on one device.", + "id": "SplitApkVariant", + "properties": { + "apkSet": { + "description": "Set of APKs, one set per module.", + "items": { + "$ref": "ApkSet" + }, + "type": "array" + }, + "targeting": { + "$ref": "VariantTargeting", + "description": "Variant-level targeting." + }, + "variantNumber": { + "description": "Number of the variant, starting at 0 (unless overridden). A device will receive APKs from the first variant that matches the device configuration, with higher variant numbers having priority over lower variant numbers.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "StandaloneApkMetadata": { + "description": "Holds data specific to Standalone APKs.", + "id": "StandaloneApkMetadata", + "properties": { + "fusedModuleName": { + "description": "Names of the modules fused in this standalone APK.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SubscribeWithGoogleInfo": { "description": "Information associated with purchases made with 'Subscribe with Google'.", "id": "SubscribeWithGoogleInfo", @@ -6886,6 +7362,31 @@ "properties": {}, "type": "object" }, + "TargetingInfo": { + "description": "Targeting information about the generated apks.", + "id": "TargetingInfo", + "properties": { + "assetSliceSet": { + "description": "List of created asset slices.", + "items": { + "$ref": "AssetSliceSet" + }, + "type": "array" + }, + "packageName": { + "description": "The package name of this app.", + "type": "string" + }, + "variant": { + "description": "List of the created variants.", + "items": { + "$ref": "SplitApkVariant" + }, + "type": "array" + } + }, + "type": "object" + }, "TargetingRuleScope": { "description": "Defines the scope of subscriptions which a targeting rule can match to target offers to users based on past or current entitlement.", "id": "TargetingRuleScope", @@ -6917,6 +7418,64 @@ }, "type": "object" }, + "TextureCompressionFormat": { + "description": "Represents texture compression format.", + "id": "TextureCompressionFormat", + "properties": { + "alias": { + "description": "Alias for texture compression format.", + "enum": [ + "UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT", + "ETC1_RGB8", + "PALETTED", + "THREE_DC", + "ATC", + "LATC", + "DXT1", + "S3TC", + "PVRTC", + "ASTC", + "ETC2" + ], + "enumDescriptions": [ + "Unspecified format.", + "ETC1_RGB8 format.", + "PALETTED format.", + "THREE_DC format.", + "ATC format.", + "LATC format.", + "DXT1 format.", + "S3TC format.", + "PVRTC format.", + "ASTC format.", + "ETC2 format." + ], + "type": "string" + } + }, + "type": "object" + }, + "TextureCompressionFormatTargeting": { + "description": "Targeting by a texture compression format.", + "id": "TextureCompressionFormatTargeting", + "properties": { + "alternatives": { + "description": "List of alternative TCFs (TCFs targeted by the sibling splits).", + "items": { + "$ref": "TextureCompressionFormat" + }, + "type": "array" + }, + "value": { + "description": "The list of targeted TCFs. Should not be empty.", + "items": { + "$ref": "TextureCompressionFormat" + }, + "type": "array" + } + }, + "type": "object" + }, "Timestamp": { "description": "A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970.", "id": "Timestamp", @@ -7253,6 +7812,24 @@ }, "type": "object" }, + "UserCountriesTargeting": { + "description": "Describes an inclusive/exclusive list of country codes that module targets.", + "id": "UserCountriesTargeting", + "properties": { + "countryCodes": { + "description": "List of country codes in the two-letter CLDR territory format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclude": { + "description": "Indicates if the list above is exclusive.", + "type": "boolean" + } + }, + "type": "object" + }, "UserCountrySet": { "description": "A set of user countries. A country set determines what variation of app content gets served to a specific location.", "id": "UserCountrySet", @@ -7320,6 +7897,33 @@ }, "type": "object" }, + "VariantTargeting": { + "description": "Targeting on the level of variants.", + "id": "VariantTargeting", + "properties": { + "abiTargeting": { + "$ref": "AbiTargeting", + "description": "The abi that the variant targets" + }, + "multiAbiTargeting": { + "$ref": "MultiAbiTargeting", + "description": "Multi-api-level targeting" + }, + "screenDensityTargeting": { + "$ref": "ScreenDensityTargeting", + "description": "The screen densities that this variant supports" + }, + "sdkVersionTargeting": { + "$ref": "SdkVersionTargeting", + "description": "The sdk version that the variant targets" + }, + "textureCompressionFormatTargeting": { + "$ref": "TextureCompressionFormatTargeting", + "description": "Texture-compression-format-level targeting" + } + }, + "type": "object" + }, "VoidedPurchase": { "description": "A VoidedPurchase resource indicates a purchase that was either canceled/refunded/charged-back.", "id": "VoidedPurchase", diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 8da46323144..4ddf432608c 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -518,6 +518,74 @@ type UsersService struct { s *Service } +// Abi: Represents an Abi. +type Abi struct { + // Alias: Alias for an abi. + // + // Possible values: + // "UNSPECIFIED_CPU_ARCHITECTURE" - Unspecified abi. + // "ARMEABI" - ARMEABI abi. + // "ARMEABI_V7A" - ARMEABI_V7A abi. + // "ARM64_V8A" - ARM64_V8A abi. + // "X86" - X86 abi. + // "X86_64" - X86_64 abi. + Alias string `json:"alias,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alias") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alias") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Abi) MarshalJSON() ([]byte, error) { + type NoMethod Abi + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AbiTargeting: Targeting based on Abi. +type AbiTargeting struct { + // Alternatives: Targeting of other sibling directories that were in the + // Bundle. For main splits this is targeting of other main splits. + Alternatives []*Abi `json:"alternatives,omitempty"` + + // Value: Value of an abi. + Value []*Abi `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AbiTargeting) MarshalJSON() ([]byte, error) { + type NoMethod AbiTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AcquisitionTargetingRule: Represents a targeting rule of the form: // User never had {scope} before. type AcquisitionTargetingRule struct { @@ -626,6 +694,128 @@ func (s *ApkBinary) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ApkDescription: Description of the created apks. +type ApkDescription struct { + // AssetSliceMetadata: Set only for asset slices. + AssetSliceMetadata *SplitApkMetadata `json:"assetSliceMetadata,omitempty"` + + // InstantApkMetadata: Set only for Instant split APKs. + InstantApkMetadata *SplitApkMetadata `json:"instantApkMetadata,omitempty"` + + // Path: Path of the Apk, will be in the following format: .apk where + // DownloadId is the ID used to download the apk using + // GeneratedApks.Download API. + Path string `json:"path,omitempty"` + + // SplitApkMetadata: Set only for Split APKs. + SplitApkMetadata *SplitApkMetadata `json:"splitApkMetadata,omitempty"` + + // StandaloneApkMetadata: Set only for standalone APKs. + StandaloneApkMetadata *StandaloneApkMetadata `json:"standaloneApkMetadata,omitempty"` + + // Targeting: Apk-level targeting. + Targeting *ApkTargeting `json:"targeting,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AssetSliceMetadata") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AssetSliceMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ApkDescription) MarshalJSON() ([]byte, error) { + type NoMethod ApkDescription + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ApkSet: A set of apks representing a module. +type ApkSet struct { + // ApkDescription: Description of the generated apks. + ApkDescription []*ApkDescription `json:"apkDescription,omitempty"` + + // ModuleMetadata: Metadata about the module represented by this ApkSet + ModuleMetadata *ModuleMetadata `json:"moduleMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApkDescription") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApkDescription") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ApkSet) MarshalJSON() ([]byte, error) { + type NoMethod ApkSet + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ApkTargeting: Represents a set of apk-level targetings. +type ApkTargeting struct { + // AbiTargeting: The abi that the apk targets + AbiTargeting *AbiTargeting `json:"abiTargeting,omitempty"` + + // LanguageTargeting: The language that the apk targets + LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"` + + // MultiAbiTargeting: Multi-api-level targeting. + MultiAbiTargeting *MultiAbiTargeting `json:"multiAbiTargeting,omitempty"` + + // ScreenDensityTargeting: The screen density that this apk supports. + ScreenDensityTargeting *ScreenDensityTargeting `json:"screenDensityTargeting,omitempty"` + + // SdkVersionTargeting: The sdk version that the apk targets + SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"` + + // TextureCompressionFormatTargeting: Texture-compression-format-level + // targeting + TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `json:"textureCompressionFormatTargeting,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AbiTargeting") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AbiTargeting") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ApkTargeting) MarshalJSON() ([]byte, error) { + type NoMethod ApkTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ApksAddExternallyHostedRequest: Request to create a new externally // hosted APK. type ApksAddExternallyHostedRequest struct { @@ -812,6 +1002,81 @@ func (s *AppEdit) MarshalJSON() ([]byte, error) { type ArchiveSubscriptionRequest struct { } +// AssetModuleMetadata: Metadata of an asset module. +type AssetModuleMetadata struct { + // DeliveryType: Indicates the delivery type for persistent install. + // + // Possible values: + // "UNKNOWN_DELIVERY_TYPE" - Unspecified delivery type. + // "INSTALL_TIME" - This module will always be downloaded as part of + // the initial install of the app. + // "ON_DEMAND" - This module is requested on-demand, which means it + // will not be part of the initial install, and will only be sent when + // requested by the client. + // "FAST_FOLLOW" - This module will be downloaded immediately after + // initial install finishes. The app can be opened before these modules + // are downloaded. + DeliveryType string `json:"deliveryType,omitempty"` + + // Name: Module name. + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeliveryType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeliveryType") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AssetModuleMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AssetModuleMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AssetSliceSet: Set of asset slices belonging to a single asset +// module. +type AssetSliceSet struct { + // ApkDescription: Asset slices. + ApkDescription []*ApkDescription `json:"apkDescription,omitempty"` + + // AssetModuleMetadata: Module level metadata. + AssetModuleMetadata *AssetModuleMetadata `json:"assetModuleMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApkDescription") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApkDescription") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AssetSliceSet) MarshalJSON() ([]byte, error) { + type NoMethod AssetSliceSet + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AutoRenewingBasePlanType: Represents a base plan that automatically // renews at the end of its subscription period. type AutoRenewingBasePlanType struct { @@ -1508,6 +1773,67 @@ func (s *DeveloperComment) MarshalJSON() ([]byte, error) { type DeveloperInitiatedCancellation struct { } +// DeviceFeature: Represents a device feature. +type DeviceFeature struct { + // FeatureName: Name of the feature. + FeatureName string `json:"featureName,omitempty"` + + // FeatureVersion: The feature version specified by android:glEsVersion + // or android:version in in the AndroidManifest. + FeatureVersion int64 `json:"featureVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FeatureName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FeatureName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceFeature) MarshalJSON() ([]byte, error) { + type NoMethod DeviceFeature + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceFeatureTargeting: Targeting for a device feature. +type DeviceFeatureTargeting struct { + // RequiredFeature: Feature of the device. + RequiredFeature *DeviceFeature `json:"requiredFeature,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RequiredFeature") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RequiredFeature") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceFeatureTargeting) MarshalJSON() ([]byte, error) { + type NoMethod DeviceFeatureTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DeviceGroup: A group of devices. A group is defined by a set of // device selectors. A device belongs to the group if it matches any // selector (logical OR). @@ -2297,6 +2623,10 @@ type GeneratedApksPerSigningKey struct { // universal APK was generated for this signing key. GeneratedUniversalApk *GeneratedUniversalApk `json:"generatedUniversalApk,omitempty"` + // TargetingInfo: Contains targeting information about the generated + // apks. + TargetingInfo *TargetingInfo `json:"targetingInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. // "CertificateSha256Hash") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API @@ -2928,6 +3258,37 @@ func (s *IntroductoryPriceInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LanguageTargeting: Targeting based on language. +type LanguageTargeting struct { + // Alternatives: Alternative languages. + Alternatives []string `json:"alternatives,omitempty"` + + // Value: ISO-639: 2 or 3 letter language code. + Value []string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LanguageTargeting) MarshalJSON() ([]byte, error) { + type NoMethod LanguageTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListDeviceTierConfigsResponse: Response listing existing device tier // configs. type ListDeviceTierConfigsResponse struct { @@ -3283,24 +3644,42 @@ type MigrateBasePlanPricesResponse struct { googleapi.ServerResponse `json:"-"` } -// Money: Represents an amount of money with its currency type. -type Money struct { - // CurrencyCode: The three-letter currency code defined in ISO 4217. - CurrencyCode string `json:"currencyCode,omitempty"` +// ModuleMetadata: Metadata of a module. +type ModuleMetadata struct { + // DeliveryType: Indicates the delivery type (e.g. on-demand) of the + // module. + // + // Possible values: + // "UNKNOWN_DELIVERY_TYPE" - Unspecified delivery type. + // "INSTALL_TIME" - This module will always be downloaded as part of + // the initial install of the app. + // "ON_DEMAND" - This module is requested on-demand, which means it + // will not be part of the initial install, and will only be sent when + // requested by the client. + // "FAST_FOLLOW" - This module will be downloaded immediately after + // initial install finishes. The app can be opened before these modules + // are downloaded. + DeliveryType string `json:"deliveryType,omitempty"` + + // Dependencies: Names of the modules that this module directly depends + // on. Each module implicitly depends on the base module. + Dependencies []string `json:"dependencies,omitempty"` + + // ModuleType: Indicates the type of this feature module. + // + // Possible values: + // "UNKNOWN_MODULE_TYPE" - Unknown feature module. + // "FEATURE_MODULE" - Regular feature module. + ModuleType string `json:"moduleType,omitempty"` - // Nanos: Number of nano (10^-9) units of the amount. The value must be - // between -999,999,999 and +999,999,999 inclusive. If `units` is - // positive, `nanos` must be positive or zero. If `units` is zero, - // `nanos` can be positive, zero, or negative. If `units` is negative, - // `nanos` must be negative or zero. For example $-1.75 is represented - // as `units`=-1 and `nanos`=-750,000,000. - Nanos int64 `json:"nanos,omitempty"` + // Name: Module name. + Name string `json:"name,omitempty"` - // Units: The whole units of the amount. For example if `currencyCode` - // is "USD", then 1 unit is one US dollar. - Units int64 `json:"units,omitempty,string"` + // Targeting: The targeting that makes a conditional module installed. + // Relevant only for Split APKs. + Targeting *ModuleTargeting `json:"targeting,omitempty"` - // ForceSendFields is a list of field names (e.g. "CurrencyCode") to + // ForceSendFields is a list of field names (e.g. "DeliveryType") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -3308,7 +3687,7 @@ type Money struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CurrencyCode") to include + // NullFields is a list of field names (e.g. "DeliveryType") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -3317,23 +3696,159 @@ type Money struct { NullFields []string `json:"-"` } -func (s *Money) MarshalJSON() ([]byte, error) { - type NoMethod Money +func (s *ModuleMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ModuleMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// OfferDetails: Offer details information related to a purchase line -// item. -type OfferDetails struct { - // BasePlanId: The base plan ID. Present for all base plan and offers. - BasePlanId string `json:"basePlanId,omitempty"` +// ModuleTargeting: Targeting on the module level. +type ModuleTargeting struct { + // DeviceFeatureTargeting: Targeting for device features. + DeviceFeatureTargeting []*DeviceFeatureTargeting `json:"deviceFeatureTargeting,omitempty"` - // OfferId: The offer ID. Only present for discounted offers. - OfferId string `json:"offerId,omitempty"` + // SdkVersionTargeting: The sdk version that the variant targets + SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"` - // OfferTags: The latest offer tags associated with the offer. It - // includes tags inherited from the base plan. + // UserCountriesTargeting: Countries-level targeting + UserCountriesTargeting *UserCountriesTargeting `json:"userCountriesTargeting,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DeviceFeatureTargeting") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceFeatureTargeting") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ModuleTargeting) MarshalJSON() ([]byte, error) { + type NoMethod ModuleTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Money: Represents an amount of money with its currency type. +type Money struct { + // CurrencyCode: The three-letter currency code defined in ISO 4217. + CurrencyCode string `json:"currencyCode,omitempty"` + + // Nanos: Number of nano (10^-9) units of the amount. The value must be + // between -999,999,999 and +999,999,999 inclusive. If `units` is + // positive, `nanos` must be positive or zero. If `units` is zero, + // `nanos` can be positive, zero, or negative. If `units` is negative, + // `nanos` must be negative or zero. For example $-1.75 is represented + // as `units`=-1 and `nanos`=-750,000,000. + Nanos int64 `json:"nanos,omitempty"` + + // Units: The whole units of the amount. For example if `currencyCode` + // is "USD", then 1 unit is one US dollar. + Units int64 `json:"units,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "CurrencyCode") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CurrencyCode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Money) MarshalJSON() ([]byte, error) { + type NoMethod Money + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MultiAbi: Represents a list of apis. +type MultiAbi struct { + // Abi: A list of targeted ABIs, as represented by the Android Platform + Abi []*Abi `json:"abi,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Abi") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Abi") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MultiAbi) MarshalJSON() ([]byte, error) { + type NoMethod MultiAbi + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MultiAbiTargeting: Targeting based on multiple abis. +type MultiAbiTargeting struct { + // Alternatives: Targeting of other sibling directories that were in the + // Bundle. For main splits this is targeting of other main splits. + Alternatives []*MultiAbi `json:"alternatives,omitempty"` + + // Value: Value of a multi abi. + Value []*MultiAbi `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MultiAbiTargeting) MarshalJSON() ([]byte, error) { + type NoMethod MultiAbiTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// OfferDetails: Offer details information related to a purchase line +// item. +type OfferDetails struct { + // BasePlanId: The base plan ID. Present for all base plan and offers. + BasePlanId string `json:"basePlanId,omitempty"` + + // OfferId: The offer ID. Only present for discounted offers. + OfferId string `json:"offerId,omitempty"` + + // OfferTags: The latest offer tags associated with the offer. It + // includes tags inherited from the base plan. OfferTags []string `json:"offerTags,omitempty"` // ForceSendFields is a list of field names (e.g. "BasePlanId") to @@ -4490,6 +5005,240 @@ func (s *ReviewsReplyResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ScreenDensity: Represents a screen density. +type ScreenDensity struct { + // DensityAlias: Alias for a screen density. + // + // Possible values: + // "DENSITY_UNSPECIFIED" - Unspecified screen density. + // "NODPI" - NODPI screen density. + // "LDPI" - LDPI screen density. + // "MDPI" - MDPI screen density. + // "TVDPI" - TVDPI screen density. + // "HDPI" - HDPI screen density. + // "XHDPI" - XHDPI screen density. + // "XXHDPI" - XXHDPI screen density. + // "XXXHDPI" - XXXHDPI screen density. + DensityAlias string `json:"densityAlias,omitempty"` + + // DensityDpi: Value for density dpi. + DensityDpi int64 `json:"densityDpi,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DensityAlias") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DensityAlias") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ScreenDensity) MarshalJSON() ([]byte, error) { + type NoMethod ScreenDensity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ScreenDensityTargeting: Targeting based on screen density. +type ScreenDensityTargeting struct { + // Alternatives: Targeting of other sibling directories that were in the + // Bundle. For main splits this is targeting of other main splits. + Alternatives []*ScreenDensity `json:"alternatives,omitempty"` + + // Value: Value of a screen density. + Value []*ScreenDensity `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ScreenDensityTargeting) MarshalJSON() ([]byte, error) { + type NoMethod ScreenDensityTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SdkVersion: Represents an sdk version. +type SdkVersion struct { + // Min: Inclusive minimum value of an sdk version. + Min int64 `json:"min,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Min") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Min") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SdkVersion) MarshalJSON() ([]byte, error) { + type NoMethod SdkVersion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SdkVersionTargeting: Targeting based on sdk version. +type SdkVersionTargeting struct { + // Alternatives: Targeting of other sibling directories that were in the + // Bundle. For main splits this is targeting of other main splits. + Alternatives []*SdkVersion `json:"alternatives,omitempty"` + + // Value: Value of an sdk version. + Value []*SdkVersion `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SdkVersionTargeting) MarshalJSON() ([]byte, error) { + type NoMethod SdkVersionTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SplitApkMetadata: Holds data specific to Split APKs. +type SplitApkMetadata struct { + // IsMasterSplit: Indicates whether this APK is the main split of the + // module. + IsMasterSplit bool `json:"isMasterSplit,omitempty"` + + // SplitId: Id of the split. + SplitId string `json:"splitId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IsMasterSplit") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IsMasterSplit") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SplitApkMetadata) MarshalJSON() ([]byte, error) { + type NoMethod SplitApkMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SplitApkVariant: Variant is a group of APKs that covers a part of the +// device configuration space. APKs from multiple variants are never +// combined on one device. +type SplitApkVariant struct { + // ApkSet: Set of APKs, one set per module. + ApkSet []*ApkSet `json:"apkSet,omitempty"` + + // Targeting: Variant-level targeting. + Targeting *VariantTargeting `json:"targeting,omitempty"` + + // VariantNumber: Number of the variant, starting at 0 (unless + // overridden). A device will receive APKs from the first variant that + // matches the device configuration, with higher variant numbers having + // priority over lower variant numbers. + VariantNumber int64 `json:"variantNumber,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApkSet") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApkSet") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SplitApkVariant) MarshalJSON() ([]byte, error) { + type NoMethod SplitApkVariant + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StandaloneApkMetadata: Holds data specific to Standalone APKs. +type StandaloneApkMetadata struct { + // FusedModuleName: Names of the modules fused in this standalone APK. + FusedModuleName []string `json:"fusedModuleName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FusedModuleName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FusedModuleName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *StandaloneApkMetadata) MarshalJSON() ([]byte, error) { + type NoMethod StandaloneApkMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SubscribeWithGoogleInfo: Information associated with purchases made // with 'Subscribe with Google'. type SubscribeWithGoogleInfo struct { @@ -5548,6 +6297,40 @@ func (s *SystemFeature) MarshalJSON() ([]byte, error) { type SystemInitiatedCancellation struct { } +// TargetingInfo: Targeting information about the generated apks. +type TargetingInfo struct { + // AssetSliceSet: List of created asset slices. + AssetSliceSet []*AssetSliceSet `json:"assetSliceSet,omitempty"` + + // PackageName: The package name of this app. + PackageName string `json:"packageName,omitempty"` + + // Variant: List of the created variants. + Variant []*SplitApkVariant `json:"variant,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AssetSliceSet") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AssetSliceSet") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetingInfo) MarshalJSON() ([]byte, error) { + type NoMethod TargetingInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetingRuleScope: Defines the scope of subscriptions which a // targeting rule can match to target offers to users based on past or // current entitlement. @@ -5620,6 +6403,80 @@ func (s *Testers) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TextureCompressionFormat: Represents texture compression format. +type TextureCompressionFormat struct { + // Alias: Alias for texture compression format. + // + // Possible values: + // "UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT" - Unspecified format. + // "ETC1_RGB8" - ETC1_RGB8 format. + // "PALETTED" - PALETTED format. + // "THREE_DC" - THREE_DC format. + // "ATC" - ATC format. + // "LATC" - LATC format. + // "DXT1" - DXT1 format. + // "S3TC" - S3TC format. + // "PVRTC" - PVRTC format. + // "ASTC" - ASTC format. + // "ETC2" - ETC2 format. + Alias string `json:"alias,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alias") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alias") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TextureCompressionFormat) MarshalJSON() ([]byte, error) { + type NoMethod TextureCompressionFormat + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TextureCompressionFormatTargeting: Targeting by a texture compression +// format. +type TextureCompressionFormatTargeting struct { + // Alternatives: List of alternative TCFs (TCFs targeted by the sibling + // splits). + Alternatives []*TextureCompressionFormat `json:"alternatives,omitempty"` + + // Value: The list of targeted TCFs. Should not be empty. + Value []*TextureCompressionFormat `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alternatives") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alternatives") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TextureCompressionFormatTargeting) MarshalJSON() ([]byte, error) { + type NoMethod TextureCompressionFormatTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Timestamp: A Timestamp represents a point in time independent of any // time zone or local calendar, encoded as a count of seconds and // fractions of seconds at nanosecond resolution. The count is relative @@ -6150,6 +7007,39 @@ func (s *UserComment) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UserCountriesTargeting: Describes an inclusive/exclusive list of +// country codes that module targets. +type UserCountriesTargeting struct { + // CountryCodes: List of country codes in the two-letter CLDR territory + // format. + CountryCodes []string `json:"countryCodes,omitempty"` + + // Exclude: Indicates if the list above is exclusive. + Exclude bool `json:"exclude,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CountryCodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CountryCodes") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UserCountriesTargeting) MarshalJSON() ([]byte, error) { + type NoMethod UserCountriesTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UserCountrySet: A set of user countries. A country set determines // what variation of app content gets served to a specific location. type UserCountrySet struct { @@ -6291,6 +7181,48 @@ func (s *Variant) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VariantTargeting: Targeting on the level of variants. +type VariantTargeting struct { + // AbiTargeting: The abi that the variant targets + AbiTargeting *AbiTargeting `json:"abiTargeting,omitempty"` + + // MultiAbiTargeting: Multi-api-level targeting + MultiAbiTargeting *MultiAbiTargeting `json:"multiAbiTargeting,omitempty"` + + // ScreenDensityTargeting: The screen densities that this variant + // supports + ScreenDensityTargeting *ScreenDensityTargeting `json:"screenDensityTargeting,omitempty"` + + // SdkVersionTargeting: The sdk version that the variant targets + SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"` + + // TextureCompressionFormatTargeting: Texture-compression-format-level + // targeting + TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `json:"textureCompressionFormatTargeting,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AbiTargeting") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AbiTargeting") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VariantTargeting) MarshalJSON() ([]byte, error) { + type NoMethod VariantTargeting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // VoidedPurchase: A VoidedPurchase resource indicates a purchase that // was either canceled/refunded/charged-back. type VoidedPurchase struct { diff --git a/apigee/v1/apigee-api.json b/apigee/v1/apigee-api.json index 2e33f9d662f..77fb95743dc 100644 --- a/apigee/v1/apigee-api.json +++ b/apigee/v1/apigee-api.json @@ -1594,6 +1594,488 @@ } } }, + "appgroups": { + "methods": { + "create": { + "description": "Creates an AppGroup. Once created, user can register apps under the AppGroup to obtain secret key and password. At creation time, the AppGroup's state is set as `active`. The attribute `Attribute` with key `attribute_name` as `__apigee_reserved__developer_details` can be used to store developers and their roles. The JSON format expected is: [ { \"developer_id\":\"\", \"roles\":[ \"\" ] } ] and is dealt in base64encoded format. Etag will be available in attribute `Attribute` with key `attribute_name` as `__apigee_reserved__developer_details_etag` for that AppGroup.", + "flatPath": "v1/organizations/{organizationsId}/appgroups", + "httpMethod": "POST", + "id": "apigee.organizations.appgroups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the Apigee organization in which the AppGroup is created. Use the following structure in your request: `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/appgroups", + "request": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an AppGroup. All app and API keys associations with the AppGroup are also removed. **Warning**: This API will permanently delete the AppGroup and related artifacts. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.appgroups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the AppGroup details for the provided AppGroup name in the request URI.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + "httpMethod": "GET", + "id": "apigee.organizations.appgroups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all AppGroups in an organization. A maximum of 1000 AppGroups are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.", + "flatPath": "v1/organizations/{organizationsId}/appgroups", + "httpMethod": "GET", + "id": "apigee.organizations.appgroups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression to be used to get the list of AppGroups, where filtering can be done on name, correlationID or channelID of the app group. Example: filter = \"name = foobar\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Count of AppGroups a single page can have in the response. If unspecified, at most 1000 AppGroups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The starting index record for listing the AppGroups.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the Apigee organization. Use the following structure in your request: `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/appgroups", + "response": { + "$ref": "GoogleCloudApigeeV1ListAppGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an appGroup. This API replaces the existing appGroup details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. Note that the state of the AppGroup should be updated using `action`, and not via AppGroup. The custom attribute limit is 1000, and is how `__apigee_reserved__developer_details` can be updated. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.appgroups.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Activate or de-activate the appGroup by setting the action as `active` or `inactive`. The `Content-Type` header must be set to `application/octet-stream`, with empty body.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "create": { + "description": "Creates an app and associates it with an AppGroup. This API associates the AppGroup app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that API product. The `name` is the unique ID of the app that you can use in API calls.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps", + "httpMethod": "POST", + "id": "apigee.organizations.appgroups.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "request": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an AppGroup app. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.appgroups.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the details for an AppGroup app.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "apigee.organizations.appgroups.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all apps created by an AppGroup in an Apigee organization. Optionally, you can request an expanded view of the AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of 1000 AppGroup apps are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps", + "httpMethod": "GET", + "id": "apigee.organizations.appgroups.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number entries to return. If unspecified, at most 1000 entries will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token. If provides, must be a valid AppGroup app returned from a previous call that can be used to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "GoogleCloudApigeeV1ListAppGroupAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.appgroups.apps.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke`. The `Content-Type` header must be set to `application/octet-stream`, with empty body.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "keys": { + "methods": { + "create": { + "description": "Creates a custom consumer key and secret for a AppGroup app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the ProductizeAppGroupAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteAppGroupAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys", + "httpMethod": "POST", + "id": "apigee.organizations.appgroups.apps.keys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys", + "request": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an app's consumer key and removes all API products associated with the app. After the consumer key is deleted, it cannot be used to access any APIs.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.appgroups.apps.keys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details for a consumer key for a AppGroup app, including the key and secret value, associated API products, and other information.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "GET", + "id": "apigee.organizations.appgroups.apps.keys.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateAppGroupAppKey": { + "description": "Adds an API product to an AppGroupAppKey, enabling the app that holds the key to access the API resources bundled in the API product. In addition, you can add attributes to the AppGroupAppKey. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. You can use the same key to access all API products associated with the app.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "POST", + "id": "apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apiproducts": { + "methods": { + "delete": { + "description": "Removes an API product from an app's consumer key. After the API product is removed, the app cannot access the API resources defined in that API product. **Note**: The consumer key is not removed, only its association with the API product.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.appgroups.apps.keys.apiproducts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Parent of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateAppGroupAppKeyApiProduct": { + "description": "Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API.", + "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "POST", + "id": "apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke` respectively. The `Content-Type` header, if set, must be set to `application/octet-stream`, with empty body.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the API product in the developer app key in the following format: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, "apps": { "methods": { "get": { @@ -1636,7 +2118,7 @@ "type": "string" }, "apptype": { - "description": "Optional. Filter by the type of the app. Valid values are `company` or `developer`. Defaults to `developer`.", + "description": "Optional. 'apptype' is no longer available. Use a 'filter' instead.", "location": "query", "type": "string" }, @@ -1645,6 +2127,11 @@ "location": "query", "type": "boolean" }, + "filter": { + "description": "Optional. The filter expression to be used to get the list of apps, where filtering can be done on developerEmail, apiProduct, consumerKey, status, appId, appName and appType. Examples: \"developerEmail=foo@bar.com\", \"appType=AppGroup\", or \"appType=Developer\" \"filter\" is supported from ver 1.10.0 and above.", + "location": "query", + "type": "string" + }, "ids": { "description": "Optional. Comma-separated list of app IDs on which to filter.", "location": "query", @@ -1660,6 +2147,17 @@ "location": "query", "type": "string" }, + "pageSize": { + "description": "Optional. Count of apps a single page can have in the response. If unspecified, at most 100 apps will be returned. The maximum value is 100; values above 100 will be coerced to 100. \"page_size\" is supported from ver 1.10.0 and above.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The starting index record for listing the developers. \"page_token\" is supported from ver 1.10.0 and above.", + "location": "query", + "type": "string" + }, "parent": { "description": "Required. Resource path of the parent in the following format: `organizations/{org}`", "location": "path", @@ -2529,7 +3027,7 @@ "keys": { "methods": { "create": { - "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API. **Note**: All keys start out with status=approved, even if status=revoked is passed when the key is created. To revoke a key, use the UpdateDeveloperAppKey API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.keys.create", @@ -2731,7 +3229,7 @@ "create": { "methods": { "create": { - "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API. **Note**: All keys start out with status=approved, even if status=revoked is passed when the key is created. To revoke a key, use the UpdateDeveloperAppKey API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.keys.create.create", @@ -8744,7 +9242,7 @@ } } }, - "revision": "20230526", + "revision": "20230627", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { @@ -8803,6 +9301,21 @@ }, "type": "object" }, + "GoogleCloudApigeeV1APIProductAssociation": { + "description": "APIProductAssociation has the API product and its administrative state association.", + "id": "GoogleCloudApigeeV1APIProductAssociation", + "properties": { + "apiproduct": { + "description": "API product to be associated with the credential.", + "type": "string" + }, + "status": { + "description": "The API product credential associated status. Valid values are `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Access": { "id": "GoogleCloudApigeeV1Access", "properties": { @@ -9399,6 +9912,10 @@ }, "type": "array" }, + "appGroup": { + "description": "Name of the AppGroup", + "type": "string" + }, "appId": { "description": "ID of the app.", "type": "string" @@ -9432,6 +9949,10 @@ "readOnly": true, "type": "array" }, + "developerEmail": { + "description": "Email of the developer.", + "type": "string" + }, "developerId": { "description": "ID of the developer.", "type": "string" @@ -9465,6 +9986,192 @@ }, "type": "object" }, + "GoogleCloudApigeeV1AppGroup": { + "description": "AppGroup contains the request/response fields representing the logical grouping of apps. Note that appgroup_id, create_time and update_time cannot be changed by the user, and gets updated by the system. The name and the organization once provided cannot be edited subsequently.", + "id": "GoogleCloudApigeeV1AppGroup", + "properties": { + "appGroupId": { + "description": "Output only. Internal identifier that cannot be edited", + "readOnly": true, + "type": "string" + }, + "attributes": { + "description": "A list of attributes", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "channelId": { + "description": "channel identifier identifies the owner maintaing this grouping.", + "type": "string" + }, + "channelUri": { + "description": "A reference to the associated storefront/marketplace.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Created time as milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "app group name displayed in the UI", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Modified time as milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. Name of the AppGroup. Characters you can use in the name are restricted to: A-Z0-9._\\-$ %.", + "type": "string" + }, + "organization": { + "description": "Immutable. the org the app group is created", + "type": "string" + }, + "status": { + "description": "Valid values are `active` or `inactive`. Note that the status of the AppGroup should be updated via UpdateAppGroupRequest by setting the action as `active` or `inactive`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AppGroupApp": { + "description": "Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]", + "id": "GoogleCloudApigeeV1AppGroupApp", + "properties": { + "apiProducts": { + "description": "List of API products associated with the AppGroup app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appGroup": { + "description": "Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).", + "type": "string" + }, + "appId": { + "description": "Immutable. ID of the AppGroup app.", + "type": "string" + }, + "attributes": { + "description": "List of attributes for the AppGroup app.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "callbackUrl": { + "description": "Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Time the AppGroup app was created in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "credentials": { + "description": "Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.", + "items": { + "$ref": "GoogleCloudApigeeV1Credential" + }, + "readOnly": true, + "type": "array" + }, + "keyExpiresIn": { + "description": "Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time the AppGroup app was modified in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the App. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AppGroupAppKey": { + "description": "AppGroupAppKey contains all the information associated with the credentials.", + "id": "GoogleCloudApigeeV1AppGroupAppKey", + "properties": { + "apiProducts": { + "description": "Output only. List of API products and its status for which the credential can be used. **Note**: Use UpdateAppGroupAppKeyApiProductRequest API to make the association after the consumer key and secret are created.", + "items": { + "$ref": "GoogleCloudApigeeV1APIProductAssociation" + }, + "readOnly": true, + "type": "array" + }, + "attributes": { + "description": "List of attributes associated with the credential.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "consumerKey": { + "description": "Immutable. Consumer key.", + "type": "string" + }, + "consumerSecret": { + "description": "Secret key.", + "type": "string" + }, + "expiresAt": { + "description": "Output only. Time the AppGroup app expires in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "expiresInSeconds": { + "description": "Immutable. Expiration time, in seconds, for the consumer key. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.", + "format": "int64", + "type": "string" + }, + "issuedAt": { + "description": "Output only. Time the AppGroup app was created in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the app. The specified scope names must already be defined for the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ArchiveDeployment": { "description": "Archive Deployment information.", "id": "GoogleCloudApigeeV1ArchiveDeployment", @@ -10987,6 +11694,7 @@ "type": "array" }, "name": { + "deprecated": true, "description": "Comma joined dimension names. E.g. \"dim1_name,dim2_name\". Deprecated. If name already has comma before join, we may get wrong splits. Please use individual_names.", "type": "string" } @@ -11784,6 +12492,7 @@ "type": "string" }, "peeringCidrRange": { + "deprecated": true, "description": "Optional. Size of the CIDR block range that will be reserved by the instance. PAID organizations support `SLASH_16` to `SLASH_20` and defaults to `SLASH_16`. Evaluation organizations support only `SLASH_23`.", "enum": [ "CIDR_RANGE_UNSPECIFIED", @@ -12078,6 +12787,47 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListAppGroupAppsResponse": { + "description": "Response for ListAppGroupApps", + "id": "GoogleCloudApigeeV1ListAppGroupAppsResponse", + "properties": { + "appGroupApps": { + "description": "List of AppGroup apps and their credentials.", + "items": { + "$ref": "GoogleCloudApigeeV1AppGroupApp" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token that can be sent as `next_page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListAppGroupsResponse": { + "description": "ListAppGroupsResponse contains the 0 or more AppGroups, along with the optional page token and the total count of apps.", + "id": "GoogleCloudApigeeV1ListAppGroupsResponse", + "properties": { + "appGroups": { + "description": "List of AppGroups.", + "items": { + "$ref": "GoogleCloudApigeeV1AppGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token that can be sent as `next_page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "totalSize": { + "description": "Total count of AppGroups.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListAppsResponse": { "id": "GoogleCloudApigeeV1ListAppsResponse", "properties": { @@ -12086,6 +12836,15 @@ "$ref": "GoogleCloudApigeeV1App" }, "type": "array" + }, + "nextPageToken": { + "description": "Token that can be sent as `next_page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "totalSize": { + "description": "Total count of Apps.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -12910,6 +13669,7 @@ "description": "Addon configurations of the Apigee organization." }, "analyticsRegion": { + "deprecated": true, "description": "Required. DEPRECATED: This field will eventually be deprecated and replaced with a differently-named field. Primary Google Cloud region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).", "type": "string" }, @@ -13057,6 +13817,7 @@ "type": "string" }, "subscriptionType": { + "deprecated": true, "description": "Output only. DEPRECATED: This will eventually be replaced by BillingType. Subscription type of the Apigee organization. Valid values include trial (free, limited, and for evaluation purposes only) or paid (full subscription has been purchased). See [Apigee pricing](https://cloud.google.com/apigee/pricing/).", "enum": [ "SUBSCRIPTION_TYPE_UNSPECIFIED", @@ -13107,6 +13868,7 @@ "type": "string" }, "projectIds": { + "deprecated": true, "description": "DEPRECATED: Use `project_id`. An Apigee Organization is mapped to a single project.", "items": { "type": "string" @@ -13179,87 +13941,6 @@ }, "type": "object" }, - "GoogleCloudApigeeV1ProfileConfig": { - "description": "ProfileConfig defines a set of categories and policies which will be used to compute security score.", - "id": "GoogleCloudApigeeV1ProfileConfig", - "properties": { - "categories": { - "description": "List of categories of profile config.", - "items": { - "$ref": "GoogleCloudApigeeV1ProfileConfigCategory" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigAbuse": { - "description": "Checks for abuse, which includes any requests sent to the API for purposes other than what it is intended for, such as high volumes of requests, data scraping, and abuse related to authorization.", - "id": "GoogleCloudApigeeV1ProfileConfigAbuse", - "properties": {}, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigAuthorization": { - "description": "By default, following policies will be included: - JWS - JWT - OAuth - BasicAuth - APIKey", - "id": "GoogleCloudApigeeV1ProfileConfigAuthorization", - "properties": {}, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigCORS": { - "description": "Checks to see if you have CORS policy in place.", - "id": "GoogleCloudApigeeV1ProfileConfigCORS", - "properties": {}, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigCategory": { - "description": "Advanced API Security provides security profile that scores the following categories.", - "id": "GoogleCloudApigeeV1ProfileConfigCategory", - "properties": { - "abuse": { - "$ref": "GoogleCloudApigeeV1ProfileConfigAbuse", - "description": "Checks for abuse, which includes any requests sent to the API for purposes other than what it is intended for, such as high volumes of requests, data scraping, and abuse related to authorization." - }, - "authorization": { - "$ref": "GoogleCloudApigeeV1ProfileConfigAuthorization", - "description": "Checks to see if you have an authorization policy in place." - }, - "cors": { - "$ref": "GoogleCloudApigeeV1ProfileConfigCORS", - "description": "Checks to see if you have CORS policy in place." - }, - "mediation": { - "$ref": "GoogleCloudApigeeV1ProfileConfigMediation", - "description": "Checks to see if you have a mediation policy in place." - }, - "mtls": { - "$ref": "GoogleCloudApigeeV1ProfileConfigMTLS", - "description": "Checks to see if you have configured mTLS for the target server." - }, - "threat": { - "$ref": "GoogleCloudApigeeV1ProfileConfigThreat", - "description": "Checks to see if you have a threat protection policy in place." - } - }, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigMTLS": { - "description": "Checks to see if you have configured mTLS for the target server.", - "id": "GoogleCloudApigeeV1ProfileConfigMTLS", - "properties": {}, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigMediation": { - "description": "By default, following policies will be included: - OASValidation - SOAPMessageValidation", - "id": "GoogleCloudApigeeV1ProfileConfigMediation", - "properties": {}, - "type": "object" - }, - "GoogleCloudApigeeV1ProfileConfigThreat": { - "description": "By default, following policies will be included: - XMLThreatProtection - JSONThreatProtection", - "id": "GoogleCloudApigeeV1ProfileConfigThreat", - "properties": {}, - "type": "object" - }, "GoogleCloudApigeeV1Properties": { "description": "Message for compatibility with legacy Edge specification for Java Properties object in JSON.", "id": "GoogleCloudApigeeV1Properties", @@ -13723,6 +14404,7 @@ "type": "string" }, "paymentFundingModel": { + "deprecated": true, "description": "DEPRECATED: This field is no longer supported and will eventually be removed when Apigee Hybrid 1.5/1.6 is no longer supported. Instead, use the `billingType` field inside `DeveloperMonetizationConfig` resource. Flag that specifies the billing account type, prepaid or postpaid.", "enum": [ "PAYMENT_FUNDING_MODEL_UNSPECIFIED", @@ -14498,10 +15180,6 @@ "description": "Immutable. Name of the security profile resource. Format: organizations/{org}/securityProfiles/{profile}", "type": "string" }, - "profileConfig": { - "$ref": "GoogleCloudApigeeV1ProfileConfig", - "description": "Customized profile configuration that computes the security score." - }, "revisionCreateTime": { "description": "Output only. The time when revision was created.", "format": "google-datetime", @@ -15367,6 +16045,28 @@ }, "type": "object" }, + "GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest": { + "description": "Request for UpdateAppGroupAppKey", + "id": "GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest", + "properties": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke` respectively. The `Content-Type` header, if set, must be set to `application/octet-stream`, with empty body.", + "type": "string" + }, + "apiProducts": { + "description": "The list of API products that will be associated with the credential. This list will be appended to the existing list of associated API Products for this App Key. Duplicates will be ignored.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appGroupAppKey": { + "$ref": "GoogleCloudApigeeV1AppGroupAppKey", + "description": "The new AppGroupKey to be amended. Note that the status can be updated only via action." + } + }, + "type": "object" + }, "GoogleCloudApigeeV1UpdateError": { "description": "Details on why a resource update failed in the runtime.", "id": "GoogleCloudApigeeV1UpdateError", diff --git a/apigee/v1/apigee-gen.go b/apigee/v1/apigee-gen.go index fb7cde3528a..31dcb487319 100644 --- a/apigee/v1/apigee-gen.go +++ b/apigee/v1/apigee-gen.go @@ -170,6 +170,7 @@ func NewOrganizationsService(s *Service) *OrganizationsService { rs.Analytics = NewOrganizationsAnalyticsService(s) rs.Apiproducts = NewOrganizationsApiproductsService(s) rs.Apis = NewOrganizationsApisService(s) + rs.Appgroups = NewOrganizationsAppgroupsService(s) rs.Apps = NewOrganizationsAppsService(s) rs.Datacollectors = NewOrganizationsDatacollectorsService(s) rs.Deployments = NewOrganizationsDeploymentsService(s) @@ -200,6 +201,8 @@ type OrganizationsService struct { Apis *OrganizationsApisService + Appgroups *OrganizationsAppgroupsService + Apps *OrganizationsAppsService Datacollectors *OrganizationsDatacollectorsService @@ -360,6 +363,51 @@ type OrganizationsApisRevisionsDeploymentsService struct { s *Service } +func NewOrganizationsAppgroupsService(s *Service) *OrganizationsAppgroupsService { + rs := &OrganizationsAppgroupsService{s: s} + rs.Apps = NewOrganizationsAppgroupsAppsService(s) + return rs +} + +type OrganizationsAppgroupsService struct { + s *Service + + Apps *OrganizationsAppgroupsAppsService +} + +func NewOrganizationsAppgroupsAppsService(s *Service) *OrganizationsAppgroupsAppsService { + rs := &OrganizationsAppgroupsAppsService{s: s} + rs.Keys = NewOrganizationsAppgroupsAppsKeysService(s) + return rs +} + +type OrganizationsAppgroupsAppsService struct { + s *Service + + Keys *OrganizationsAppgroupsAppsKeysService +} + +func NewOrganizationsAppgroupsAppsKeysService(s *Service) *OrganizationsAppgroupsAppsKeysService { + rs := &OrganizationsAppgroupsAppsKeysService{s: s} + rs.Apiproducts = NewOrganizationsAppgroupsAppsKeysApiproductsService(s) + return rs +} + +type OrganizationsAppgroupsAppsKeysService struct { + s *Service + + Apiproducts *OrganizationsAppgroupsAppsKeysApiproductsService +} + +func NewOrganizationsAppgroupsAppsKeysApiproductsService(s *Service) *OrganizationsAppgroupsAppsKeysApiproductsService { + rs := &OrganizationsAppgroupsAppsKeysApiproductsService{s: s} + return rs +} + +type OrganizationsAppgroupsAppsKeysApiproductsService struct { + s *Service +} + func NewOrganizationsAppsService(s *Service) *OrganizationsAppsService { rs := &OrganizationsAppsService{s: s} return rs @@ -1239,6 +1287,39 @@ func (s *GoogleApiHttpBody) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudApigeeV1APIProductAssociation: APIProductAssociation has +// the API product and its administrative state association. +type GoogleCloudApigeeV1APIProductAssociation struct { + // Apiproduct: API product to be associated with the credential. + Apiproduct string `json:"apiproduct,omitempty"` + + // Status: The API product credential associated status. Valid values + // are `approved` or `revoked`. + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Apiproduct") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Apiproduct") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1APIProductAssociation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1APIProductAssociation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type GoogleCloudApigeeV1Access struct { Get *GoogleCloudApigeeV1AccessGet `json:"Get,omitempty"` @@ -2138,6 +2219,9 @@ type GoogleCloudApigeeV1App struct { // ApiProducts: List of API products associated with the app. ApiProducts []*GoogleCloudApigeeV1ApiProductRef `json:"apiProducts,omitempty"` + // AppGroup: Name of the AppGroup + AppGroup string `json:"appGroup,omitempty"` + // AppId: ID of the app. AppId string `json:"appId,omitempty"` @@ -2158,6 +2242,9 @@ type GoogleCloudApigeeV1App struct { // are API key/secret pairs associated with API products. Credentials []*GoogleCloudApigeeV1Credential `json:"credentials,omitempty"` + // DeveloperEmail: Email of the developer. + DeveloperEmail string `json:"developerEmail,omitempty"` + // DeveloperId: ID of the developer. DeveloperId string `json:"developerId,omitempty"` @@ -2208,6 +2295,223 @@ func (s *GoogleCloudApigeeV1App) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudApigeeV1AppGroup: AppGroup contains the request/response +// fields representing the logical grouping of apps. Note that +// appgroup_id, create_time and update_time cannot be changed by the +// user, and gets updated by the system. The name and the organization +// once provided cannot be edited subsequently. +type GoogleCloudApigeeV1AppGroup struct { + // AppGroupId: Output only. Internal identifier that cannot be edited + AppGroupId string `json:"appGroupId,omitempty"` + + // Attributes: A list of attributes + Attributes []*GoogleCloudApigeeV1Attribute `json:"attributes,omitempty"` + + // ChannelId: channel identifier identifies the owner maintaing this + // grouping. + ChannelId string `json:"channelId,omitempty"` + + // ChannelUri: A reference to the associated storefront/marketplace. + ChannelUri string `json:"channelUri,omitempty"` + + // CreatedAt: Output only. Created time as milliseconds since epoch. + CreatedAt int64 `json:"createdAt,omitempty,string"` + + // DisplayName: app group name displayed in the UI + DisplayName string `json:"displayName,omitempty"` + + // LastModifiedAt: Output only. Modified time as milliseconds since + // epoch. + LastModifiedAt int64 `json:"lastModifiedAt,omitempty,string"` + + // Name: Immutable. Name of the AppGroup. Characters you can use in the + // name are restricted to: A-Z0-9._\-$ %. + Name string `json:"name,omitempty"` + + // Organization: Immutable. the org the app group is created + Organization string `json:"organization,omitempty"` + + // Status: Valid values are `active` or `inactive`. Note that the status + // of the AppGroup should be updated via UpdateAppGroupRequest by + // setting the action as `active` or `inactive`. + Status string `json:"status,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AppGroupId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppGroupId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1AppGroup) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1AppGroup + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1AppGroupApp: Response for +// [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], +// [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and +// [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp] +type GoogleCloudApigeeV1AppGroupApp struct { + // ApiProducts: List of API products associated with the AppGroup app. + ApiProducts []string `json:"apiProducts,omitempty"` + + // AppGroup: Immutable. Name of the parent AppGroup whose resource name + // format is of syntax (organizations/*/appgroups/*). + AppGroup string `json:"appGroup,omitempty"` + + // AppId: Immutable. ID of the AppGroup app. + AppId string `json:"appId,omitempty"` + + // Attributes: List of attributes for the AppGroup app. + Attributes []*GoogleCloudApigeeV1Attribute `json:"attributes,omitempty"` + + // CallbackUrl: Callback URL used by OAuth 2.0 authorization servers to + // communicate authorization codes back to AppGroup apps. + CallbackUrl string `json:"callbackUrl,omitempty"` + + // CreatedAt: Output only. Time the AppGroup app was created in + // milliseconds since epoch. + CreatedAt int64 `json:"createdAt,omitempty,string"` + + // Credentials: Output only. Set of credentials for the AppGroup app + // consisting of the consumer key/secret pairs associated with the API + // products. + Credentials []*GoogleCloudApigeeV1Credential `json:"credentials,omitempty"` + + // KeyExpiresIn: Immutable. Expiration time, in seconds, for the + // consumer key that is generated for the AppGroup app. If not set or + // left to the default value of `-1`, the API key never expires. The + // expiration time can't be updated after it is set. + KeyExpiresIn int64 `json:"keyExpiresIn,omitempty,string"` + + // LastModifiedAt: Output only. Time the AppGroup app was modified in + // milliseconds since epoch. + LastModifiedAt int64 `json:"lastModifiedAt,omitempty,string"` + + // Name: Immutable. Name of the AppGroup app whose resource name format + // is of syntax (organizations/*/appgroups/*/apps/*). + Name string `json:"name,omitempty"` + + // Scopes: Scopes to apply to the AppGroup app. The specified scopes + // must already exist for the API product that you associate with the + // AppGroup app. + Scopes []string `json:"scopes,omitempty"` + + // Status: Status of the App. Valid values include `approved` or + // `revoked`. + Status string `json:"status,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ApiProducts") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApiProducts") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1AppGroupApp) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1AppGroupApp + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1AppGroupAppKey: AppGroupAppKey contains all the +// information associated with the credentials. +type GoogleCloudApigeeV1AppGroupAppKey struct { + // ApiProducts: Output only. List of API products and its status for + // which the credential can be used. **Note**: Use + // UpdateAppGroupAppKeyApiProductRequest API to make the association + // after the consumer key and secret are created. + ApiProducts []*GoogleCloudApigeeV1APIProductAssociation `json:"apiProducts,omitempty"` + + // Attributes: List of attributes associated with the credential. + Attributes []*GoogleCloudApigeeV1Attribute `json:"attributes,omitempty"` + + // ConsumerKey: Immutable. Consumer key. + ConsumerKey string `json:"consumerKey,omitempty"` + + // ConsumerSecret: Secret key. + ConsumerSecret string `json:"consumerSecret,omitempty"` + + // ExpiresAt: Output only. Time the AppGroup app expires in milliseconds + // since epoch. + ExpiresAt int64 `json:"expiresAt,omitempty,string"` + + // ExpiresInSeconds: Immutable. Expiration time, in seconds, for the + // consumer key. If not set or left to the default value of `-1`, the + // API key never expires. The expiration time can't be updated after it + // is set. + ExpiresInSeconds int64 `json:"expiresInSeconds,omitempty,string"` + + // IssuedAt: Output only. Time the AppGroup app was created in + // milliseconds since epoch. + IssuedAt int64 `json:"issuedAt,omitempty,string"` + + // Scopes: Scopes to apply to the app. The specified scope names must + // already be defined for the API product that you associate with the + // app. + Scopes []string `json:"scopes,omitempty"` + + // Status: Status of the credential. Valid values include `approved` or + // `revoked`. + Status string `json:"status,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ApiProducts") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApiProducts") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1AppGroupAppKey) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1AppGroupAppKey + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudApigeeV1ArchiveDeployment: Archive Deployment information. type GoogleCloudApigeeV1ArchiveDeployment struct { // CreatedAt: Output only. The time at which the Archive Deployment was @@ -6088,14 +6392,22 @@ func (s *GoogleCloudApigeeV1ListApiProxiesResponse) MarshalJSON() ([]byte, error return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GoogleCloudApigeeV1ListAppsResponse struct { - App []*GoogleCloudApigeeV1App `json:"app,omitempty"` +// GoogleCloudApigeeV1ListAppGroupAppsResponse: Response for +// ListAppGroupApps +type GoogleCloudApigeeV1ListAppGroupAppsResponse struct { + // AppGroupApps: List of AppGroup apps and their credentials. + AppGroupApps []*GoogleCloudApigeeV1AppGroupApp `json:"appGroupApps,omitempty"` + + // NextPageToken: Token that can be sent as `next_page_token` to + // retrieve the next page. If this field is omitted, there are no + // subsequent pages. + 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. "App") to + // ForceSendFields is a list of field names (e.g. "AppGroupApps") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6103,65 +6415,145 @@ type GoogleCloudApigeeV1ListAppsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "App") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "AppGroupApps") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *GoogleCloudApigeeV1ListAppsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudApigeeV1ListAppsResponse +func (s *GoogleCloudApigeeV1ListAppGroupAppsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1ListAppGroupAppsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudApigeeV1ListArchiveDeploymentsResponse: Response for -// ListArchiveDeployments method. -type GoogleCloudApigeeV1ListArchiveDeploymentsResponse struct { - // ArchiveDeployments: Archive Deployments in the specified environment. - ArchiveDeployments []*GoogleCloudApigeeV1ArchiveDeployment `json:"archiveDeployments,omitempty"` +// GoogleCloudApigeeV1ListAppGroupsResponse: ListAppGroupsResponse +// contains the 0 or more AppGroups, along with the optional page token +// and the total count of apps. +type GoogleCloudApigeeV1ListAppGroupsResponse struct { + // AppGroups: List of AppGroups. + AppGroups []*GoogleCloudApigeeV1AppGroup `json:"appGroups,omitempty"` - // NextPageToken: Page token that you can include in a - // ListArchiveDeployments request to retrieve the next page. If omitted, - // no subsequent pages exist. + // NextPageToken: Token that can be sent as `next_page_token` to + // retrieve the next page. If this field is omitted, there are no + // subsequent pages. NextPageToken string `json:"nextPageToken,omitempty"` + // TotalSize: Total count of AppGroups. + TotalSize int64 `json:"totalSize,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ArchiveDeployments") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "AppGroups") to + // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ArchiveDeployments") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "AppGroups") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *GoogleCloudApigeeV1ListArchiveDeploymentsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudApigeeV1ListArchiveDeploymentsResponse +func (s *GoogleCloudApigeeV1ListAppGroupsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1ListAppGroupsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudApigeeV1ListAsyncQueriesResponse: The response for -// ListAsyncQueries. -type GoogleCloudApigeeV1ListAsyncQueriesResponse struct { - // Queries: The asynchronous queries belong to requested resource name. - Queries []*GoogleCloudApigeeV1AsyncQuery `json:"queries,omitempty"` +type GoogleCloudApigeeV1ListAppsResponse struct { + App []*GoogleCloudApigeeV1App `json:"app,omitempty"` + + // NextPageToken: Token that can be sent as `next_page_token` to + // retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + + // TotalSize: Total count of Apps. + TotalSize int64 `json:"totalSize,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "App") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "App") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1ListAppsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1ListAppsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1ListArchiveDeploymentsResponse: Response for +// ListArchiveDeployments method. +type GoogleCloudApigeeV1ListArchiveDeploymentsResponse struct { + // ArchiveDeployments: Archive Deployments in the specified environment. + ArchiveDeployments []*GoogleCloudApigeeV1ArchiveDeployment `json:"archiveDeployments,omitempty"` + + // NextPageToken: Page token that you can include in a + // ListArchiveDeployments request to retrieve the next page. If omitted, + // no subsequent pages exist. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ArchiveDeployments") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ArchiveDeployments") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1ListArchiveDeploymentsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1ListArchiveDeploymentsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1ListAsyncQueriesResponse: The response for +// ListAsyncQueries. +type GoogleCloudApigeeV1ListAsyncQueriesResponse struct { + // Queries: The asynchronous queries belong to requested resource name. + Queries []*GoogleCloudApigeeV1AsyncQuery `json:"queries,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. @@ -8043,117 +8435,6 @@ func (s *GoogleCloudApigeeV1Point) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudApigeeV1ProfileConfig: ProfileConfig defines a set of -// categories and policies which will be used to compute security score. -type GoogleCloudApigeeV1ProfileConfig struct { - // Categories: List of categories of profile config. - Categories []*GoogleCloudApigeeV1ProfileConfigCategory `json:"categories,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Categories") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Categories") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudApigeeV1ProfileConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudApigeeV1ProfileConfig - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudApigeeV1ProfileConfigAbuse: Checks for abuse, which -// includes any requests sent to the API for purposes other than what it -// is intended for, such as high volumes of requests, data scraping, and -// abuse related to authorization. -type GoogleCloudApigeeV1ProfileConfigAbuse struct { -} - -// GoogleCloudApigeeV1ProfileConfigAuthorization: By default, following -// policies will be included: - JWS - JWT - OAuth - BasicAuth - APIKey -type GoogleCloudApigeeV1ProfileConfigAuthorization struct { -} - -// GoogleCloudApigeeV1ProfileConfigCORS: Checks to see if you have CORS -// policy in place. -type GoogleCloudApigeeV1ProfileConfigCORS struct { -} - -// GoogleCloudApigeeV1ProfileConfigCategory: Advanced API Security -// provides security profile that scores the following categories. -type GoogleCloudApigeeV1ProfileConfigCategory struct { - // Abuse: Checks for abuse, which includes any requests sent to the API - // for purposes other than what it is intended for, such as high volumes - // of requests, data scraping, and abuse related to authorization. - Abuse *GoogleCloudApigeeV1ProfileConfigAbuse `json:"abuse,omitempty"` - - // Authorization: Checks to see if you have an authorization policy in - // place. - Authorization *GoogleCloudApigeeV1ProfileConfigAuthorization `json:"authorization,omitempty"` - - // Cors: Checks to see if you have CORS policy in place. - Cors *GoogleCloudApigeeV1ProfileConfigCORS `json:"cors,omitempty"` - - // Mediation: Checks to see if you have a mediation policy in place. - Mediation *GoogleCloudApigeeV1ProfileConfigMediation `json:"mediation,omitempty"` - - // Mtls: Checks to see if you have configured mTLS for the target - // server. - Mtls *GoogleCloudApigeeV1ProfileConfigMTLS `json:"mtls,omitempty"` - - // Threat: Checks to see if you have a threat protection policy in - // place. - Threat *GoogleCloudApigeeV1ProfileConfigThreat `json:"threat,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Abuse") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Abuse") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudApigeeV1ProfileConfigCategory) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudApigeeV1ProfileConfigCategory - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudApigeeV1ProfileConfigMTLS: Checks to see if you have -// configured mTLS for the target server. -type GoogleCloudApigeeV1ProfileConfigMTLS struct { -} - -// GoogleCloudApigeeV1ProfileConfigMediation: By default, following -// policies will be included: - OASValidation - SOAPMessageValidation -type GoogleCloudApigeeV1ProfileConfigMediation struct { -} - -// GoogleCloudApigeeV1ProfileConfigThreat: By default, following -// policies will be included: - XMLThreatProtection - -// JSONThreatProtection -type GoogleCloudApigeeV1ProfileConfigThreat struct { -} - // GoogleCloudApigeeV1Properties: Message for compatibility with legacy // Edge specification for Java Properties object in JSON. type GoogleCloudApigeeV1Properties struct { @@ -10056,10 +10337,6 @@ type GoogleCloudApigeeV1SecurityProfile struct { // organizations/{org}/securityProfiles/{profile} Name string `json:"name,omitempty"` - // ProfileConfig: Customized profile configuration that computes the - // security score. - ProfileConfig *GoogleCloudApigeeV1ProfileConfig `json:"profileConfig,omitempty"` - // RevisionCreateTime: Output only. The time when revision was created. RevisionCreateTime string `json:"revisionCreateTime,omitempty"` @@ -11459,6 +11736,46 @@ func (s *GoogleCloudApigeeV1TraceSamplingConfig) UnmarshalJSON(data []byte) erro return nil } +// GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest: Request for +// UpdateAppGroupAppKey +type GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest struct { + // Action: Approve or revoke the consumer key by setting this value to + // `approve` or `revoke` respectively. The `Content-Type` header, if + // set, must be set to `application/octet-stream`, with empty body. + Action string `json:"action,omitempty"` + + // ApiProducts: The list of API products that will be associated with + // the credential. This list will be appended to the existing list of + // associated API Products for this App Key. Duplicates will be ignored. + ApiProducts []string `json:"apiProducts,omitempty"` + + // AppGroupAppKey: The new AppGroupKey to be amended. Note that the + // status can be updated only via action. + AppGroupAppKey *GoogleCloudApigeeV1AppGroupAppKey `json:"appGroupAppKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Action") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudApigeeV1UpdateError: Details on why a resource update // failed in the runtime. type GoogleCloudApigeeV1UpdateError struct { @@ -19954,96 +20271,99 @@ func (c *OrganizationsApisRevisionsDeploymentsListCall) Do(opts ...googleapi.Cal } -// method id "apigee.organizations.apps.get": +// method id "apigee.organizations.appgroups.create": -type OrganizationsAppsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type OrganizationsAppgroupsCreateCall struct { + s *Service + parent string + googlecloudapigeev1appgroup *GoogleCloudApigeeV1AppGroup + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Get: Gets the app profile for the specified app ID. +// Create: Creates an AppGroup. Once created, user can register apps +// under the AppGroup to obtain secret key and password. At creation +// time, the AppGroup's state is set as `active`. The attribute +// `Attribute` with key `attribute_name` as +// `__apigee_reserved__developer_details` can be used to store +// developers and their roles. The JSON format expected is: [ { +// "developer_id":"", "roles":[ "" ] } ] and is dealt in base64encoded +// format. Etag will be available in attribute `Attribute` with key +// `attribute_name` as `__apigee_reserved__developer_details_etag` for +// that AppGroup. // -// - name: App ID in the following format: -// `organizations/{org}/apps/{app}`. -func (r *OrganizationsAppsService) Get(name string) *OrganizationsAppsGetCall { - c := &OrganizationsAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - parent: Name of the Apigee organization in which the AppGroup is +// created. Use the following structure in your request: +// `organizations/{org}`. +func (r *OrganizationsAppgroupsService) Create(parent string, googlecloudapigeev1appgroup *GoogleCloudApigeeV1AppGroup) *OrganizationsAppgroupsCreateCall { + c := &OrganizationsAppgroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudapigeev1appgroup = googlecloudapigeev1appgroup return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *OrganizationsAppsGetCall) Fields(s ...googleapi.Field) *OrganizationsAppsGetCall { +func (c *OrganizationsAppgroupsCreateCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *OrganizationsAppsGetCall) IfNoneMatch(entityTag string) *OrganizationsAppsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *OrganizationsAppsGetCall) Context(ctx context.Context) *OrganizationsAppsGetCall { +func (c *OrganizationsAppgroupsCreateCall) Context(ctx context.Context) *OrganizationsAppgroupsCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *OrganizationsAppsGetCall) Header() http.Header { +func (c *OrganizationsAppgroupsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *OrganizationsAppsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *OrganizationsAppgroupsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1appgroup) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/appgroups") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + 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, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "apigee.organizations.apps.get" call. -// Exactly one of *GoogleCloudApigeeV1App or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleCloudApigeeV1App.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use +// Do executes the "apigee.organizations.appgroups.create" call. +// Exactly one of *GoogleCloudApigeeV1AppGroup or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudApigeeV1AppGroup.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 *OrganizationsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1App, error) { +func (c *OrganizationsAppgroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -20062,7 +20382,7 @@ func (c *OrganizationsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleClou if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } - ret := &GoogleCloudApigeeV1App{ + ret := &GoogleCloudApigeeV1AppGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -20074,25 +20394,28 @@ func (c *OrganizationsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleClou } return ret, nil // { - // "description": "Gets the app profile for the specified app ID.", - // "flatPath": "v1/organizations/{organizationsId}/apps/{appsId}", - // "httpMethod": "GET", - // "id": "apigee.organizations.apps.get", + // "description": "Creates an AppGroup. Once created, user can register apps under the AppGroup to obtain secret key and password. At creation time, the AppGroup's state is set as `active`. The attribute `Attribute` with key `attribute_name` as `__apigee_reserved__developer_details` can be used to store developers and their roles. The JSON format expected is: [ { \"developer_id\":\"\", \"roles\":[ \"\" ] } ] and is dealt in base64encoded format. Etag will be available in attribute `Attribute` with key `attribute_name` as `__apigee_reserved__developer_details_etag` for that AppGroup.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups", + // "httpMethod": "POST", + // "id": "apigee.organizations.appgroups.create", // "parameterOrder": [ - // "name" + // "parent" // ], // "parameters": { - // "name": { - // "description": "Required. App ID in the following format: `organizations/{org}/apps/{app}`", + // "parent": { + // "description": "Required. Name of the Apigee organization in which the AppGroup is created. Use the following structure in your request: `organizations/{org}`.", // "location": "path", - // "pattern": "^organizations/[^/]+/apps/[^/]+$", + // "pattern": "^organizations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+name}", + // "path": "v1/{+parent}/appgroups", + // "request": { + // "$ref": "GoogleCloudApigeeV1AppGroup" + // }, // "response": { - // "$ref": "GoogleCloudApigeeV1App" + // "$ref": "GoogleCloudApigeeV1AppGroup" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -20101,25 +20424,2532 @@ func (c *OrganizationsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleClou } -// method id "apigee.organizations.apps.list": +// method id "apigee.organizations.appgroups.delete": -type OrganizationsAppsListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type OrganizationsAppgroupsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// List: Lists IDs of apps within an organization that have the -// specified app status (approved or revoked) or are of the specified -// app type (developer or company). +// Delete: Deletes an AppGroup. All app and API keys associations with +// the AppGroup are also removed. **Warning**: This API will permanently +// delete the AppGroup and related artifacts. **Note**: The delete +// operation is asynchronous. The AppGroup app is deleted immediately, +// but its associated resources, such as apps and API keys, may take +// anywhere from a few seconds to a few minutes to be deleted. // -// - parent: Resource path of the parent in the following format: -// `organizations/{org}`. -func (r *OrganizationsAppsService) List(parent string) *OrganizationsAppsListCall { - c := &OrganizationsAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: Name of the AppGroup. Use the following structure in your +// request: `organizations/{org}/appgroups/{app_group_name}`. +func (r *OrganizationsAppgroupsService) Delete(name string) *OrganizationsAppgroupsDeleteCall { + c := &OrganizationsAppgroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsDeleteCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsDeleteCall) Context(ctx context.Context) *OrganizationsAppgroupsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "apigee.organizations.appgroups.delete" call. +// Exactly one of *GoogleCloudApigeeV1AppGroup or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudApigeeV1AppGroup.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 *OrganizationsAppgroupsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroup, 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 := &GoogleCloudApigeeV1AppGroup{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an AppGroup. All app and API keys associations with the AppGroup are also removed. **Warning**: This API will permanently delete the AppGroup and related artifacts. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + // "httpMethod": "DELETE", + // "id": "apigee.organizations.appgroups.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroup" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.get": + +type OrganizationsAppgroupsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns the AppGroup details for the provided AppGroup name in +// the request URI. +// +// - name: Name of the AppGroup. Use the following structure in your +// request: `organizations/{org}/appgroups/{app_group_name}`. +func (r *OrganizationsAppgroupsService) Get(name string) *OrganizationsAppgroupsGetCall { + c := &OrganizationsAppgroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsGetCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppgroupsGetCall) IfNoneMatch(entityTag string) *OrganizationsAppgroupsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsGetCall) Context(ctx context.Context) *OrganizationsAppgroupsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+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 "apigee.organizations.appgroups.get" call. +// Exactly one of *GoogleCloudApigeeV1AppGroup or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudApigeeV1AppGroup.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 *OrganizationsAppgroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroup, 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 := &GoogleCloudApigeeV1AppGroup{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the AppGroup details for the provided AppGroup name in the request URI.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + // "httpMethod": "GET", + // "id": "apigee.organizations.appgroups.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroup" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.list": + +type OrganizationsAppgroupsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all AppGroups in an organization. A maximum of 1000 +// AppGroups are returned in the response if PageSize is not specified, +// or if the PageSize is greater than 1000. +// +// - parent: Name of the Apigee organization. Use the following +// structure in your request: `organizations/{org}`. +func (r *OrganizationsAppgroupsService) List(parent string) *OrganizationsAppgroupsListCall { + c := &OrganizationsAppgroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": The filter expression to +// be used to get the list of AppGroups, where filtering can be done on +// name, correlationID or channelID of the app group. Example: filter = +// "name = foobar" +func (c *OrganizationsAppgroupsListCall) Filter(filter string) *OrganizationsAppgroupsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": Count of AppGroups a +// single page can have in the response. If unspecified, at most 1000 +// AppGroups will be returned. The maximum value is 1000; values above +// 1000 will be coerced to 1000. +func (c *OrganizationsAppgroupsListCall) PageSize(pageSize int64) *OrganizationsAppgroupsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The starting index +// record for listing the AppGroups. +func (c *OrganizationsAppgroupsListCall) PageToken(pageToken string) *OrganizationsAppgroupsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsListCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppgroupsListCall) IfNoneMatch(entityTag string) *OrganizationsAppgroupsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsListCall) Context(ctx context.Context) *OrganizationsAppgroupsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/appgroups") + 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 "apigee.organizations.appgroups.list" call. +// Exactly one of *GoogleCloudApigeeV1ListAppGroupsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudApigeeV1ListAppGroupsResponse.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 *OrganizationsAppgroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1ListAppGroupsResponse, 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 := &GoogleCloudApigeeV1ListAppGroupsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all AppGroups in an organization. A maximum of 1000 AppGroups are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups", + // "httpMethod": "GET", + // "id": "apigee.organizations.appgroups.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "filter": { + // "description": "The filter expression to be used to get the list of AppGroups, where filtering can be done on name, correlationID or channelID of the app group. Example: filter = \"name = foobar\"", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Count of AppGroups a single page can have in the response. If unspecified, at most 1000 AppGroups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The starting index record for listing the AppGroups.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Name of the Apigee organization. Use the following structure in your request: `organizations/{org}`.", + // "location": "path", + // "pattern": "^organizations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/appgroups", + // "response": { + // "$ref": "GoogleCloudApigeeV1ListAppGroupsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *OrganizationsAppgroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudApigeeV1ListAppGroupsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "apigee.organizations.appgroups.update": + +type OrganizationsAppgroupsUpdateCall struct { + s *Service + name string + googlecloudapigeev1appgroup *GoogleCloudApigeeV1AppGroup + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates an appGroup. This API replaces the existing appGroup +// details with those specified in the request. Include or exclude any +// existing details that you want to retain or delete, respectively. +// Note that the state of the AppGroup should be updated using `action`, +// and not via AppGroup. The custom attribute limit is 1000, and is how +// `__apigee_reserved__developer_details` can be updated. **Note**: +// OAuth access tokens and Key Management Service (KMS) entities (apps, +// developers, and API products) are cached for 180 seconds (current +// default). Any custom attributes associated with these entities are +// cached for at least 180 seconds after the entity is accessed at +// runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy +// won't be able to expire an access token in less than 180 seconds. +// +// - name: Name of the AppGroup. Use the following structure in your +// request: `organizations/{org}/appgroups/{app_group_name}`. +func (r *OrganizationsAppgroupsService) Update(name string, googlecloudapigeev1appgroup *GoogleCloudApigeeV1AppGroup) *OrganizationsAppgroupsUpdateCall { + c := &OrganizationsAppgroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudapigeev1appgroup = googlecloudapigeev1appgroup + return c +} + +// Action sets the optional parameter "action": Activate or de-activate +// the appGroup by setting the action as `active` or `inactive`. The +// `Content-Type` header must be set to `application/octet-stream`, with +// empty body. +func (c *OrganizationsAppgroupsUpdateCall) Action(action string) *OrganizationsAppgroupsUpdateCall { + c.urlParams_.Set("action", action) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsUpdateCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsUpdateCall) Context(ctx context.Context) *OrganizationsAppgroupsUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1appgroup) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PUT", 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 "apigee.organizations.appgroups.update" call. +// Exactly one of *GoogleCloudApigeeV1AppGroup or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudApigeeV1AppGroup.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 *OrganizationsAppgroupsUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroup, 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 := &GoogleCloudApigeeV1AppGroup{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates an appGroup. This API replaces the existing appGroup details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. Note that the state of the AppGroup should be updated using `action`, and not via AppGroup. The custom attribute limit is 1000, and is how `__apigee_reserved__developer_details` can be updated. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", + // "httpMethod": "PUT", + // "id": "apigee.organizations.appgroups.update", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "action": { + // "description": "Activate or de-activate the appGroup by setting the action as `active` or `inactive`. The `Content-Type` header must be set to `application/octet-stream`, with empty body.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleCloudApigeeV1AppGroup" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroup" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.create": + +type OrganizationsAppgroupsAppsCreateCall struct { + s *Service + parent string + googlecloudapigeev1appgroupapp *GoogleCloudApigeeV1AppGroupApp + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates an app and associates it with an AppGroup. This API +// associates the AppGroup app with the specified API product and +// auto-generates an API key for the app to use in calls to API proxies +// inside that API product. The `name` is the unique ID of the app that +// you can use in API calls. +// +// - parent: Name of the AppGroup. Use the following structure in your +// request: `organizations/{org}/appgroups/{app_group_name}`. +func (r *OrganizationsAppgroupsAppsService) Create(parent string, googlecloudapigeev1appgroupapp *GoogleCloudApigeeV1AppGroupApp) *OrganizationsAppgroupsAppsCreateCall { + c := &OrganizationsAppgroupsAppsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudapigeev1appgroupapp = googlecloudapigeev1appgroupapp + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsCreateCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsCreateCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1appgroupapp) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps") + 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 "apigee.organizations.appgroups.apps.create" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupApp or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupApp.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 *OrganizationsAppgroupsAppsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupApp, 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 := &GoogleCloudApigeeV1AppGroupApp{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an app and associates it with an AppGroup. This API associates the AppGroup app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that API product. The `name` is the unique ID of the app that you can use in API calls.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps", + // "httpMethod": "POST", + // "id": "apigee.organizations.appgroups.apps.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps", + // "request": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.delete": + +type OrganizationsAppgroupsAppsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an AppGroup app. **Note**: The delete operation is +// asynchronous. The AppGroup app is deleted immediately, but its +// associated resources, such as app keys or access tokens, may take +// anywhere from a few seconds to a few minutes to be deleted. +// +// - name: Name of the AppGroup app. Use the following structure in your +// request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}`. +func (r *OrganizationsAppgroupsAppsService) Delete(name string) *OrganizationsAppgroupsAppsDeleteCall { + c := &OrganizationsAppgroupsAppsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsDeleteCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsDeleteCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "apigee.organizations.appgroups.apps.delete" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupApp or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupApp.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 *OrganizationsAppgroupsAppsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupApp, 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 := &GoogleCloudApigeeV1AppGroupApp{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an AppGroup app. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + // "httpMethod": "DELETE", + // "id": "apigee.organizations.appgroups.apps.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.get": + +type OrganizationsAppgroupsAppsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns the details for an AppGroup app. +// +// - name: Name of the AppGroup app. Use the following structure in your +// request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}`. +func (r *OrganizationsAppgroupsAppsService) Get(name string) *OrganizationsAppgroupsAppsGetCall { + c := &OrganizationsAppgroupsAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsGetCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppgroupsAppsGetCall) IfNoneMatch(entityTag string) *OrganizationsAppgroupsAppsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsGetCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+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 "apigee.organizations.appgroups.apps.get" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupApp or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupApp.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 *OrganizationsAppgroupsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupApp, 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 := &GoogleCloudApigeeV1AppGroupApp{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the details for an AppGroup app.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + // "httpMethod": "GET", + // "id": "apigee.organizations.appgroups.apps.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.list": + +type OrganizationsAppgroupsAppsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all apps created by an AppGroup in an Apigee +// organization. Optionally, you can request an expanded view of the +// AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of +// 1000 AppGroup apps are returned in the response if PageSize is not +// specified, or if the PageSize is greater than 1000. +// +// - parent: Name of the AppGroup. Use the following structure in your +// request: `organizations/{org}/appgroups/{app_group_name}`. +func (r *OrganizationsAppgroupsAppsService) List(parent string) *OrganizationsAppgroupsAppsListCall { + c := &OrganizationsAppgroupsAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number +// entries to return. If unspecified, at most 1000 entries will be +// returned. +func (c *OrganizationsAppgroupsAppsListCall) PageSize(pageSize int64) *OrganizationsAppgroupsAppsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Page token. If +// provides, must be a valid AppGroup app returned from a previous call +// that can be used to retrieve the next page. +func (c *OrganizationsAppgroupsAppsListCall) PageToken(pageToken string) *OrganizationsAppgroupsAppsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsListCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppgroupsAppsListCall) IfNoneMatch(entityTag string) *OrganizationsAppgroupsAppsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsListCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps") + 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 "apigee.organizations.appgroups.apps.list" call. +// Exactly one of *GoogleCloudApigeeV1ListAppGroupAppsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudApigeeV1ListAppGroupAppsResponse.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 *OrganizationsAppgroupsAppsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1ListAppGroupAppsResponse, 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 := &GoogleCloudApigeeV1ListAppGroupAppsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all apps created by an AppGroup in an Apigee organization. Optionally, you can request an expanded view of the AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of 1000 AppGroup apps are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps", + // "httpMethod": "GET", + // "id": "apigee.organizations.appgroups.apps.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. Maximum number entries to return. If unspecified, at most 1000 entries will be returned.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. Page token. If provides, must be a valid AppGroup app returned from a previous call that can be used to retrieve the next page.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps", + // "response": { + // "$ref": "GoogleCloudApigeeV1ListAppGroupAppsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *OrganizationsAppgroupsAppsListCall) Pages(ctx context.Context, f func(*GoogleCloudApigeeV1ListAppGroupAppsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "apigee.organizations.appgroups.apps.update": + +type OrganizationsAppgroupsAppsUpdateCall struct { + s *Service + name string + googlecloudapigeev1appgroupapp *GoogleCloudApigeeV1AppGroupApp + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the details for an AppGroup app. In addition, you can +// add an API product to an AppGroup app and automatically generate an +// API key for the app to use when calling APIs in the API product. If +// you want to use an existing API key for the API product, add the API +// product to the API key using the UpdateAppGroupAppKey API. Using this +// API, you cannot update the app name, as it is the primary key used to +// identify the app and cannot be changed. This API replaces the +// existing attributes with those specified in the request. Include or +// exclude any existing attributes that you want to retain or delete, +// respectively. +// +// - name: Name of the AppGroup app. Use the following structure in your +// request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}`. +func (r *OrganizationsAppgroupsAppsService) Update(name string, googlecloudapigeev1appgroupapp *GoogleCloudApigeeV1AppGroupApp) *OrganizationsAppgroupsAppsUpdateCall { + c := &OrganizationsAppgroupsAppsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudapigeev1appgroupapp = googlecloudapigeev1appgroupapp + return c +} + +// Action sets the optional parameter "action": Approve or revoke the +// consumer key by setting this value to `approve` or `revoke`. The +// `Content-Type` header must be set to `application/octet-stream`, with +// empty body. +func (c *OrganizationsAppgroupsAppsUpdateCall) Action(action string) *OrganizationsAppgroupsAppsUpdateCall { + c.urlParams_.Set("action", action) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsUpdateCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsUpdateCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1appgroupapp) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PUT", 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 "apigee.organizations.appgroups.apps.update" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupApp or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupApp.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 *OrganizationsAppgroupsAppsUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupApp, 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 := &GoogleCloudApigeeV1AppGroupApp{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}", + // "httpMethod": "PUT", + // "id": "apigee.organizations.appgroups.apps.update", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "action": { + // "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke`. The `Content-Type` header must be set to `application/octet-stream`, with empty body.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupApp" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.create": + +type OrganizationsAppgroupsAppsKeysCreateCall struct { + s *Service + parent string + googlecloudapigeev1appgroupappkey *GoogleCloudApigeeV1AppGroupAppKey + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a custom consumer key and secret for a AppGroup app. +// This is particularly useful if you want to migrate existing consumer +// keys and secrets to Apigee from another system. Consumer keys and +// secrets can contain letters, numbers, underscores, and hyphens. No +// other special characters are allowed. To avoid service disruptions, a +// consumer key and secret should not exceed 2 KBs each. **Note**: When +// creating the consumer key and secret, an association to API products +// will not be made. Therefore, you should not specify the associated +// API products in your request. Instead, use the +// ProductizeAppGroupAppKey API to make the association after the +// consumer key and secret are created. If a consumer key and secret +// already exist, you can keep them or delete them using the +// DeleteAppGroupAppKey API. +// +// - parent: Parent of the AppGroup app key. Use the following structure +// in your request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys`. +func (r *OrganizationsAppgroupsAppsKeysService) Create(parent string, googlecloudapigeev1appgroupappkey *GoogleCloudApigeeV1AppGroupAppKey) *OrganizationsAppgroupsAppsKeysCreateCall { + c := &OrganizationsAppgroupsAppsKeysCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudapigeev1appgroupappkey = googlecloudapigeev1appgroupappkey + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysCreateCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysCreateCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1appgroupappkey) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/keys") + 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 "apigee.organizations.appgroups.apps.keys.create" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupAppKey or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupAppKey.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 *OrganizationsAppgroupsAppsKeysCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupAppKey, 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 := &GoogleCloudApigeeV1AppGroupAppKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a custom consumer key and secret for a AppGroup app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the ProductizeAppGroupAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteAppGroupAppKey API.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys", + // "httpMethod": "POST", + // "id": "apigee.organizations.appgroups.apps.keys.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. Parent of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/keys", + // "request": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.delete": + +type OrganizationsAppgroupsAppsKeysDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an app's consumer key and removes all API products +// associated with the app. After the consumer key is deleted, it cannot +// be used to access any APIs. +// +// - name: Name of the AppGroup app key. Use the following structure in +// your request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key +// }`. +func (r *OrganizationsAppgroupsAppsKeysService) Delete(name string) *OrganizationsAppgroupsAppsKeysDeleteCall { + c := &OrganizationsAppgroupsAppsKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysDeleteCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysDeleteCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "apigee.organizations.appgroups.apps.keys.delete" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupAppKey or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupAppKey.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 *OrganizationsAppgroupsAppsKeysDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupAppKey, 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 := &GoogleCloudApigeeV1AppGroupAppKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an app's consumer key and removes all API products associated with the app. After the consumer key is deleted, it cannot be used to access any APIs.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + // "httpMethod": "DELETE", + // "id": "apigee.organizations.appgroups.apps.keys.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.get": + +type OrganizationsAppgroupsAppsKeysGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details for a consumer key for a AppGroup app, including +// the key and secret value, associated API products, and other +// information. +// +// - name: Name of the AppGroup app key. Use the following structure in +// your request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key +// }`. +func (r *OrganizationsAppgroupsAppsKeysService) Get(name string) *OrganizationsAppgroupsAppsKeysGetCall { + c := &OrganizationsAppgroupsAppsKeysGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysGetCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppgroupsAppsKeysGetCall) IfNoneMatch(entityTag string) *OrganizationsAppgroupsAppsKeysGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysGetCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+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 "apigee.organizations.appgroups.apps.keys.get" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupAppKey or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupAppKey.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 *OrganizationsAppgroupsAppsKeysGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupAppKey, 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 := &GoogleCloudApigeeV1AppGroupAppKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets details for a consumer key for a AppGroup app, including the key and secret value, associated API products, and other information.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + // "httpMethod": "GET", + // "id": "apigee.organizations.appgroups.apps.keys.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey": + +type OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall struct { + s *Service + name string + googlecloudapigeev1updateappgroupappkeyrequest *GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateAppGroupAppKey: Adds an API product to an AppGroupAppKey, +// enabling the app that holds the key to access the API resources +// bundled in the API product. In addition, you can add attributes to +// the AppGroupAppKey. This API replaces the existing attributes with +// those specified in the request. Include or exclude any existing +// attributes that you want to retain or delete, respectively. You can +// use the same key to access all API products associated with the app. +// +// - name: Name of the AppGroup app key. Use the following structure in +// your request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key +// }`. +func (r *OrganizationsAppgroupsAppsKeysService) UpdateAppGroupAppKey(name string, googlecloudapigeev1updateappgroupappkeyrequest *GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest) *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall { + c := &OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudapigeev1updateappgroupappkeyrequest = googlecloudapigeev1updateappgroupappkeyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1updateappgroupappkeyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + 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 "apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupAppKey or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupAppKey.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 *OrganizationsAppgroupsAppsKeysUpdateAppGroupAppKeyCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupAppKey, 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 := &GoogleCloudApigeeV1AppGroupAppKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Adds an API product to an AppGroupAppKey, enabling the app that holds the key to access the API resources bundled in the API product. In addition, you can add attributes to the AppGroupAppKey. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. You can use the same key to access all API products associated with the app.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}", + // "httpMethod": "POST", + // "id": "apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.apiproducts.delete": + +type OrganizationsAppgroupsAppsKeysApiproductsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Removes an API product from an app's consumer key. After the +// API product is removed, the app cannot access the API resources +// defined in that API product. **Note**: The consumer key is not +// removed, only its association with the API product. +// +// - name: Parent of the AppGroup app key. Use the following structure +// in your request: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key +// }/apiproducts/{apiproduct}`. +func (r *OrganizationsAppgroupsAppsKeysApiproductsService) Delete(name string) *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall { + c := &OrganizationsAppgroupsAppsKeysApiproductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "apigee.organizations.appgroups.apps.keys.apiproducts.delete" call. +// Exactly one of *GoogleCloudApigeeV1AppGroupAppKey or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleCloudApigeeV1AppGroupAppKey.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 *OrganizationsAppgroupsAppsKeysApiproductsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1AppGroupAppKey, 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 := &GoogleCloudApigeeV1AppGroupAppKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Removes an API product from an app's consumer key. After the API product is removed, the app cannot access the API resources defined in that API product. **Note**: The consumer key is not removed, only its association with the API product.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + // "httpMethod": "DELETE", + // "id": "apigee.organizations.appgroups.apps.keys.apiproducts.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Parent of the AppGroup app key. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1AppGroupAppKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct": + +type OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateAppGroupAppKeyApiProduct: Approves or revokes the consumer key +// for an API product. After a consumer key is approved, the app can use +// it to access APIs. A consumer key that is revoked or pending cannot +// be used to access an API. Any access tokens associated with a revoked +// consumer key will remain active. However, Apigee checks the status of +// the consumer key and if set to `revoked` will not allow access to the +// API. +// +// - name: Name of the API product in the developer app key in the +// following format: +// `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key +// }/apiproducts/{apiproduct}`. +func (r *OrganizationsAppgroupsAppsKeysApiproductsService) UpdateAppGroupAppKeyApiProduct(name string) *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall { + c := &OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Action sets the optional parameter "action": Approve or revoke the +// consumer key by setting this value to `approve` or `revoke` +// respectively. The `Content-Type` header, if set, must be set to +// `application/octet-stream`, with empty body. +func (c *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) Action(action string) *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall { + c.urlParams_.Set("action", action) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) Fields(s ...googleapi.Field) *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) Context(ctx context.Context) *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct" call. +// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.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 *OrganizationsAppgroupsAppsKeysApiproductsUpdateAppGroupAppKeyApiProductCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, 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 := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API.", + // "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + // "httpMethod": "POST", + // "id": "apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "action": { + // "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke` respectively. The `Content-Type` header, if set, must be set to `application/octet-stream`, with empty body.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "Required. Name of the API product in the developer app key in the following format: `organizations/{org}/appgroups/{app_group_name}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/appgroups/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleProtobufEmpty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.apps.get": + +type OrganizationsAppsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the app profile for the specified app ID. +// +// - name: App ID in the following format: +// `organizations/{org}/apps/{app}`. +func (r *OrganizationsAppsService) Get(name string) *OrganizationsAppsGetCall { + c := &OrganizationsAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsAppsGetCall) Fields(s ...googleapi.Field) *OrganizationsAppsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsAppsGetCall) IfNoneMatch(entityTag string) *OrganizationsAppsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsAppsGetCall) Context(ctx context.Context) *OrganizationsAppsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsAppsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsAppsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+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 "apigee.organizations.apps.get" call. +// Exactly one of *GoogleCloudApigeeV1App or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleCloudApigeeV1App.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 *OrganizationsAppsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1App, 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 := &GoogleCloudApigeeV1App{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the app profile for the specified app ID.", + // "flatPath": "v1/organizations/{organizationsId}/apps/{appsId}", + // "httpMethod": "GET", + // "id": "apigee.organizations.apps.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. App ID in the following format: `organizations/{org}/apps/{app}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleCloudApigeeV1App" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "apigee.organizations.apps.list": + +type OrganizationsAppsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists IDs of apps within an organization that have the +// specified app status (approved or revoked) or are of the specified +// app type (developer or company). +// +// - parent: Resource path of the parent in the following format: +// `organizations/{org}`. +func (r *OrganizationsAppsService) List(parent string) *OrganizationsAppsListCall { + c := &OrganizationsAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } @@ -20130,9 +22960,8 @@ func (c *OrganizationsAppsListCall) ApiProduct(apiProduct string) *Organizations return c } -// Apptype sets the optional parameter "apptype": Filter by the type of -// the app. Valid values are `company` or `developer`. Defaults to -// `developer`. +// Apptype sets the optional parameter "apptype": 'apptype' is no longer +// available. Use a 'filter' instead. func (c *OrganizationsAppsListCall) Apptype(apptype string) *OrganizationsAppsListCall { c.urlParams_.Set("apptype", apptype) return c @@ -20146,6 +22975,17 @@ func (c *OrganizationsAppsListCall) Expand(expand bool) *OrganizationsAppsListCa return c } +// Filter sets the optional parameter "filter": The filter expression to +// be used to get the list of apps, where filtering can be done on +// developerEmail, apiProduct, consumerKey, status, appId, appName and +// appType. Examples: "developerEmail=foo@bar.com", "appType=AppGroup", +// or "appType=Developer" "filter" is supported from ver 1.10.0 and +// above. +func (c *OrganizationsAppsListCall) Filter(filter string) *OrganizationsAppsListCall { + c.urlParams_.Set("filter", filter) + return c +} + // Ids sets the optional parameter "ids": Comma-separated list of app // IDs on which to filter. func (c *OrganizationsAppsListCall) Ids(ids string) *OrganizationsAppsListCall { @@ -20168,6 +23008,24 @@ func (c *OrganizationsAppsListCall) KeyStatus(keyStatus string) *OrganizationsAp return c } +// PageSize sets the optional parameter "pageSize": Count of apps a +// single page can have in the response. If unspecified, at most 100 +// apps will be returned. The maximum value is 100; values above 100 +// will be coerced to 100. "page_size" is supported from ver 1.10.0 and +// above. +func (c *OrganizationsAppsListCall) PageSize(pageSize int64) *OrganizationsAppsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The starting index +// record for listing the developers. "page_token" is supported from ver +// 1.10.0 and above. +func (c *OrganizationsAppsListCall) PageToken(pageToken string) *OrganizationsAppsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + // Rows sets the optional parameter "rows": Maximum number of app IDs to // return. Defaults to 10000. func (c *OrganizationsAppsListCall) Rows(rows int64) *OrganizationsAppsListCall { @@ -20304,7 +23162,7 @@ func (c *OrganizationsAppsListCall) Do(opts ...googleapi.CallOption) (*GoogleClo // "type": "string" // }, // "apptype": { - // "description": "Optional. Filter by the type of the app. Valid values are `company` or `developer`. Defaults to `developer`.", + // "description": "Optional. 'apptype' is no longer available. Use a 'filter' instead.", // "location": "query", // "type": "string" // }, @@ -20313,6 +23171,11 @@ func (c *OrganizationsAppsListCall) Do(opts ...googleapi.CallOption) (*GoogleClo // "location": "query", // "type": "boolean" // }, + // "filter": { + // "description": "Optional. The filter expression to be used to get the list of apps, where filtering can be done on developerEmail, apiProduct, consumerKey, status, appId, appName and appType. Examples: \"developerEmail=foo@bar.com\", \"appType=AppGroup\", or \"appType=Developer\" \"filter\" is supported from ver 1.10.0 and above.", + // "location": "query", + // "type": "string" + // }, // "ids": { // "description": "Optional. Comma-separated list of app IDs on which to filter.", // "location": "query", @@ -20328,6 +23191,17 @@ func (c *OrganizationsAppsListCall) Do(opts ...googleapi.CallOption) (*GoogleClo // "location": "query", // "type": "string" // }, + // "pageSize": { + // "description": "Optional. Count of apps a single page can have in the response. If unspecified, at most 100 apps will be returned. The maximum value is 100; values above 100 will be coerced to 100. \"page_size\" is supported from ver 1.10.0 and above.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. The starting index record for listing the developers. \"page_token\" is supported from ver 1.10.0 and above.", + // "location": "query", + // "type": "string" + // }, // "parent": { // "description": "Required. Resource path of the parent in the following format: `organizations/{org}`", // "location": "path", @@ -20363,6 +23237,27 @@ func (c *OrganizationsAppsListCall) Do(opts ...googleapi.CallOption) (*GoogleClo } +// 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 *OrganizationsAppsListCall) Pages(ctx context.Context, f func(*GoogleCloudApigeeV1ListAppsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "apigee.organizations.datacollectors.create": type OrganizationsDatacollectorsCreateCall struct { @@ -24666,7 +27561,10 @@ type OrganizationsDevelopersAppsKeysCreateCall struct { // API products in your request. Instead, use the UpdateDeveloperAppKey // API to make the association after the consumer key and secret are // created. If a consumer key and secret already exist, you can keep -// them or delete them using the DeleteDeveloperAppKey API. +// them or delete them using the DeleteDeveloperAppKey API. **Note**: +// All keys start out with status=approved, even if status=revoked is +// passed when the key is created. To revoke a key, use the +// UpdateDeveloperAppKey API. // // - parent: Parent of the developer app key. Use the following // structure in your request: @@ -24770,7 +27668,7 @@ func (c *OrganizationsDevelopersAppsKeysCreateCall) Do(opts ...googleapi.CallOpt } return ret, nil // { - // "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + // "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API. **Note**: All keys start out with status=approved, even if status=revoked is passed when the key is created. To revoke a key, use the UpdateDeveloperAppKey API.", // "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys", // "httpMethod": "POST", // "id": "apigee.organizations.developers.apps.keys.create", @@ -25727,7 +28625,10 @@ type OrganizationsDevelopersAppsKeysCreateCreateCall struct { // API products in your request. Instead, use the UpdateDeveloperAppKey // API to make the association after the consumer key and secret are // created. If a consumer key and secret already exist, you can keep -// them or delete them using the DeleteDeveloperAppKey API. +// them or delete them using the DeleteDeveloperAppKey API. **Note**: +// All keys start out with status=approved, even if status=revoked is +// passed when the key is created. To revoke a key, use the +// UpdateDeveloperAppKey API. // // - parent: Parent of the developer app key. Use the following // structure in your request: @@ -25831,7 +28732,7 @@ func (c *OrganizationsDevelopersAppsKeysCreateCreateCall) Do(opts ...googleapi.C } return ret, nil // { - // "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + // "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API. **Note**: All keys start out with status=approved, even if status=revoked is passed when the key is created. To revoke a key, use the UpdateDeveloperAppKey API.", // "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create", // "httpMethod": "POST", // "id": "apigee.organizations.developers.apps.keys.create.create", diff --git a/artifactregistry/v1/artifactregistry-api.json b/artifactregistry/v1/artifactregistry-api.json index 5c73ba0cc0c..8a124b0ad97 100644 --- a/artifactregistry/v1/artifactregistry-api.json +++ b/artifactregistry/v1/artifactregistry-api.json @@ -1633,7 +1633,7 @@ } } }, - "revision": "20230622", + "revision": "20230626", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2756,7 +2756,8 @@ "YUM", "GOOGET", "PYTHON", - "KFP" + "KFP", + "GO" ], "enumDescriptions": [ "Unspecified package format.", @@ -2767,7 +2768,8 @@ "YUM package format.", "GooGet package format.", "Python package format.", - "Kubeflow Pipelines package format." + "Kubeflow Pipelines package format.", + "Go package format." ], "type": "string" }, diff --git a/artifactregistry/v1/artifactregistry-gen.go b/artifactregistry/v1/artifactregistry-gen.go index ac36530cf3a..b17751ed9ce 100644 --- a/artifactregistry/v1/artifactregistry-gen.go +++ b/artifactregistry/v1/artifactregistry-gen.go @@ -2373,6 +2373,7 @@ type Repository struct { // "GOOGET" - GooGet package format. // "PYTHON" - Python package format. // "KFP" - Kubeflow Pipelines package format. + // "GO" - Go package format. Format string `json:"format,omitempty"` // KmsKeyName: The Cloud KMS resource name of the customer managed diff --git a/assuredworkloads/v1/assuredworkloads-api.json b/assuredworkloads/v1/assuredworkloads-api.json index 2f674725b93..f1335161391 100644 --- a/assuredworkloads/v1/assuredworkloads-api.json +++ b/assuredworkloads/v1/assuredworkloads-api.json @@ -519,7 +519,7 @@ } } }, - "revision": "20230612", + "revision": "20230623", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest": { @@ -565,7 +565,8 @@ "ASSURED_WORKLOADS_FOR_PARTNERS", "ISR_REGIONS", "ISR_REGIONS_AND_SUPPORT", - "CA_PROTECTED_B" + "CA_PROTECTED_B", + "IL5" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -583,7 +584,8 @@ "Assured Workloads for Partners;", "Assured Workloads for Israel", "Assured Workloads for Israel Regions", - "Assured Workloads for Canada Protected B regime" + "Assured Workloads for Canada Protected B regime", + "Information protection as per DoD IL5 requirements." ], "type": "string" }, @@ -737,11 +739,6 @@ "readOnly": true, "type": "string" }, - "orgPolicyConstraint": { - "description": "Output only. Immutable. The org-policy-constraint that was incorrectly changed, which resulted in this violation.", - "readOnly": true, - "type": "string" - }, "remediation": { "$ref": "GoogleCloudAssuredworkloadsV1ViolationRemediation", "description": "Output only. Compliance violation remediation", @@ -913,7 +910,8 @@ "ASSURED_WORKLOADS_FOR_PARTNERS", "ISR_REGIONS", "ISR_REGIONS_AND_SUPPORT", - "CA_PROTECTED_B" + "CA_PROTECTED_B", + "IL5" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -931,7 +929,8 @@ "Assured Workloads for Partners;", "Assured Workloads for Israel", "Assured Workloads for Israel Regions", - "Assured Workloads for Canada Protected B regime" + "Assured Workloads for Canada Protected B regime", + "Information protection as per DoD IL5 requirements." ], "type": "string" }, diff --git a/assuredworkloads/v1/assuredworkloads-gen.go b/assuredworkloads/v1/assuredworkloads-gen.go index d1079b27f38..411fc629db3 100644 --- a/assuredworkloads/v1/assuredworkloads-gen.go +++ b/assuredworkloads/v1/assuredworkloads-gen.go @@ -271,6 +271,7 @@ type GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata struct { // "ISR_REGIONS" - Assured Workloads for Israel // "ISR_REGIONS_AND_SUPPORT" - Assured Workloads for Israel Regions // "CA_PROTECTED_B" - Assured Workloads for Canada Protected B regime + // "IL5" - Information protection as per DoD IL5 requirements. ComplianceRegime string `json:"complianceRegime,omitempty"` // CreateTime: Optional. Time when the operation was created. @@ -519,11 +520,6 @@ type GoogleCloudAssuredworkloadsV1Violation struct { // organizations/{organization_id}/policies/{constraint_name} NonCompliantOrgPolicy string `json:"nonCompliantOrgPolicy,omitempty"` - // OrgPolicyConstraint: Output only. Immutable. The - // org-policy-constraint that was incorrectly changed, which resulted in - // this violation. - OrgPolicyConstraint string `json:"orgPolicyConstraint,omitempty"` - // Remediation: Output only. Compliance violation remediation Remediation *GoogleCloudAssuredworkloadsV1ViolationRemediation `json:"remediation,omitempty"` @@ -772,6 +768,7 @@ type GoogleCloudAssuredworkloadsV1Workload struct { // "ISR_REGIONS" - Assured Workloads for Israel // "ISR_REGIONS_AND_SUPPORT" - Assured Workloads for Israel Regions // "CA_PROTECTED_B" - Assured Workloads for Canada Protected B regime + // "IL5" - Information protection as per DoD IL5 requirements. ComplianceRegime string `json:"complianceRegime,omitempty"` // ComplianceStatus: Output only. Count of active Violations in the diff --git a/assuredworkloads/v1beta1/assuredworkloads-api.json b/assuredworkloads/v1beta1/assuredworkloads-api.json index ba1fc28d470..b9b4c49ff31 100644 --- a/assuredworkloads/v1beta1/assuredworkloads-api.json +++ b/assuredworkloads/v1beta1/assuredworkloads-api.json @@ -595,7 +595,7 @@ } } }, - "revision": "20230612", + "revision": "20230623", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1beta1AcknowledgeViolationRequest": { @@ -655,7 +655,8 @@ "ASSURED_WORKLOADS_FOR_PARTNERS", "ISR_REGIONS", "ISR_REGIONS_AND_SUPPORT", - "CA_PROTECTED_B" + "CA_PROTECTED_B", + "IL5" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -673,7 +674,8 @@ "Assured Workloads for Partners;", "Assured Workloads for Israel", "Assured Workloads for Israel Regions", - "Assured Workloads for Canada Protected B regime" + "Assured Workloads for Canada Protected B regime", + "Information protection as per DoD IL5 requirements." ], "type": "string" }, @@ -814,11 +816,6 @@ "readOnly": true, "type": "string" }, - "orgPolicyConstraint": { - "description": "Output only. Immutable. The org-policy-constraint that was incorrectly changed, which resulted in this violation.", - "readOnly": true, - "type": "string" - }, "remediation": { "$ref": "GoogleCloudAssuredworkloadsV1beta1ViolationRemediation", "description": "Output only. Compliance violation remediation", @@ -994,7 +991,8 @@ "ASSURED_WORKLOADS_FOR_PARTNERS", "ISR_REGIONS", "ISR_REGIONS_AND_SUPPORT", - "CA_PROTECTED_B" + "CA_PROTECTED_B", + "IL5" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -1012,7 +1010,8 @@ "Assured Workloads for Partners;", "Assured Workloads for Israel", "Assured Workloads for Israel Regions", - "Assured Workloads for Canada Protected B regime" + "Assured Workloads for Canada Protected B regime", + "Information protection as per DoD IL5 requirements." ], "type": "string" }, diff --git a/assuredworkloads/v1beta1/assuredworkloads-gen.go b/assuredworkloads/v1beta1/assuredworkloads-gen.go index 695f0a6e1aa..7b507df5d6a 100644 --- a/assuredworkloads/v1beta1/assuredworkloads-gen.go +++ b/assuredworkloads/v1beta1/assuredworkloads-gen.go @@ -391,6 +391,7 @@ type GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata struct { // "ISR_REGIONS" - Assured Workloads for Israel // "ISR_REGIONS_AND_SUPPORT" - Assured Workloads for Israel Regions // "CA_PROTECTED_B" - Assured Workloads for Canada Protected B regime + // "IL5" - Information protection as per DoD IL5 requirements. ComplianceRegime string `json:"complianceRegime,omitempty"` // CreateTime: Optional. Time when the operation was created. @@ -607,11 +608,6 @@ type GoogleCloudAssuredworkloadsV1beta1Violation struct { // organizations/{organization_id}/policies/{constraint_name} NonCompliantOrgPolicy string `json:"nonCompliantOrgPolicy,omitempty"` - // OrgPolicyConstraint: Output only. Immutable. The - // org-policy-constraint that was incorrectly changed, which resulted in - // this violation. - OrgPolicyConstraint string `json:"orgPolicyConstraint,omitempty"` - // Remediation: Output only. Compliance violation remediation Remediation *GoogleCloudAssuredworkloadsV1beta1ViolationRemediation `json:"remediation,omitempty"` @@ -864,6 +860,7 @@ type GoogleCloudAssuredworkloadsV1beta1Workload struct { // "ISR_REGIONS" - Assured Workloads for Israel // "ISR_REGIONS_AND_SUPPORT" - Assured Workloads for Israel Regions // "CA_PROTECTED_B" - Assured Workloads for Canada Protected B regime + // "IL5" - Information protection as per DoD IL5 requirements. ComplianceRegime string `json:"complianceRegime,omitempty"` // ComplianceStatus: Output only. Count of active Violations in the diff --git a/billingbudgets/v1/billingbudgets-api.json b/billingbudgets/v1/billingbudgets-api.json index d4d42bea485..a5c060f1012 100644 --- a/billingbudgets/v1/billingbudgets-api.json +++ b/billingbudgets/v1/billingbudgets-api.json @@ -270,7 +270,7 @@ } } }, - "revision": "20230529", + "revision": "20230624", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1Budget": { @@ -407,7 +407,7 @@ "type": "array" }, "resourceAncestors": { - "description": "Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the report includes all usage for all organizations, regardless of which organization the usage occurred on.", + "description": "Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects.", "items": { "type": "string" }, diff --git a/billingbudgets/v1/billingbudgets-gen.go b/billingbudgets/v1/billingbudgets-gen.go index d4d87884adf..4ebb16d317c 100644 --- a/billingbudgets/v1/billingbudgets-gen.go +++ b/billingbudgets/v1/billingbudgets-gen.go @@ -376,9 +376,10 @@ type GoogleCloudBillingBudgetsV1Filter struct { // ResourceAncestors: Optional. A set of folder and organization names // of the form `folders/{folderId}` or `organizations/{organizationId}`, // specifying that usage from only this set of folders and organizations - // should be included in the budget. If omitted, the report includes all - // usage for all organizations, regardless of which organization the - // usage occurred on. + // should be included in the budget. If omitted, the budget includes all + // usage that the billing account pays for. If the folder or + // organization contains projects that are paid for by a different Cloud + // Billing account, the budget *doesn't* apply to those projects. ResourceAncestors []string `json:"resourceAncestors,omitempty"` // Services: Optional. A set of services of the form diff --git a/billingbudgets/v1beta1/billingbudgets-api.json b/billingbudgets/v1beta1/billingbudgets-api.json index cc884f9663c..e9dc077dd1b 100644 --- a/billingbudgets/v1beta1/billingbudgets-api.json +++ b/billingbudgets/v1beta1/billingbudgets-api.json @@ -264,7 +264,7 @@ } } }, - "revision": "20230529", + "revision": "20230624", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { @@ -438,7 +438,7 @@ "type": "array" }, "resourceAncestors": { - "description": "Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the report includes all usage for all organizations, regardless of which organization the usage occurred on.", + "description": "Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects.", "items": { "type": "string" }, diff --git a/billingbudgets/v1beta1/billingbudgets-gen.go b/billingbudgets/v1beta1/billingbudgets-gen.go index 1e651807350..cdfc53af3ca 100644 --- a/billingbudgets/v1beta1/billingbudgets-gen.go +++ b/billingbudgets/v1beta1/billingbudgets-gen.go @@ -472,9 +472,10 @@ type GoogleCloudBillingBudgetsV1beta1Filter struct { // ResourceAncestors: Optional. A set of folder and organization names // of the form `folders/{folderId}` or `organizations/{organizationId}`, // specifying that usage from only this set of folders and organizations - // should be included in the budget. If omitted, the report includes all - // usage for all organizations, regardless of which organization the - // usage occurred on. + // should be included in the budget. If omitted, the budget includes all + // usage that the billing account pays for. If the folder or + // organization contains projects that are paid for by a different Cloud + // Billing account, the budget *doesn't* apply to those projects. ResourceAncestors []string `json:"resourceAncestors,omitempty"` // Services: Optional. A set of services of the form diff --git a/calendar/v3/calendar-api.json b/calendar/v3/calendar-api.json index d24359db8c1..0c084378a4b 100644 --- a/calendar/v3/calendar-api.json +++ b/calendar/v3/calendar-api.json @@ -1735,7 +1735,7 @@ } } }, - "revision": "20230616", + "revision": "20230623", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2626,7 +2626,7 @@ }, "workingLocationProperties": { "$ref": "EventWorkingLocationProperties", - "description": "Working Location event data. Read-only. Developer Preview." + "description": "Working Location event data. Developer Preview." } }, "type": "object" diff --git a/calendar/v3/calendar-gen.go b/calendar/v3/calendar-gen.go index 2fcb4e0f5d6..65d413c097a 100644 --- a/calendar/v3/calendar-gen.go +++ b/calendar/v3/calendar-gen.go @@ -1548,8 +1548,8 @@ type Event struct { // compatibility reasons. Visibility string `json:"visibility,omitempty"` - // WorkingLocationProperties: Working Location event data. Read-only. - // Developer Preview. + // WorkingLocationProperties: Working Location event data. Developer + // Preview. WorkingLocationProperties *EventWorkingLocationProperties `json:"workingLocationProperties,omitempty"` // ServerResponse contains the HTTP response code and headers from the diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index 9184c39fa81..494e60c8d7b 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -42015,7 +42015,7 @@ } } }, - "revision": "20230610", + "revision": "20230620", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -45175,7 +45175,7 @@ "type": "array" }, "serviceLbPolicy": { - "description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED. If used with a backend service, must reference a global policy. If used with a regional backend service, must reference a regional policy.", + "description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", "type": "string" }, "sessionAffinity": { @@ -50121,7 +50121,7 @@ "type": "boolean" }, "allowGlobalAccess": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.", + "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", "type": "boolean" }, "allowPscGlobalAccess": { @@ -51606,6 +51606,7 @@ "BARE_METAL_LINUX_COMPATIBLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", + "IDPF", "MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", @@ -51628,6 +51629,7 @@ "", "", "", + "", "" ], "type": "string" @@ -55165,6 +55167,11 @@ "format": "int32", "type": "integer" }, + "creatingInBulk": { + "description": "[Output Only] The number of instances that the managed instance group will attempt to create in bulk. If the desired count of instances cannot be created, entire batch will be deleted and the group will decrease its targetSize value accordingly.", + "format": "int32", + "type": "integer" + }, "creatingWithoutRetries": { "description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", "format": "int32", @@ -56161,6 +56168,13 @@ "InstanceGroupManagersDeleteInstancesRequest": { "id": "InstanceGroupManagersDeleteInstancesRequest", "properties": { + "instanceNames": { + "description": "The list of instance names to delete. Queued instances do not have URL and can be deleted only by name. You cannot specify both URLs and names in a single request.", + "items": { + "type": "string" + }, + "type": "array" + }, "instances": { "description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", "items": { @@ -57149,6 +57163,7 @@ "ABANDONING", "CREATING", "CREATING_ATOMICALLY", + "CREATING_IN_BULK", "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", @@ -57166,6 +57181,7 @@ "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", "The managed instance group is creating this instance atomically.", + "The managed instance group is creating this instance in bulk.", "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", @@ -62399,6 +62415,7 @@ "ABANDONING", "CREATING", "CREATING_ATOMICALLY", + "CREATING_IN_BULK", "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", @@ -62416,6 +62433,7 @@ "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", "The managed instance group is creating this instance atomically.", + "The managed instance group is creating this instance in bulk.", "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", @@ -69536,7 +69554,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The IPv4 address range, in CIDR format, represented by this public delegated prefix.", + "description": "The IP address range, in CIDR format, represented by this public delegated prefix.", "type": "string" }, "isLiveMigration": { @@ -69867,7 +69885,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The IPv4 address range, in CIDR format, represented by this sub public delegated prefix.", + "description": "The IP address range, in CIDR format, represented by this sub public delegated prefix.", "type": "string" }, "isAddress": { diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 7fa29bdd18e..3ccbaf5b52c 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -6403,10 +6403,8 @@ type BackendService struct { ServiceBindings []string `json:"serviceBindings,omitempty"` // ServiceLbPolicy: URL to networkservices.ServiceLbPolicy resource. Can - // only be set if load balancing scheme is EXTERNAL, INTERNAL_MANAGED or - // INTERNAL_SELF_MANAGED. If used with a backend service, must reference - // a global policy. If used with a regional backend service, must - // reference a regional policy. + // only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, + // INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global. ServiceLbPolicy string `json:"serviceLbPolicy,omitempty"` // SessionAffinity: Type of session affinity to use. The default is @@ -14406,9 +14404,12 @@ type ForwardingRule struct { // AllowGlobalAccess: This field is used along with the backend_service // field for internal load balancing or with the target field for - // internal TargetInstance. If the field is set to TRUE, clients can - // access ILB from all regions. Otherwise only allows access from - // clients in the same region as the internal load balancer. + // internal TargetInstance. If set to true, clients can access the + // Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load + // Balancer from all regions. If false, only allows access from the + // local region the load balancer is located at. Note that for + // INTERNAL_MANAGED forwarding rules, this field cannot be changed after + // the forwarding rule is created. AllowGlobalAccess bool `json:"allowGlobalAccess,omitempty"` // AllowPscGlobalAccess: This is used in PSC consumer ForwardingRule to @@ -16793,6 +16794,7 @@ type GuestOsFeature struct { // "BARE_METAL_LINUX_COMPATIBLE" // "FEATURE_TYPE_UNSPECIFIED" // "GVNIC" + // "IDPF" // "MULTI_IP_SUBNET" // "SECURE_BOOT" // "SEV_CAPABLE" @@ -22260,6 +22262,12 @@ type InstanceGroupManagerActionsSummary struct { // value accordingly. CreatingAtomically int64 `json:"creatingAtomically,omitempty"` + // CreatingInBulk: [Output Only] The number of instances that the + // managed instance group will attempt to create in bulk. If the desired + // count of instances cannot be created, entire batch will be deleted + // and the group will decrease its targetSize value accordingly. + CreatingInBulk int64 `json:"creatingInBulk,omitempty"` + // CreatingWithoutRetries: [Output Only] The number of instances that // the managed instance group will attempt to create. The group attempts // to create each instance only once. If the group fails to create any @@ -23998,6 +24006,11 @@ func (s *InstanceGroupManagersCreateInstancesRequest) MarshalJSON() ([]byte, err } type InstanceGroupManagersDeleteInstancesRequest struct { + // InstanceNames: The list of instance names to delete. Queued instances + // do not have URL and can be deleted only by name. You cannot specify + // both URLs and names in a single request. + InstanceNames []string `json:"instanceNames,omitempty"` + // Instances: The URLs of one or more instances to delete. This can be a // full URL or a partial URL, such as // zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have @@ -24015,7 +24028,7 @@ type InstanceGroupManagersDeleteInstancesRequest struct { // zone or region. SkipInstancesOnValidationError bool `json:"skipInstancesOnValidationError,omitempty"` - // ForceSendFields is a list of field names (e.g. "Instances") to + // ForceSendFields is a list of field names (e.g. "InstanceNames") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -24023,10 +24036,10 @@ type InstanceGroupManagersDeleteInstancesRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Instances") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "InstanceNames") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -25795,6 +25808,8 @@ type InstanceManagedByIgmErrorInstanceActionDetails struct { // it is successful. // "CREATING_ATOMICALLY" - The managed instance group is creating this // instance atomically. + // "CREATING_IN_BULK" - The managed instance group is creating this + // instance in bulk. // "CREATING_WITHOUT_RETRIES" - The managed instance group is // attempting to create this instance only once. If the group fails to // create this instance, it does not try again and the group's @@ -33921,6 +33936,8 @@ type ManagedInstance struct { // it is successful. // "CREATING_ATOMICALLY" - The managed instance group is creating this // instance atomically. + // "CREATING_IN_BULK" - The managed instance group is creating this + // instance in bulk. // "CREATING_WITHOUT_RETRIES" - The managed instance group is // attempting to create this instance only once. If the group fails to // create this instance, it does not try again and the group's @@ -45071,7 +45088,7 @@ type PublicDelegatedPrefix struct { // server generates this identifier. Id uint64 `json:"id,omitempty,string"` - // IpCidrRange: The IPv4 address range, in CIDR format, represented by + // IpCidrRange: The IP address range, in CIDR format, represented by // this public delegated prefix. IpCidrRange string `json:"ipCidrRange,omitempty"` @@ -45560,7 +45577,7 @@ type PublicDelegatedPrefixPublicDelegatedSubPrefix struct { // property when you create the resource. Description string `json:"description,omitempty"` - // IpCidrRange: The IPv4 address range, in CIDR format, represented by + // IpCidrRange: The IP address range, in CIDR format, represented by // this sub public delegated prefix. IpCidrRange string `json:"ipCidrRange,omitempty"` diff --git a/dataproc/v1/dataproc-api.json b/dataproc/v1/dataproc-api.json index 02e7ab03e14..679fc02c292 100644 --- a/dataproc/v1/dataproc-api.json +++ b/dataproc/v1/dataproc-api.json @@ -2671,7 +2671,7 @@ } } }, - "revision": "20230508", + "revision": "20230622", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3548,7 +3548,7 @@ "id": "ExecutionConfig", "properties": { "idleTtl": { - "description": "Optional. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 4 hours if not set. If both ttl and idle_ttl are specified, the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceed, whichever occurs first.", + "description": "Optional. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 4 hours if not set. If both ttl and idle_ttl are specified for an interactive session, the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first.", "format": "google-duration", "type": "string" }, @@ -3580,7 +3580,7 @@ "type": "string" }, "ttl": { - "description": "Optional. The duration after which the workload will be terminated. When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If ttl is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or runs forever without exiting). If ttl is not specified for an interactive session, it defaults to 24h. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). If both ttl and idle_ttl are specified (for an interactive session), the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first.", + "description": "Optional. The duration after which the workload will be terminated. When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If ttl is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or runs forever without exiting). If ttl is not specified for an interactive session, it defaults to 24h. If ttl is not specified for a batch that uses 2.1+ runtime version, it defaults to 4h. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). If both ttl and idle_ttl are specified (for an interactive session), the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first.", "format": "google-duration", "type": "string" } @@ -4569,10 +4569,11 @@ "id": "ListBatchesResponse", "properties": { "batches": { - "description": "The batches from the specified collection.", + "description": "Output only. The batches from the specified collection.", "items": { "$ref": "Batch" }, + "readOnly": true, "type": "array" }, "nextPageToken": { diff --git a/dataproc/v1/dataproc-gen.go b/dataproc/v1/dataproc-gen.go index c8a8f627c72..3158504ca59 100644 --- a/dataproc/v1/dataproc-gen.go +++ b/dataproc/v1/dataproc-gen.go @@ -1692,9 +1692,9 @@ type ExecutionConfig struct { // Duration // (https://developers.google.com/protocol-buffers/docs/proto3#json)). // Defaults to 4 hours if not set. If both ttl and idle_ttl are - // specified, the conditions are treated as OR conditions: the workload - // will be terminated when it has been idle for idle_ttl or when ttl has - // been exceed, whichever occurs first. + // specified for an interactive session, the conditions are treated as + // OR conditions: the workload will be terminated when it has been idle + // for idle_ttl or when ttl has been exceeded, whichever occurs first. IdleTtl string `json:"idleTtl,omitempty"` // KmsKey: Optional. The Cloud KMS key to use for encryption. @@ -1729,8 +1729,9 @@ type ExecutionConfig struct { // finish. If ttl is not specified for a batch workload, the workload // will be allowed to run until it exits naturally (or runs forever // without exiting). If ttl is not specified for an interactive session, - // it defaults to 24h. Minimum value is 10 minutes; maximum value is 14 - // days (see JSON representation of Duration + // it defaults to 24h. If ttl is not specified for a batch that uses + // 2.1+ runtime version, it defaults to 4h. Minimum value is 10 minutes; + // maximum value is 14 days (see JSON representation of Duration // (https://developers.google.com/protocol-buffers/docs/proto3#json)). // If both ttl and idle_ttl are specified (for an interactive session), // the conditions are treated as OR conditions: the workload will be @@ -3409,7 +3410,7 @@ func (s *ListAutoscalingPoliciesResponse) MarshalJSON() ([]byte, error) { // ListBatchesResponse: A list of batch workloads. type ListBatchesResponse struct { - // Batches: The batches from the specified collection. + // Batches: Output only. The batches from the specified collection. Batches []*Batch `json:"batches,omitempty"` // NextPageToken: A token, which can be sent as page_token to retrieve diff --git a/dialogflow/v2beta1/dialogflow-api.json b/dialogflow/v2beta1/dialogflow-api.json index 5eaaaac2dd4..4a619421fd0 100644 --- a/dialogflow/v2beta1/dialogflow-api.json +++ b/dialogflow/v2beta1/dialogflow-api.json @@ -7579,7 +7579,7 @@ } } }, - "revision": "20230621", + "revision": "20230626", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { @@ -15428,7 +15428,7 @@ "description": "Configs for processing conversation." }, "enableEventBasedSuggestion": { - "description": "Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.", + "description": "Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST, ENTITY_EXTRACTION.", "type": "boolean" }, "queryConfig": { @@ -15461,7 +15461,7 @@ }, "dialogflowQuerySource": { "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource", - "description": "Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST." + "description": "Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST, ENTITY_EXTRACTION." }, "documentQuerySource": { "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource", @@ -15499,7 +15499,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource": { - "description": "Dialogflow source setting. Supported feature: DIALOGFLOW_ASSIST.", + "description": "Dialogflow source setting. Supported feature: DIALOGFLOW_ASSIST, ENTITY_EXTRACTION.", "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource", "properties": { "agent": { diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go index 42ef00b3091..0d82bb2b89a 100644 --- a/dialogflow/v2beta1/dialogflow-gen.go +++ b/dialogflow/v2beta1/dialogflow-gen.go @@ -14892,7 +14892,7 @@ type GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionFeatureConfi // EnableEventBasedSuggestion: Automatically iterates all participants // and tries to compile suggestions. Supported features: - // ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST. + // ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST, ENTITY_EXTRACTION. EnableEventBasedSuggestion bool `json:"enableEventBasedSuggestion,omitempty"` // QueryConfig: Configs of query. @@ -14955,7 +14955,7 @@ type GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfig ContextFilterSettings *GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings `json:"contextFilterSettings,omitempty"` // DialogflowQuerySource: Query from Dialogflow agent. It is used by - // DIALOGFLOW_ASSIST. + // DIALOGFLOW_ASSIST, ENTITY_EXTRACTION. DialogflowQuerySource *GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource `json:"dialogflowQuerySource,omitempty"` // DocumentQuerySource: Query from knowledge base document. It is used @@ -15051,7 +15051,7 @@ func (s *GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryCon // GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryCo // nfigDialogflowQuerySource: Dialogflow source setting. Supported -// feature: DIALOGFLOW_ASSIST. +// feature: DIALOGFLOW_ASSIST, ENTITY_EXTRACTION. type GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource struct { // Agent: Required. The name of a dialogflow virtual agent used for end // user side intent detection and suggestion. Format: diff --git a/dialogflow/v3beta1/dialogflow-api.json b/dialogflow/v3beta1/dialogflow-api.json index 85fd5dc1ee8..b9cd210bba5 100644 --- a/dialogflow/v3beta1/dialogflow-api.json +++ b/dialogflow/v3beta1/dialogflow-api.json @@ -3253,7 +3253,7 @@ ] }, "list": { - "description": "Fetches a list of results for a given test case.", + "description": "Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case.", "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results", "httpMethod": "GET", "id": "dialogflow.projects.locations.agents.testCases.results.list", @@ -3820,7 +3820,7 @@ } } }, - "revision": "20230621", + "revision": "20230626", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { diff --git a/dialogflow/v3beta1/dialogflow-gen.go b/dialogflow/v3beta1/dialogflow-gen.go index 0065c949ddf..7cd3e62b0ae 100644 --- a/dialogflow/v3beta1/dialogflow-gen.go +++ b/dialogflow/v3beta1/dialogflow-gen.go @@ -35853,7 +35853,8 @@ type ProjectsLocationsAgentsTestCasesResultsListCall struct { header_ http.Header } -// List: Fetches a list of results for a given test case. +// List: Fetches the list of run results for the given test case. A +// maximum of 100 results are kept for each test case. // // - parent: The test case to list results for. Format: // `projects//locations//agents// testCases/`. Specify a `-` as a @@ -36000,7 +36001,7 @@ func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Do(opts ...googleapi.C } return ret, nil // { - // "description": "Fetches a list of results for a given test case.", + // "description": "Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case.", // "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results", // "httpMethod": "GET", // "id": "dialogflow.projects.locations.agents.testCases.results.list", diff --git a/dlp/v2/dlp-api.json b/dlp/v2/dlp-api.json index ee692699121..5dd3b2eedde 100644 --- a/dlp/v2/dlp-api.json +++ b/dlp/v2/dlp-api.json @@ -3412,7 +3412,7 @@ } } }, - "revision": "20230618", + "revision": "20230625", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -3896,12 +3896,12 @@ "id": "GooglePrivacyDlpV2CloudStorageOptions", "properties": { "bytesLimitPerFile": { - "description": "Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested.", + "description": "Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of `bytes_limit_per_file` and `bytes_limit_per_file_percent` can be specified. This field can't be set if de-identification is requested. For certain file types, setting this field has no effect. For more information, see [Limits on bytes scanned per file](https://cloud.google.com/dlp/docs/supported-file-types#max-byte-size-per-file).", "format": "int64", "type": "string" }, "bytesLimitPerFilePercent": { - "description": "Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested.", + "description": "Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. This field can't be set if de-identification is requested. For certain file types, setting this field has no effect. For more information, see [Limits on bytes scanned per file](https://cloud.google.com/dlp/docs/supported-file-types#max-byte-size-per-file).", "format": "int32", "type": "integer" }, @@ -3927,16 +3927,16 @@ ], "enumDescriptions": [ "Includes all files.", - "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other FileType's in your storage scan.", + "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other file types in your storage scan.", "Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml.", - "Included file extensions: bmp, gif, jpg, jpeg, jpe, png. bytes_limit_per_file has no effect on image files. Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.", - "Word files \u003e30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm", - "PDF files \u003e30 MB will be scanned as binary files. Included file extensions: pdf", + "Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.", + "Microsoft Word files larger than 30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Word files.", + "PDF files larger than 30 MB will be scanned as binary files. Included file extensions: pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PDF files.", "Included file extensions: avro", "Included file extensions: csv", "Included file extensions: tsv", - "Powerpoint files \u003e30 MB will be scanned as binary files. Included file extensions: pptx, pptm, potx, potm, pot", - "Excel files \u003e30 MB will be scanned as binary files. Included file extensions: xlsx, xlsm, xltx, xltm" + "Microsoft PowerPoint files larger than 30 MB will be scanned as binary files. Included file extensions: pptx, pptm, potx, potm, pot. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PowerPoint files.", + "Microsoft Excel files larger than 30 MB will be scanned as binary files. Included file extensions: xlsx, xlsm, xltx, xltm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Excel files." ], "type": "string" }, @@ -4872,16 +4872,16 @@ ], "enumDescriptions": [ "Includes all files.", - "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other FileType's in your storage scan.", + "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other file types in your storage scan.", "Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml.", - "Included file extensions: bmp, gif, jpg, jpeg, jpe, png. bytes_limit_per_file has no effect on image files. Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.", - "Word files \u003e30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm", - "PDF files \u003e30 MB will be scanned as binary files. Included file extensions: pdf", + "Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.", + "Microsoft Word files larger than 30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Word files.", + "PDF files larger than 30 MB will be scanned as binary files. Included file extensions: pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PDF files.", "Included file extensions: avro", "Included file extensions: csv", "Included file extensions: tsv", - "Powerpoint files \u003e30 MB will be scanned as binary files. Included file extensions: pptx, pptm, potx, potm, pot", - "Excel files \u003e30 MB will be scanned as binary files. Included file extensions: xlsx, xlsm, xltx, xltm" + "Microsoft PowerPoint files larger than 30 MB will be scanned as binary files. Included file extensions: pptx, pptm, potx, potm, pot. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PowerPoint files.", + "Microsoft Excel files larger than 30 MB will be scanned as binary files. Included file extensions: xlsx, xlsm, xltx, xltm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Excel files." ], "type": "string" }, diff --git a/dlp/v2/dlp-gen.go b/dlp/v2/dlp-gen.go index b605afe263d..1eccc5adc27 100644 --- a/dlp/v2/dlp-gen.go +++ b/dlp/v2/dlp-gen.go @@ -1269,17 +1269,23 @@ func (s *GooglePrivacyDlpV2CloudStorageFileSet) MarshalJSON() ([]byte, error) { type GooglePrivacyDlpV2CloudStorageOptions struct { // BytesLimitPerFile: Max number of bytes to scan from a file. If a // scanned file's size is bigger than this value then the rest of the - // bytes are omitted. Only one of bytes_limit_per_file and - // bytes_limit_per_file_percent can be specified. Cannot be set if - // de-identification is requested. + // bytes are omitted. Only one of `bytes_limit_per_file` and + // `bytes_limit_per_file_percent` can be specified. This field can't be + // set if de-identification is requested. For certain file types, + // setting this field has no effect. For more information, see Limits on + // bytes scanned per file + // (https://cloud.google.com/dlp/docs/supported-file-types#max-byte-size-per-file). BytesLimitPerFile int64 `json:"bytesLimitPerFile,omitempty,string"` // BytesLimitPerFilePercent: Max percentage of bytes to scan from a // file. The rest are omitted. The number of bytes scanned is rounded // down. Must be between 0 and 100, inclusively. Both 0 and 100 means no // limit. Defaults to 0. Only one of bytes_limit_per_file and - // bytes_limit_per_file_percent can be specified. Cannot be set if - // de-identification is requested. + // bytes_limit_per_file_percent can be specified. This field can't be + // set if de-identification is requested. For certain file types, + // setting this field has no effect. For more information, see Limits on + // bytes scanned per file + // (https://cloud.google.com/dlp/docs/supported-file-types#max-byte-size-per-file). BytesLimitPerFilePercent int64 `json:"bytesLimitPerFilePercent,omitempty"` // FileSet: The set of one or more files to scan. @@ -1298,7 +1304,7 @@ type GooglePrivacyDlpV2CloudStorageOptions struct { // "BINARY_FILE" - Includes all file extensions not covered by another // entry. Binary scanning attempts to convert the content of the file to // utf_8 to scan the file. If you wish to avoid this fall back, specify - // one or more of the other FileType's in your storage scan. + // one or more of the other file types in your storage scan. // "TEXT_FILE" - Included file extensions: asc,asp, aspx, brf, c, // cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, // epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, @@ -1307,19 +1313,27 @@ type GooglePrivacyDlpV2CloudStorageOptions struct { // xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, txt, text, // tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml. // "IMAGE" - Included file extensions: bmp, gif, jpg, jpeg, jpe, png. - // bytes_limit_per_file has no effect on image files. Image inspection - // is restricted to 'global', 'us', 'asia', and 'europe'. - // "WORD" - Word files >30 MB will be scanned as binary files. - // Included file extensions: docx, dotx, docm, dotm - // "PDF" - PDF files >30 MB will be scanned as binary files. Included - // file extensions: pdf + // Setting bytes_limit_per_file or bytes_limit_per_file_percent has no + // effect on image files. Image inspection is restricted to the + // `global`, `us`, `asia`, and `europe` regions. + // "WORD" - Microsoft Word files larger than 30 MB will be scanned as + // binary files. Included file extensions: docx, dotx, docm, dotm. + // Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has + // no effect on Word files. + // "PDF" - PDF files larger than 30 MB will be scanned as binary + // files. Included file extensions: pdf. Setting `bytes_limit_per_file` + // or `bytes_limit_per_file_percent` has no effect on PDF files. // "AVRO" - Included file extensions: avro // "CSV" - Included file extensions: csv // "TSV" - Included file extensions: tsv - // "POWERPOINT" - Powerpoint files >30 MB will be scanned as binary - // files. Included file extensions: pptx, pptm, potx, potm, pot - // "EXCEL" - Excel files >30 MB will be scanned as binary files. - // Included file extensions: xlsx, xlsm, xltx, xltm + // "POWERPOINT" - Microsoft PowerPoint files larger than 30 MB will be + // scanned as binary files. Included file extensions: pptx, pptm, potx, + // potm, pot. Setting `bytes_limit_per_file` or + // `bytes_limit_per_file_percent` has no effect on PowerPoint files. + // "EXCEL" - Microsoft Excel files larger than 30 MB will be scanned + // as binary files. Included file extensions: xlsx, xlsm, xltx, xltm. + // Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has + // no effect on Excel files. FileTypes []string `json:"fileTypes,omitempty"` // FilesLimitPercent: Limits the number of files to scan to this @@ -2963,7 +2977,7 @@ type GooglePrivacyDlpV2Deidentify struct { // "BINARY_FILE" - Includes all file extensions not covered by another // entry. Binary scanning attempts to convert the content of the file to // utf_8 to scan the file. If you wish to avoid this fall back, specify - // one or more of the other FileType's in your storage scan. + // one or more of the other file types in your storage scan. // "TEXT_FILE" - Included file extensions: asc,asp, aspx, brf, c, // cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, // epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, @@ -2972,19 +2986,27 @@ type GooglePrivacyDlpV2Deidentify struct { // xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, txt, text, // tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml. // "IMAGE" - Included file extensions: bmp, gif, jpg, jpeg, jpe, png. - // bytes_limit_per_file has no effect on image files. Image inspection - // is restricted to 'global', 'us', 'asia', and 'europe'. - // "WORD" - Word files >30 MB will be scanned as binary files. - // Included file extensions: docx, dotx, docm, dotm - // "PDF" - PDF files >30 MB will be scanned as binary files. Included - // file extensions: pdf + // Setting bytes_limit_per_file or bytes_limit_per_file_percent has no + // effect on image files. Image inspection is restricted to the + // `global`, `us`, `asia`, and `europe` regions. + // "WORD" - Microsoft Word files larger than 30 MB will be scanned as + // binary files. Included file extensions: docx, dotx, docm, dotm. + // Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has + // no effect on Word files. + // "PDF" - PDF files larger than 30 MB will be scanned as binary + // files. Included file extensions: pdf. Setting `bytes_limit_per_file` + // or `bytes_limit_per_file_percent` has no effect on PDF files. // "AVRO" - Included file extensions: avro // "CSV" - Included file extensions: csv // "TSV" - Included file extensions: tsv - // "POWERPOINT" - Powerpoint files >30 MB will be scanned as binary - // files. Included file extensions: pptx, pptm, potx, potm, pot - // "EXCEL" - Excel files >30 MB will be scanned as binary files. - // Included file extensions: xlsx, xlsm, xltx, xltm + // "POWERPOINT" - Microsoft PowerPoint files larger than 30 MB will be + // scanned as binary files. Included file extensions: pptx, pptm, potx, + // potm, pot. Setting `bytes_limit_per_file` or + // `bytes_limit_per_file_percent` has no effect on PowerPoint files. + // "EXCEL" - Microsoft Excel files larger than 30 MB will be scanned + // as binary files. Included file extensions: xlsx, xlsm, xltx, xltm. + // Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has + // no effect on Excel files. FileTypesToTransform []string `json:"fileTypesToTransform,omitempty"` // TransformationConfig: User specified deidentify templates and configs diff --git a/fcm/v1/fcm-api.json b/fcm/v1/fcm-api.json index b047b2a39e3..d50f30daac0 100644 --- a/fcm/v1/fcm-api.json +++ b/fcm/v1/fcm-api.json @@ -146,7 +146,7 @@ } } }, - "revision": "20230612", + "revision": "20230626", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { @@ -231,6 +231,7 @@ "type": "string" }, "bypassProxyNotification": { + "deprecated": true, "description": "If set, display notifications delivered to the device will be handled by the app instead of the proxy.", "type": "boolean" }, diff --git a/gmail/v1/gmail-api.json b/gmail/v1/gmail-api.json index e633895b74b..7ba567ed533 100644 --- a/gmail/v1/gmail-api.json +++ b/gmail/v1/gmail-api.json @@ -3077,7 +3077,7 @@ } } }, - "revision": "20230612", + "revision": "20230626", "rootUrl": "https://gmail.googleapis.com/", "schemas": { "AutoForwarding": { @@ -4348,7 +4348,7 @@ "id": "WatchRequest", "properties": { "labelFilterAction": { - "description": "Filtering behavior of labelIds list specified.", + "description": "Filtering behavior of `labelIds list` specified. This field is deprecated because it caused incorrect behavior in some cases; use `label_filter_behavior` instead.", "enum": [ "include", "exclude" @@ -4360,7 +4360,7 @@ "type": "string" }, "labelFilterBehavior": { - "description": "Filtering behavior of labelIds list specified. This field replaces label_filter_action; if set, label_filter_action is ignored.", + "description": "Filtering behavior of `labelIds list` specified. This field replaces `label_filter_action`; if set, `label_filter_action` is ignored.", "enum": [ "include", "exclude" diff --git a/gmail/v1/gmail-gen.go b/gmail/v1/gmail-gen.go index dc2ced596dc..9ec62f9211a 100644 --- a/gmail/v1/gmail-gen.go +++ b/gmail/v1/gmail-gen.go @@ -2481,7 +2481,9 @@ func (s *VacationSettings) MarshalJSON() ([]byte, error) { // WatchRequest: Set up or update a new push notification watch on this // user's mailbox. type WatchRequest struct { - // LabelFilterAction: Filtering behavior of labelIds list specified. + // LabelFilterAction: Filtering behavior of `labelIds list` specified. + // This field is deprecated because it caused incorrect behavior in some + // cases; use `label_filter_behavior` instead. // // Possible values: // "include" - Only get push notifications for message changes @@ -2490,9 +2492,9 @@ type WatchRequest struct { // those relating to labelIds specified. LabelFilterAction string `json:"labelFilterAction,omitempty"` - // LabelFilterBehavior: Filtering behavior of labelIds list specified. - // This field replaces label_filter_action; if set, label_filter_action - // is ignored. + // LabelFilterBehavior: Filtering behavior of `labelIds list` specified. + // This field replaces `label_filter_action`; if set, + // `label_filter_action` is ignored. // // Possible values: // "include" - Only get push notifications for message changes diff --git a/logging/v2/logging-api.json b/logging/v2/logging-api.json index f74df080321..7baf442ceb1 100644 --- a/logging/v2/logging-api.json +++ b/logging/v2/logging-api.json @@ -1222,7 +1222,7 @@ ], "parameters": { "customWriterIdentity": { - "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", "location": "query", "type": "string" }, @@ -2824,7 +2824,7 @@ ], "parameters": { "customWriterIdentity": { - "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", "location": "query", "type": "string" }, @@ -5070,7 +5070,7 @@ ], "parameters": { "customWriterIdentity": { - "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", "location": "query", "type": "string" }, @@ -6549,7 +6549,7 @@ ], "parameters": { "customWriterIdentity": { - "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", "location": "query", "type": "string" }, @@ -6777,7 +6777,7 @@ ], "parameters": { "customWriterIdentity": { - "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", "location": "query", "type": "string" }, @@ -7077,7 +7077,7 @@ } } }, - "revision": "20230531", + "revision": "20230623", "rootUrl": "https://logging.googleapis.com/", "schemas": { "BigQueryDataset": { diff --git a/logging/v2/logging-gen.go b/logging/v2/logging-gen.go index c0b590a3dc3..39799cc1169 100644 --- a/logging/v2/logging-gen.go +++ b/logging/v2/logging-gen.go @@ -9839,10 +9839,10 @@ func (r *BillingAccountsSinksService) Create(parent string, logsink *LogSink) *B // CustomWriterIdentity sets the optional parameter // "customWriterIdentity": A service account provided by the caller that -// will be used to write the log entries. Must be of format -// serviceAccount:some@email. This can only be specified if writing to a -// destination outside the sink's project. If not specified, a p4 -// service account will automatically be generated. +// will be used to write the log entries. The format must be +// serviceAccount:some@email. This field can only be specified if you +// are routing logs to a destination outside this sink's project. If not +// specified, a Logging service account will automatically be generated. func (c *BillingAccountsSinksCreateCall) CustomWriterIdentity(customWriterIdentity string) *BillingAccountsSinksCreateCall { c.urlParams_.Set("customWriterIdentity", customWriterIdentity) return c @@ -9965,7 +9965,7 @@ func (c *BillingAccountsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogS // ], // "parameters": { // "customWriterIdentity": { - // "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + // "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", // "location": "query", // "type": "string" // }, @@ -17892,10 +17892,10 @@ func (r *FoldersSinksService) Create(parent string, logsink *LogSink) *FoldersSi // CustomWriterIdentity sets the optional parameter // "customWriterIdentity": A service account provided by the caller that -// will be used to write the log entries. Must be of format -// serviceAccount:some@email. This can only be specified if writing to a -// destination outside the sink's project. If not specified, a p4 -// service account will automatically be generated. +// will be used to write the log entries. The format must be +// serviceAccount:some@email. This field can only be specified if you +// are routing logs to a destination outside this sink's project. If not +// specified, a Logging service account will automatically be generated. func (c *FoldersSinksCreateCall) CustomWriterIdentity(customWriterIdentity string) *FoldersSinksCreateCall { c.urlParams_.Set("customWriterIdentity", customWriterIdentity) return c @@ -18018,7 +18018,7 @@ func (c *FoldersSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, err // ], // "parameters": { // "customWriterIdentity": { - // "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + // "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", // "location": "query", // "type": "string" // }, @@ -29017,10 +29017,10 @@ func (r *OrganizationsSinksService) Create(parent string, logsink *LogSink) *Org // CustomWriterIdentity sets the optional parameter // "customWriterIdentity": A service account provided by the caller that -// will be used to write the log entries. Must be of format -// serviceAccount:some@email. This can only be specified if writing to a -// destination outside the sink's project. If not specified, a p4 -// service account will automatically be generated. +// will be used to write the log entries. The format must be +// serviceAccount:some@email. This field can only be specified if you +// are routing logs to a destination outside this sink's project. If not +// specified, a Logging service account will automatically be generated. func (c *OrganizationsSinksCreateCall) CustomWriterIdentity(customWriterIdentity string) *OrganizationsSinksCreateCall { c.urlParams_.Set("customWriterIdentity", customWriterIdentity) return c @@ -29143,7 +29143,7 @@ func (c *OrganizationsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSin // ], // "parameters": { // "customWriterIdentity": { - // "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + // "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", // "location": "query", // "type": "string" // }, @@ -36325,10 +36325,10 @@ func (r *ProjectsSinksService) Create(parent string, logsink *LogSink) *Projects // CustomWriterIdentity sets the optional parameter // "customWriterIdentity": A service account provided by the caller that -// will be used to write the log entries. Must be of format -// serviceAccount:some@email. This can only be specified if writing to a -// destination outside the sink's project. If not specified, a p4 -// service account will automatically be generated. +// will be used to write the log entries. The format must be +// serviceAccount:some@email. This field can only be specified if you +// are routing logs to a destination outside this sink's project. If not +// specified, a Logging service account will automatically be generated. func (c *ProjectsSinksCreateCall) CustomWriterIdentity(customWriterIdentity string) *ProjectsSinksCreateCall { c.urlParams_.Set("customWriterIdentity", customWriterIdentity) return c @@ -36451,7 +36451,7 @@ func (c *ProjectsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, er // ], // "parameters": { // "customWriterIdentity": { - // "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + // "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", // "location": "query", // "type": "string" // }, @@ -37427,10 +37427,10 @@ func (r *SinksService) Create(parent string, logsink *LogSink) *SinksCreateCall // CustomWriterIdentity sets the optional parameter // "customWriterIdentity": A service account provided by the caller that -// will be used to write the log entries. Must be of format -// serviceAccount:some@email. This can only be specified if writing to a -// destination outside the sink's project. If not specified, a p4 -// service account will automatically be generated. +// will be used to write the log entries. The format must be +// serviceAccount:some@email. This field can only be specified if you +// are routing logs to a destination outside this sink's project. If not +// specified, a Logging service account will automatically be generated. func (c *SinksCreateCall) CustomWriterIdentity(customWriterIdentity string) *SinksCreateCall { c.urlParams_.Set("customWriterIdentity", customWriterIdentity) return c @@ -37553,7 +37553,7 @@ func (c *SinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, error) { // ], // "parameters": { // "customWriterIdentity": { - // "description": "Optional. A service account provided by the caller that will be used to write the log entries. Must be of format serviceAccount:some@email. This can only be specified if writing to a destination outside the sink's project. If not specified, a p4 service account will automatically be generated.", + // "description": "Optional. A service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated.", // "location": "query", // "type": "string" // }, diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index 1c609eeb9df..532cdf094ed 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -2059,7 +2059,7 @@ } } }, - "revision": "20230609", + "revision": "20230622", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -3638,7 +3638,7 @@ "type": "string" }, "brands": { - "description": "The brands of the product. A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", + "description": "The brands of the product. A maximum of 30 brands are allowed unless overridden via pantheon UI. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", "items": { "type": "string" }, diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index 150887241d6..f72488c2d2b 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -3348,12 +3348,13 @@ type GoogleCloudRetailV2Product struct { // Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT. AvailableTime string `json:"availableTime,omitempty"` - // Brands: The brands of the product. A maximum of 30 brands are - // allowed. Each brand must be a UTF-8 encoded string with a length - // limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is - // returned. Corresponding properties: Google Merchant Center property - // brand (https://support.google.com/merchants/answer/6324351). - // Schema.org property Product.brand (https://schema.org/brand). + // Brands: The brands of the product. A maximum of 30 brands are allowed + // unless overridden via pantheon UI. Each brand must be a UTF-8 encoded + // string with a length limit of 1,000 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. Corresponding properties: Google + // Merchant Center property brand + // (https://support.google.com/merchants/answer/6324351). Schema.org + // property Product.brand (https://schema.org/brand). Brands []string `json:"brands,omitempty"` // Categories: Product categories. This field is repeated for supporting diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index efa8cf73330..f63ae75e8fb 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -2217,7 +2217,7 @@ } } }, - "revision": "20230609", + "revision": "20230622", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4740,7 +4740,7 @@ "type": "string" }, "brands": { - "description": "The brands of the product. A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", + "description": "The brands of the product. A maximum of 30 brands are allowed unless overridden via pantheon UI. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", "items": { "type": "string" }, diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index 237a8b1f999..7aae457a6b1 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -5102,12 +5102,13 @@ type GoogleCloudRetailV2alphaProduct struct { // Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT. AvailableTime string `json:"availableTime,omitempty"` - // Brands: The brands of the product. A maximum of 30 brands are - // allowed. Each brand must be a UTF-8 encoded string with a length - // limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is - // returned. Corresponding properties: Google Merchant Center property - // brand (https://support.google.com/merchants/answer/6324351). - // Schema.org property Product.brand (https://schema.org/brand). + // Brands: The brands of the product. A maximum of 30 brands are allowed + // unless overridden via pantheon UI. Each brand must be a UTF-8 encoded + // string with a length limit of 1,000 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. Corresponding properties: Google + // Merchant Center property brand + // (https://support.google.com/merchants/answer/6324351). Schema.org + // property Product.brand (https://schema.org/brand). Brands []string `json:"brands,omitempty"` // Categories: Product categories. This field is repeated for supporting diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index cd1ad286859..b82cf76af9c 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -2087,7 +2087,7 @@ } } }, - "revision": "20230609", + "revision": "20230622", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5257,7 +5257,7 @@ "type": "string" }, "brands": { - "description": "The brands of the product. A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", + "description": "The brands of the product. A maximum of 30 brands are allowed unless overridden via pantheon UI. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand).", "items": { "type": "string" }, diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index 137683da0ec..1a291bdfa95 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -6193,12 +6193,13 @@ type GoogleCloudRetailV2betaProduct struct { // Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT. AvailableTime string `json:"availableTime,omitempty"` - // Brands: The brands of the product. A maximum of 30 brands are - // allowed. Each brand must be a UTF-8 encoded string with a length - // limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is - // returned. Corresponding properties: Google Merchant Center property - // brand (https://support.google.com/merchants/answer/6324351). - // Schema.org property Product.brand (https://schema.org/brand). + // Brands: The brands of the product. A maximum of 30 brands are allowed + // unless overridden via pantheon UI. Each brand must be a UTF-8 encoded + // string with a length limit of 1,000 characters. Otherwise, an + // INVALID_ARGUMENT error is returned. Corresponding properties: Google + // Merchant Center property brand + // (https://support.google.com/merchants/answer/6324351). Schema.org + // property Product.brand (https://schema.org/brand). Brands []string `json:"brands,omitempty"` // Categories: Product categories. This field is repeated for supporting diff --git a/streetviewpublish/v1/streetviewpublish-api.json b/streetviewpublish/v1/streetviewpublish-api.json index 25554ca1a2e..14596a7dcbb 100644 --- a/streetviewpublish/v1/streetviewpublish-api.json +++ b/streetviewpublish/v1/streetviewpublish-api.json @@ -377,7 +377,7 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Optional. The filter expression. For example: `imagery_type=SPHERICAL`. The filters supported are: `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, `filename_query`, `min_capture_time_seconds`, `max_capture_time_seconds`, and `takedown`. See https://google.aip.dev/160 for more information. Filename queries should sent as a Phrase in order to support multiple words and special characters by adding escaped quotes. Ex: filename_query=\"example of a phrase.mp4\"", + "description": "Optional. The filter expression. For example: `imagery_type=SPHERICAL`. The filters supported are: `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, `filename_query`, `min_capture_time_seconds`, `max_capture_time_seconds. See https://google.aip.dev/160 for more information. Filename queries should sent as a Phrase in order to support multiple words and special characters by adding escaped quotes. Ex: filename_query=\"example of a phrase.mp4\"", "location": "query", "type": "string" }, @@ -534,7 +534,7 @@ } } }, - "revision": "20230618", + "revision": "20230627", "rootUrl": "https://streetviewpublish.googleapis.com/", "schemas": { "BatchDeletePhotosRequest": { diff --git a/streetviewpublish/v1/streetviewpublish-gen.go b/streetviewpublish/v1/streetviewpublish-gen.go index 44b799d9196..d692045d322 100644 --- a/streetviewpublish/v1/streetviewpublish-gen.go +++ b/streetviewpublish/v1/streetviewpublish-gen.go @@ -2985,10 +2985,10 @@ func (r *PhotoSequencesService) List() *PhotoSequencesListCall { // For example: `imagery_type=SPHERICAL`. The filters supported are: // `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, // `min_longitude`, `max_longitude`, `filename_query`, -// `min_capture_time_seconds`, `max_capture_time_seconds`, and -// `takedown`. See https://google.aip.dev/160 for more information. -// Filename queries should sent as a Phrase in order to support multiple -// words and special characters by adding escaped quotes. Ex: +// `min_capture_time_seconds`, `max_capture_time_seconds. See +// https://google.aip.dev/160 for more information. Filename queries +// should sent as a Phrase in order to support multiple words and +// special characters by adding escaped quotes. Ex: // filename_query="example of a phrase.mp4" func (c *PhotoSequencesListCall) Filter(filter string) *PhotoSequencesListCall { c.urlParams_.Set("filter", filter) @@ -3116,7 +3116,7 @@ func (c *PhotoSequencesListCall) Do(opts ...googleapi.CallOption) (*ListPhotoSeq // "parameterOrder": [], // "parameters": { // "filter": { - // "description": "Optional. The filter expression. For example: `imagery_type=SPHERICAL`. The filters supported are: `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, `filename_query`, `min_capture_time_seconds`, `max_capture_time_seconds`, and `takedown`. See https://google.aip.dev/160 for more information. Filename queries should sent as a Phrase in order to support multiple words and special characters by adding escaped quotes. Ex: filename_query=\"example of a phrase.mp4\"", + // "description": "Optional. The filter expression. For example: `imagery_type=SPHERICAL`. The filters supported are: `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, `filename_query`, `min_capture_time_seconds`, `max_capture_time_seconds. See https://google.aip.dev/160 for more information. Filename queries should sent as a Phrase in order to support multiple words and special characters by adding escaped quotes. Ex: filename_query=\"example of a phrase.mp4\"", // "location": "query", // "type": "string" // },