NAME
    gcloud apihub plugins instances create - create a Plugin Instance

SYNOPSIS
    gcloud apihub plugins instances create
        (INSTANCE : --location=LOCATION --plugin=PLUGIN)
        --actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],
          [scheduleCronExpression=SCHEDULECRONEXPRESSION],
          [scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
        --display-name=DISPLAY_NAME
        [--additional-config=[ADDITIONAL_CONFIG,...]] [--async]
        [--source-environments-config=[SOURCE_ENVIRONMENTS_CONFIG,...]]
        [--source-project-id=SOURCE_PROJECT_ID]
        [--auth-config-type=AUTH_CONFIG_TYPE
          : --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]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Create a plugin instance

    Note: The positional argument for Plugin Instance ID is currently not
    supported. Please use the --plugin-instance flag to specify the Plugin
    Instance ID.

EXAMPLES
    To create a plugin instance with the ID my-instance for plugin my-plugin,
    run:

        $ gcloud apihub plugins instances create \
            --plugin-instance=my-instance --plugin=my-plugin \
            --display-name="My Instance" --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.

REQUIRED FLAGS
     --actions=[actionId=ACTIONID],[curationConfig=CURATIONCONFIG],[scheduleCronExpression=SCHEDULECRONEXPRESSION],[scheduleTimeZone=SCHEDULETIMEZONE],[serviceAccount=SERVICEACCOUNT]
        Required, 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)

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

OPTIONAL FLAGS
     --additional-config=[ADDITIONAL_CONFIG,...]
        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)

     --async
        Return immediately, without waiting for the operation in progress to
        complete.

     --source-environments-config=[SOURCE_ENVIRONMENTS_CONFIG,...]
        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)

     --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.

     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.

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

     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.

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

       --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.

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

       Secret provides a reference to entries in Secret Manager.

       This must be specified.

         --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.

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

       Secret provides a reference to entries in Secret Manager.

       This must be specified.

         --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.

       This must be specified.

         --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.

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

        $ gcloud alpha apihub plugins instances create

