gcloud alpha apigee products update - update an existing Apigee API product
gcloud alpha apigee products update (PRODUCT : --organization=ORGANIZATION) [--display-name=SET_DISPLAYNAME] [--all-apis | --add-api=[API,...] --remove-api=[API,...]] [--all-environments | --add-environment=[ENVIRONMENT,...] --remove-environment=[ENVIRONMENT,...]] [--all-resources | --add-resource=[RESOURCE#...] --remove-resource=[RESOURCE#...]] [--automatic-approval | --manual-approval] [--clear-attributes | --add-attribute=[NAME=VALUE,...] --remove-attribute=[NAME,...]] [--clear-description | --description=SET_DESCRIPTION] [--clear-oauth-scopes | --add-oauth-scope=[OAUTH-SCOPE,...] --remove-oauth-scope=[OAUTH-SCOPE,...]] [--clear-quota | --quota=QUOTA --quota-interval=QUOTA_INTERVAL --quota-unit=QUOTA_UNIT] [--internal-access | --private-access | --public-access] [GCLOUD_WIDE_FLAG ...]
(ALPHA) Update an existing Apigee API product.
gcloud alpha apigee products update applies a set of modifications to an existing API product.
To create a new API product, run:
$ gcloud alpha apigee products create
To update the display name of the API product with the internal name my-prod, run:
$ gcloud alpha apigee products update my-prod \ --display-name="Example Project"
To update the description of the API product, run:
$ gcloud alpha apigee products update my-prod \ --description="This API is famous for appearing in a YouTube \ video."
To remove the API product's description, run:
$ gcloud alpha apigee products update my-prod --clear-description
To remove manual approval requirements from the API and change its access level to public, run:
$ gcloud alpha apigee products update my-prod --public-access \ --automatic-approval
To impose a quota of 45 calls per minute per application on the API product, run:
$ gcloud alpha apigee products update my-prod --quota=45 \ --quota-interval=1 --quota-unit=minute
To remove a quota on the API product and switch it to unlisted access with manual approval, run:
$ gcloud alpha apigee products update my-prod --manual-approval \ --private-access --clear-quota
To set the API product's custom attribute foo to the value bar, updating that attribute if it exists and creating it if it doesn't, and remove the attribute baz if it exists, run:
$ gcloud alpha apigee products update my-prod \ --add-attribute="foo=bar" --remove-attribute=baz
To update the list of API proxies included in the API product, run:
$ gcloud alpha apigee products update my-prod \ --add-api=NEW_ONE,NEW_TWO --remove-api=OLD_ONE,OLD_TWO
To switch the API product to including all test environment APIs no matter what API proxy or resource they expose, run:
$ gcloud alpha apigee products update my-prod \ --add-environment=test --all-apis --all-resources
To update the list of API resources included in the API product, and output the updated API product as a JSON object, run:
$ gcloud alpha apigee products update my-prod \ --add-resource="NEW_ONE#NEW_TWO" \ --remove-resource="OLD_ONE#OLD_TWO" --format=json
- API product resource - API product to be updated. To get a list of available
API products, run:
$ gcloud alpha apigee products list
The arguments in this group can be used to specify the attributes of this resource.
This must be specified.
- PRODUCT
ID of the API product or fully qualified identifier for the API product. To set the product attribute:
provide the argument PRODUCT on the command line.
This positional argument must be specified if any of the other arguments in this group are specified.
- --organization=ORGANIZATION
Apigee organization containing the API product. If unspecified, the Cloud Platform project's associated organization will be used. To set the organization attribute:
provide the argument PRODUCT on the command line with a fully specified name;
provide the argument --organization on the command line;
set the property [project] or provide the argument [--project] on the command line, using a Cloud Platform project with an associated Apigee organization.
- --display-name=SET_DISPLAYNAME
Name to be displayed in the UI or developer portal to developers registering for API access.
- At most one of these can be specified:
- --all-apis
Include all deployed API proxies in the product, so long as they match the other parameters.
- API proxies to which this API product is bound. Only those API proxies will be
accessible through the API product.
The API proxy names must already be deployed to the bound environments, or creation of the API product will fail. To get a list of deployed API proxies, run:
$ gcloud alpha apigee deployments list
To deploy an API proxy, run:
$ gcloud alpha apigee apis deploy.
- --add-api=[API,...]
Adds a new API to the set of APIs.
- --remove-api=[API,...]
Removes an existing API from the set of APIs.
- At most one of these can be specified:
- --all-environments
Make all environments accessible through this API product.
- Environments to which the API product is bound. Requests to environments that
are not listed are rejected, preventing developers from accessing those resources even if they can access the same API proxies in another environment.
For example, this can be used to prevent applications with access to production APIs from accessing the alpha or beta versions of those APIs.
To get a list of available environments, run:
$ gcloud alpha apigee environments list
- --add-environment=[ENVIRONMENT,...]
Adds a new environment to the set of environments.
- --remove-environment=[ENVIRONMENT,...]
Removes an existing environment from the set of environments.
- At most one of these can be specified:
- --all-resources
Include all deployed API resources in the product, so long as they match the other parameters.
- API resources to be bundled in the API product.
By default, the resource paths are mapped from the proxy.pathsuffix variable.
The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if /forecastrss is given as an element of this list, and the base path defined for the API proxy is /weather, then only requests to /weather/forecastrss are permitted by the API product.
Proxy paths can use asterisks as wildcards; /** indicates that all sub-URIs are included, whereas a single asterisk indicates that only URIs one level down are included.
By default, / supports the same resources as /** as well as the base path defined by the API proxy.
For example, if the base path of the API proxy is /v1/weatherapikey, then the API product supports requests to /v1/weatherapikey and to any sub-URIs, such as /v1/weatherapikey/forecastrss, /v1/weatherapikey/region/CA, and so on.
The API proxy resources must already be deployed to the bound environments, or creation of the API product will fail.
- --add-resource=[RESOURCE#...]
Adds a new resource to the set of resources.
- --remove-resource=[RESOURCE#...]
Removes an existing resource from the set of resources.
- At most one of these can be specified:
- --automatic-approval
Allow developers to generate approved consumer keys without waiting for approval.
- --manual-approval
Require manual approval of developer requests to access this API product before their consumer keys can be used.
- At most one of these can be specified:
- --clear-attributes
Removes all attributes.
- Key-value attribute pairs that may be used to extend the default API product
profile with customer-specific metadata. Up to 17 attributes can be specified.
- --add-attribute=[NAME=VALUE,...]
Adds a new attribute to the set of attributes.
- --remove-attribute=[NAME,...]
Removes an existing attribute from the set of attributes.
- At most one of these can be specified:
- --clear-description
Remove the API product's description.
- --description=SET_DESCRIPTION
Overview of the API product. Include key information about the API product that is not captured by other fields.
- At most one of these can be specified:
- --clear-oauth-scopes
Removes all OAuth scopes.
- Comma-separated list of OAuth scopes that are validated at runtime. Apigee
validates that the scopes in any access token presented match the scopes defined in the OAuth policy assoicated with the API product.
- --add-oauth-scope=[OAUTH-SCOPE,...]
Adds a new OAuth scope to the set of OAuth scopes.
- --remove-oauth-scope=[OAUTH-SCOPE,...]
Removes an existing OAuth scope from the set of OAuth scopes.
- At most one of these can be specified:
- --clear-quota
Remove any quota currently imposed on the API product.
- To impose a quota limit on calls to the API product, specify all of the
following:
- --quota=QUOTA
Number of request messages permitted per app by this API product for the specified --quota-interval and --quota-unit.
For example, --quota=50, --quota-interval=12, and --quota-unit=hour means 50 requests are allowed every 12 hours.
- --quota-interval=QUOTA_INTERVAL
Time interval over which the number of request messages is calculated.
- --quota-unit=QUOTA_UNIT
Time unit for --quota-interval. QUOTA_UNIT must be one of: minute, hour, day, month.
- At most one of these can be specified:
- --internal-access
Prevent external access to this API product.
- --private-access
Hide this API product in the developer portal but make it accessible by external developers.
- --public-access
Make this API product visible to developers in the Apigee developer portal.
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. These variants are also available:
$ gcloud apigee products update
$ gcloud beta apigee products update