NAME
    gcloud alpha apihub plugins instances update - update a Plugin Instance

SYNOPSIS
    gcloud alpha apihub plugins instances update
        (INSTANCE : --location=LOCATION --plugin=PLUGIN)
        [--display-name=DISPLAY_NAME] [--source-project-id=SOURCE_PROJECT_ID]
        [--actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],
          [scheduleCronExpression=SCHEDULECRONEXPRESSION],
          [scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
          | --add-actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],
          [scheduleCronExpression=SCHEDULECRONEXPRESSION],
          [scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
          --clear-actions
          | --remove-actions=[actionId=ACTIONID],
          [curationConfig=CURATIONCONFIG],
          [scheduleCronExpression=SCHEDULECRONEXPRESSION],
          [scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]]
        [--additional-config=[ADDITIONAL_CONFIG,...]
          | --update-additional-config=[UPDATE_ADDITIONAL_CONFIG,...]
          --clear-additional-config
          | --remove-additional-config=REMOVE_ADDITIONAL_CONFIG]
        [--auth-config-type=AUTH_CONFIG_TYPE --clear-auth-config
          --api-key-config-http-element-location=API_KEY_CONFIG_HTTP_ELEMENT_LOCATION --api-key-config-name=API_KEY_CONFIG_NAME --api-key-config-secret-version=API_KEY_CONFIG_SECRET_VERSION | --oauth2-client-credentials-config-id=OAUTH2_CLIENT_CREDENTIALS_CONFIG_ID --oauth2-client-credentials-config-secret-version=OAUTH2_CLIENT_CREDENTIALS_CONFIG_SECRET_VERSION | --user-password-config-secret-version=USER_PASSWORD_CONFIG_SECRET_VERSION --user-password-config-username=USER_PASSWORD_CONFIG_USERNAME]
        [--source-environments-config=[SOURCE_ENVIRONMENTS_CONFIG,...]
          | --update-source-environments-config=[UPDATE_SOURCE_ENVIRONMENTS_CONFIG,
          ...] --clear-source-environments-config
          | --remove-source-environments-config=REMOVE_SOURCE_ENVIRONMENTS_CONFIG]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) Update a plugin instance

EXAMPLES
    To update the display name of a plugin instance with the ID my-instance,
    run:

        $ gcloud alpha apihub plugins instances update my-instance \
            --plugin=my-plugin --display-name="New Instance Name" \
            --project=my-project --location=us-central1

POSITIONAL ARGUMENTS
     Instance resource - Identifier. The unique name of the plugin instance
     resource. Format:
     projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}
     The arguments in this group can be used to specify the attributes of this
     resource. (NOTE) Some attributes are not given arguments in this group but
     can be set in other ways.

     To set the project attribute:
      ◆ provide the argument instance on the command line with a fully
        specified name;
      ◆ provide the argument --project on the command line;
      ◆ set the property core/project.

     This must be specified.

       INSTANCE
          ID of the instance or fully qualified identifier for the instance.

          To set the instance attribute:
          ▸ provide the argument instance on the command line.

          This positional argument must be specified if any of the other
          arguments in this group are specified.

       --location=LOCATION
          The location id of the instance resource.

          To set the location attribute:
          ▸ provide the argument instance on the command line with a fully
            specified name;
          ▸ provide the argument --location on the command line.

       --plugin=PLUGIN
          The plugin id of the instance resource.

          To set the plugin attribute:
          ▸ provide the argument instance on the command line with a fully
            specified name;
          ▸ provide the argument --plugin on the command line.

