NAME
    gcloud beta beyondcorp security-gateways applications update - update
        applications

SYNOPSIS
    gcloud beta beyondcorp security-gateways applications update
        (APPLICATION : --location=LOCATION --security-gateway=SECURITY_GATEWAY)
        [--async] [--display-name=DISPLAY_NAME] [--request-id=REQUEST_ID]
        [--endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]
          | --add-endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]
          --clear-endpoint-matchers
          | --remove-endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]]
        [--upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]
          | --add-upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]
          --clear-upstreams
          | --remove-upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (BETA) Update an application

EXAMPLES
    To update the application, run:

        $ gcloud beta beyondcorp security-gateways applications update

POSITIONAL ARGUMENTS
     Application resource - Identifier. Name of the resource. 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 application 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.

       APPLICATION
          ID of the application or fully qualified identifier for the
          application.

          To set the application attribute:
          ▸ provide the argument application 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 application resource. We support only global
          location.

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

       --security-gateway=SECURITY_GATEWAY
          The securityGateway id of the application resource.

          To set the security-gateway attribute:
          ▸ provide the argument application on the command line with a fully
            specified name;
          ▸ provide the argument --security-gateway on the command line.

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

     --display-name=DISPLAY_NAME
        An arbitrary user-provided name for the Application resource. Cannot
        exceed 64 characters.

     --request-id=REQUEST_ID
        An optional request ID to identify requests. Specify a unique request
        ID so that if you must retry your request, the server will know to
        ignore the request if it has already been completed. The server will
        guarantee that for at least 60 minutes after the first request.

        For example, consider a situation where you make an initial request and
        the request timed out. If you make the request again with the same
        request ID, the server can check if original operation with the same
        request ID was received, and if so, will ignore the second request.
        This prevents clients from accidentally creating duplicate commitments.

        The request ID must be a valid UUID with the exception that zero UUID
        is not supported (00000000-0000-0000-0000-000000000000).

     Update endpoint_matchers.

     At most one of these can be specified:

       --endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]
          Set endpoint_matchers to new value. Endpoint matchers associated with
          an application. A combination of hostname and ports as endpoint
          matchers is used to match the application. Match conditions for OR
          logic. An array of match conditions to allow for multiple matching
          criteria. The rule is considered a match if one of the conditions is
          met. The conditions can be one of the following combinations
          (Hostname), (Hostname & Ports)

          EXAMPLES: Hostname - (".example.com"), ("xyz.example.com") Hostname
          and Ports - ("example.com" and "22"), ("example.com" and "22,33")
          etc.

           hostname
              Hostname of the application.

           ports
              Ports of the application.

          Shorthand Example:

              --endpoint-matchers=hostname=string,ports=[int] --endpoint-matchers=hostname=string,ports=[int]

          JSON Example:

              --endpoint-matchers='[{"hostname": "string", "ports": [int]}]'

          File Example:

              --endpoint-matchers=path_to_file.(yaml|json)

       --add-endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]
          Add new value to endpoint_matchers list. Endpoint matchers associated
          with an application. A combination of hostname and ports as endpoint
          matchers is used to match the application. Match conditions for OR
          logic. An array of match conditions to allow for multiple matching
          criteria. The rule is considered a match if one of the conditions is
          met. The conditions can be one of the following combinations
          (Hostname), (Hostname & Ports)

          EXAMPLES: Hostname - (".example.com"), ("xyz.example.com") Hostname
          and Ports - ("example.com" and "22"), ("example.com" and "22,33")
          etc.

           hostname
              Hostname of the application.

           ports
              Ports of the application.

          Shorthand Example:

              --add-endpoint-matchers=hostname=string,ports=[int] --add-endpoint-matchers=hostname=string,ports=[int]

          JSON Example:

              --add-endpoint-matchers='[{"hostname": "string", "ports": [int]}]'

          File Example:

              --add-endpoint-matchers=path_to_file.(yaml|json)

       At most one of these can be specified:

         --clear-endpoint-matchers
            Clear endpoint_matchers value and set to empty list.

         --remove-endpoint-matchers=[hostname=HOSTNAME],[ports=PORTS]
            Remove existing value from endpoint_matchers list. Endpoint
            matchers associated with an application. A combination of hostname
            and ports as endpoint matchers is used to match the application.
            Match conditions for OR logic. An array of match conditions to
            allow for multiple matching criteria. The rule is considered a
            match if one of the conditions is met. The conditions can be one of
            the following combinations (Hostname), (Hostname & Ports)

            EXAMPLES: Hostname - (".example.com"), ("xyz.example.com") Hostname
            and Ports - ("example.com" and "22"), ("example.com" and "22,33")
            etc.

             hostname
                Hostname of the application.

             ports
                Ports of the application.

            Shorthand Example:

                --remove-endpoint-matchers=hostname=string,ports=[int] --remove-endpoint-matchers=hostname=string,ports=[int]

            JSON Example:

                --remove-endpoint-matchers='[{"hostname": "string", "ports": [int]}]'

            File Example:

                --remove-endpoint-matchers=path_to_file.(yaml|json)

     Update upstreams.

     At most one of these can be specified:

       --upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]
          Set upstreams to new value. Which upstream resources to forward
          traffic to.

           egressPolicy
              Routing policy information.

               regions
                  List of the regions where the application sends traffic.

           network
              Network to forward traffic to.

               name
                  Network name is of the format:
                  projects/{project}/global/networks/{network}.

          Shorthand Example:

              --upstreams=egressPolicy={regions=[string]},network={name=string} --upstreams=egressPolicy={regions=[string]},network={name=string}

          JSON Example:

              --upstreams='[{"egressPolicy": {"regions": ["string"]}, "network": {"name": "string"}}]'

          File Example:

              --upstreams=path_to_file.(yaml|json)

       --add-upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]
          Add new value to upstreams list. Which upstream resources to forward
          traffic to.

           egressPolicy
              Routing policy information.

               regions
                  List of the regions where the application sends traffic.

           network
              Network to forward traffic to.

               name
                  Network name is of the format:
                  projects/{project}/global/networks/{network}.

          Shorthand Example:

              --add-upstreams=egressPolicy={regions=[string]},network={name=string} --add-upstreams=egressPolicy={regions=[string]},network={name=string}

          JSON Example:

              --add-upstreams='[{"egressPolicy": {"regions": ["string"]}, "network": {"name": "string"}}]'

          File Example:

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

       At most one of these can be specified:

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

         --remove-upstreams=[egressPolicy=EGRESSPOLICY],[network=NETWORK]
            Remove existing value from upstreams list. Which upstream resources
            to forward traffic to.

             egressPolicy
                Routing policy information.

                 regions
                    List of the regions where the application sends traffic.

             network
                Network to forward traffic to.

                 name
                    Network name is of the format:
                    projects/{project}/global/networks/{network}.

            Shorthand Example:

                --remove-upstreams=egressPolicy={regions=[string]},network={name=string} --remove-upstreams=egressPolicy={regions=[string]},network={name=string}

            JSON Example:

                --remove-upstreams='[{"egressPolicy": {"regions": ["string"]}, "network": {"name": "string"}}]'

            File Example:

                --remove-upstreams=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 beyondcorp/v1 API. The full documentation for this
    API can be found at: https://cloud.google.com/

NOTES
    This command is currently in beta and might change without notice.