FLAGS
     --display-name=DISPLAY_NAME
        The display name for this plugin instance. Max length is 255
        characters.

     --source-project-id=SOURCE_PROJECT_ID
        The source project id of the plugin instance. This will be the id of
        runtime project in case of Google Cloud based plugins and org id in
        case of non-Google Cloud based plugins. This field will be a required
        field for Google provided on-ramp plugins.

     Update actions.

     At most one of these can be specified:

       --actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],[scheduleCronExpression=SCHEDULECRONEXPRESSION],[scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
          Set actions to new value. The action status for the plugin instance.

           actionId
              This should map to one of the [action
              id][google.cloud.apihub.v1.PluginActionConfig.id] specified in
              [actions_config][google.cloud.apihub.v1.Plugin.actions_config] in
              the plugin.

           curationConfig
              This configuration should be provided if the plugin action is
              publishing data to API hub curate layer.

               curationType
                  The curation type for this plugin instance.

               customCuration
                  Custom curation information for this plugin instance.

                   curation
                      The unique name of the curation resource. This will be
                      the name of the curation resource in the format:
                      projects/{project}/locations/{location}/curations/{curation}.

           scheduleCronExpression
              The schedule for this plugin instance action. This can only be
              set if the plugin supports API_HUB_SCHEDULE_TRIGGER mode for this
              action.

           scheduleTimeZone
              The time zone for the schedule cron expression. If not provided,
              UTC will be used.

           serviceAccount
              The service account used to publish data. Note, the service
              account will only be accepted for non-Google Cloud plugins like
              OPDK.

          Shorthand Example:

              --actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string --actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string

          JSON Example:

              --actions='[{"actionId": "string", "curationConfig": {"curationType": "string", "customCuration": {"curation": "string"}}, "scheduleCronExpression": "string", "scheduleTimeZone": "string", "serviceAccount": "string"}]'

          File Example:

              --actions=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --add-actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],[scheduleCronExpression=SCHEDULECRONEXPRESSION],[scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
            Add new value to actions list. The action status for the plugin
            instance.

             actionId
                This should map to one of the [action
                id][google.cloud.apihub.v1.PluginActionConfig.id] specified in
                [actions_config][google.cloud.apihub.v1.Plugin.actions_config]
                in the plugin.

             curationConfig
                This configuration should be provided if the plugin action is
                publishing data to API hub curate layer.

                 curationType
                    The curation type for this plugin instance.

                 customCuration
                    Custom curation information for this plugin instance.

                     curation
                        The unique name of the curation resource. This will be
                        the name of the curation resource in the format:
                        projects/{project}/locations/{location}/curations/{curation}.

             scheduleCronExpression
                The schedule for this plugin instance action. This can only be
                set if the plugin supports API_HUB_SCHEDULE_TRIGGER mode for
                this action.

             scheduleTimeZone
                The time zone for the schedule cron expression. If not
                provided, UTC will be used.

             serviceAccount
                The service account used to publish data. Note, the service
                account will only be accepted for non-Google Cloud plugins like
                OPDK.

            Shorthand Example:

                --add-actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string --add-actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string

            JSON Example:

                --add-actions='[{"actionId": "string", "curationConfig": {"curationType": "string", "customCuration": {"curation": "string"}}, "scheduleCronExpression": "string", "scheduleTimeZone": "string", "serviceAccount": "string"}]'

            File Example:

                --add-actions=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-actions
              Clear actions value and set to empty list.

           --remove-actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],[scheduleCronExpression=SCHEDULECRONEXPRESSION],[scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
              Remove existing value from actions list. The action status for
              the plugin instance.

               actionId
                  This should map to one of the [action
                  id][google.cloud.apihub.v1.PluginActionConfig.id] specified
                  in
                  [actions_config][google.cloud.apihub.v1.Plugin.actions_config]
                  in the plugin.

               curationConfig
                  This configuration should be provided if the plugin action is
                  publishing data to API hub curate layer.

                   curationType
                      The curation type for this plugin instance.

                   customCuration
                      Custom curation information for this plugin instance.

                       curation
                          The unique name of the curation resource. This will
                          be the name of the curation resource in the format:
                          projects/{project}/locations/{location}/curations/{curation}.

               scheduleCronExpression
                  The schedule for this plugin instance action. This can only
                  be set if the plugin supports API_HUB_SCHEDULE_TRIGGER mode
                  for this action.

               scheduleTimeZone
                  The time zone for the schedule cron expression. If not
                  provided, UTC will be used.

               serviceAccount
                  The service account used to publish data. Note, the service
                  account will only be accepted for non-Google Cloud plugins
                  like OPDK.

              Shorthand Example:

                  --remove-actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string --remove-actions=actionId=string,curationConfig={curationType=string,customCuration={curation=string}},scheduleCronExpression=string,scheduleTimeZone=string,serviceAccount=string

              JSON Example:

                  --remove-actions='[{"actionId": "string", "curationConfig": {"curationType": "string", "customCuration": {"curation": "string"}}, "scheduleCronExpression": "string", "scheduleTimeZone": "string", "serviceAccount": "string"}]'

              File Example:

                  --remove-actions=path_to_file.(yaml|json)

     Update additional_config.

     At most one of these can be specified:

       --additional-config=[ADDITIONAL_CONFIG,...]
          Set additional_config to new value. The additional information for
          this plugin instance corresponding to the additional config template
          of the plugin. This information will be sent to plugin hosting
          service on each call to plugin hosted service. The key will be the
          config_variable_template.display_name to uniquely identify the config
          variable.

           KEY
              Sets KEY value.

           VALUE
              Sets VALUE value.

               boolValue
                  The config variable value in case of config variable of type
                  boolean.

               enumValue
                  The config variable value in case of config variable of type
                  enum.

                   description
                      Description of the option.

                   displayName
                      Display name of the option.

                   id
                      Id of the option.

               intValue
                  The config variable value in case of config variable of type
                  integer.

               multiIntValues
                  The config variable value in case of config variable of type
                  multi integer.

                   values
                      The config variable value of data type multi int.

               multiSelectValues
                  The config variable value in case of config variable of type
                  multi select.

                   values
                      The config variable value of data type multi select.

                       description
                          Description of the option.

                       displayName
                          Display name of the option.

                       id
                          Id of the option.

               multiStringValues
                  The config variable value in case of config variable of type
                  multi string.

                   values
                      The config variable value of data type multi string.

               secretValue
                  The config variable value in case of config variable of type
                  secret.

                   secretVersion
                      The resource name of the secret version in the format,
                      format as: projects/*/secrets/*/versions/*.

               stringValue
                  The config variable value in case of config variable of type
                  string.

          Shorthand Example:

              --additional-config=string={boolValue=boolean,enumValue={description=string,displayName=string,id=string},intValue=int,multiIntValues={values=[int]},multiSelectValues={values=[{description=string,displayName=string,id=string}]},multiStringValues={values=[string]},secretValue={secretVersion=string},stringValue=string}

          JSON Example:

              --additional-config='{"string": {"boolValue": boolean, "enumValue": {"description": "string", "displayName": "string", "id": "string"}, "intValue": int, "multiIntValues": {"values": [int]}, "multiSelectValues": {"values": [{"description": "string", "displayName": "string", "id": "string"}]}, "multiStringValues": {"values": ["string"]}, "secretValue": {"secretVersion": "string"}, "stringValue": "string"}}'

          File Example:

              --additional-config=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --update-additional-config=[UPDATE_ADDITIONAL_CONFIG,...]
            Update additional_config value or add key value pair. The
            additional information for this plugin instance corresponding to
            the additional config template of the plugin. This information will
            be sent to plugin hosting service on each call to plugin hosted
            service. The key will be the config_variable_template.display_name
            to uniquely identify the config variable.

             KEY
                Sets KEY value.

             VALUE
                Sets VALUE value.

                 boolValue
                    The config variable value in case of config variable of
                    type boolean.

                 enumValue
                    The config variable value in case of config variable of
                    type enum.

                     description
                        Description of the option.

                     displayName
                        Display name of the option.

                     id
                        Id of the option.

                 intValue
                    The config variable value in case of config variable of
                    type integer.

                 multiIntValues
                    The config variable value in case of config variable of
                    type multi integer.

                     values
                        The config variable value of data type multi int.

                 multiSelectValues
                    The config variable value in case of config variable of
                    type multi select.

                     values
                        The config variable value of data type multi select.

                         description
                            Description of the option.

                         displayName
                            Display name of the option.

                         id
                            Id of the option.

                 multiStringValues
                    The config variable value in case of config variable of
                    type multi string.

                     values
                        The config variable value of data type multi string.

                 secretValue
                    The config variable value in case of config variable of
                    type secret.

                     secretVersion
                        The resource name of the secret version in the format,
                        format as: projects/*/secrets/*/versions/*.

                 stringValue
                    The config variable value in case of config variable of
                    type string.

            Shorthand Example:

                --update-additional-config=string={boolValue=boolean,enumValue={description=string,displayName=string,id=string},intValue=int,multiIntValues={values=[int]},multiSelectValues={values=[{description=string,displayName=string,id=string}]},multiStringValues={values=[string]},secretValue={secretVersion=string},stringValue=string}

            JSON Example:

                --update-additional-config='{"string": {"boolValue": boolean, "enumValue": {"description": "string", "displayName": "string", "id": "string"}, "intValue": int, "multiIntValues": {"values": [int]}, "multiSelectValues": {"values": [{"description": "string", "displayName": "string", "id": "string"}]}, "multiStringValues": {"values": ["string"]}, "secretValue": {"secretVersion": "string"}, "stringValue": "string"}}'

            File Example:

                --update-additional-config=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-additional-config
              Clear additional_config value and set to empty map.

           --remove-additional-config=REMOVE_ADDITIONAL_CONFIG
              Remove existing value from map additional_config. Sets
              remove_additional_config value.

              Shorthand Example:

                  --remove-additional-config=string,string

              JSON Example:

                  --remove-additional-config=["string"]

              File Example:

                  --remove-additional-config=path_to_file.(yaml|json)

     AuthConfig represents the authentication information.

     --auth-config-type=AUTH_CONFIG_TYPE
        The authentication type. AUTH_CONFIG_TYPE must be one of:

         api-key
            API Key authentication.
         google-service-account
            Google service account authentication.
         no-auth
            No authentication.
         oauth2-client-credentials
            Oauth 2.0 client credentials grant authentication.
         user-password
            Username and password authentication.

     --clear-auth-config
        Set googleCloudApihubV1PluginInstance.authConfig back to default value.

     Arguments for the config.

     At most one of these can be specified:

       Config for authentication with API key.

       --api-key-config-http-element-location=API_KEY_CONFIG_HTTP_ELEMENT_LOCATION
          The location of the API key. The default value is QUERY.
          API_KEY_CONFIG_HTTP_ELEMENT_LOCATION must be one of:

           body
              Element is in the HTTP request body.
           cookie
              Element is in the HTTP request cookie.
           header
              Element is in the HTTP request header.
           path
              Element is in the HTTP request path.
           query
              Element is in the HTTP request query.

       --api-key-config-name=API_KEY_CONFIG_NAME
          The parameter name of the API key. E.g. If the API request is
          "https://example.com/act?api_key=<API KEY>", "api_key" would be the
          parameter name.

       Secret provides a reference to entries in Secret Manager.

       --api-key-config-secret-version=API_KEY_CONFIG_SECRET_VERSION
          The resource name of the secret version in the format, format as:
          projects/*/secrets/*/versions/*.

       Parameters to support Oauth 2.0 client credentials grant authentication.
       See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.

       --oauth2-client-credentials-config-id=OAUTH2_CLIENT_CREDENTIALS_CONFIG_ID
          The client identifier.

       Secret provides a reference to entries in Secret Manager.

       --oauth2-client-credentials-config-secret-version=OAUTH2_CLIENT_CREDENTIALS_CONFIG_SECRET_VERSION
          The resource name of the secret version in the format, format as:
          projects/*/secrets/*/versions/*.

       Parameters to support Username and Password Authentication.

       Secret provides a reference to entries in Secret Manager.

       --user-password-config-secret-version=USER_PASSWORD_CONFIG_SECRET_VERSION
          The resource name of the secret version in the format, format as:
          projects/*/secrets/*/versions/*.

       --user-password-config-username=USER_PASSWORD_CONFIG_USERNAME
          Username.

     Update source_environments_config.

     At most one of these can be specified:

       --source-environments-config=[SOURCE_ENVIRONMENTS_CONFIG,...]
          Set source_environments_config to new value. The source environment's
          config present in the gateway instance linked to the plugin instance.
          The key is the source_environment name from the SourceEnvironment
          message.

           KEY
              Sets KEY value.

           VALUE
              Sets VALUE value.

               createTime
                  The time at which the environment was created at the source.

               sourceEnvironment
                  The name of the environment at the source. This should map to
                  [Deployment][google.cloud.apihub.v1.SourceEnvironment.source_environment].

               sourceEnvironmentUri
                  The location where additional information about source
                  environments can be found. The location should be relative
                  path of the environment manifest with respect to a plugin
                  instance.

               updateTime
                  The time at which the environment was last updated at the
                  source.

          Shorthand Example:

              --source-environments-config=string={createTime=string,sourceEnvironment=string,sourceEnvironmentUri=string,updateTime=string}

          JSON Example:

              --source-environments-config='{"string": {"createTime": "string", "sourceEnvironment": "string", "sourceEnvironmentUri": "string", "updateTime": "string"}}'

          File Example:

              --source-environments-config=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --update-source-environments-config=[UPDATE_SOURCE_ENVIRONMENTS_CONFIG,...]
            Update source_environments_config value or add key value pair. The
            source environment's config present in the gateway instance linked
            to the plugin instance. The key is the source_environment name from
            the SourceEnvironment message.

             KEY
                Sets KEY value.

             VALUE
                Sets VALUE value.

                 createTime
                    The time at which the environment was created at the
                    source.

                 sourceEnvironment
                    The name of the environment at the source. This should map
                    to
                    [Deployment][google.cloud.apihub.v1.SourceEnvironment.source_environment].

                 sourceEnvironmentUri
                    The location where additional information about source
                    environments can be found. The location should be relative
                    path of the environment manifest with respect to a plugin
                    instance.

                 updateTime
                    The time at which the environment was last updated at the
                    source.

            Shorthand Example:

                --update-source-environments-config=string={createTime=string,sourceEnvironment=string,sourceEnvironmentUri=string,updateTime=string}

            JSON Example:

                --update-source-environments-config='{"string": {"createTime": "string", "sourceEnvironment": "string", "sourceEnvironmentUri": "string", "updateTime": "string"}}'

            File Example:

                --update-source-environments-config=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-source-environments-config
              Clear source_environments_config value and set to empty map.

           --remove-source-environments-config=REMOVE_SOURCE_ENVIRONMENTS_CONFIG
              Remove existing value from map source_environments_config. Sets
              remove_source_environments_config value.

              Shorthand Example:

                  --remove-source-environments-config=string,string

              JSON Example:

                  --remove-source-environments-config=["string"]

              File Example:

                  --remove-source-environments-config=path_to_file.(yaml|json)

GCLOUD WIDE FLAGS
    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.

API REFERENCE
    This command uses the apihub/v1 API. The full documentation for this API
    can be found at:
    https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub

NOTES
    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. This variant is also available:

        $ gcloud apihub plugins instances update

