NAME
    gcloud alpha compute service-attachments create - create a Google Compute
        Engine service attachment

SYNOPSIS
    gcloud alpha compute service-attachments create NAME
        --nat-subnets=NAT_SUBNETS,[NAT_SUBNETS,...]
        --producer-forwarding-rule=PRODUCER_FORWARDING_RULE
        [--connection-preference=CONNECTION_PREFERENCE;
          default="ACCEPT_AUTOMATIC"]
        [--consumer-accept-list=[PROJECT_OR_NETWORK=LIMIT,...]]
        [--consumer-reject-list=[REJECT_LIST,...]] [--description=DESCRIPTION]
        [--domain-names=[DOMAIN_NAMES,...]] [--enable-proxy-protocol]
        [--nat-subnets-region=NAT_SUBNETS_REGION]
        [--producer-forwarding-rule-region=PRODUCER_FORWARDING_RULE_REGION]
        [--propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT]
        [--reconcile-connections] [--region=REGION] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) gcloud alpha compute service-attachments create is used to create
    service attachments. A service producer creates service attachments to make
    a service available to consumers. Service consumers use Private Service
    Connect endpoints to privately forward traffic to the service attachment.

EXAMPLES
    If there is an already-created internal load balancer (ILB) with the name
    MY_ILB in region us-central1 and there is an already-created Private
    Service Connect subnets MY_SUBNET1 and MY_SUBNET2, create a service
    attachment pointing to the ILB by running:

        $ gcloud alpha compute service-attachments create \
            SERVICE_ATTACHMENT_NAME --region=us-central1 \
            --producer-forwarding-rule=MY_ILB \
            --connection-preference=ACCEPT_AUTOMATIC \
            --nat-subnets=MY_SUBNET1,MY_SUBNET2

    To create a service attachment with a textual description, run:

        $ gcloud alpha compute service-attachments create \
            SERVICE_ATTACHMENT_NAME --region=us-central1 \
            --producer-forwarding-rule=MY_ILB \
            --connection-preference=ACCEPT_AUTOMATIC \
            --nat-subnets=MY_SUBNET1,MY_SUBNET2 \
            --description='default service attachment'

POSITIONAL ARGUMENTS
     NAME
        Name of the service attachment to create.

REQUIRED FLAGS
     --nat-subnets=NAT_SUBNETS,[NAT_SUBNETS,...]
        The subnetworks provided by service producer to use for NAT

     --producer-forwarding-rule=PRODUCER_FORWARDING_RULE
        Target forwarding rule that receives forwarded traffic.

OPTIONAL FLAGS
     --connection-preference=CONNECTION_PREFERENCE; default="ACCEPT_AUTOMATIC"
        This defines the service attachment's connection preference.
        CONNECTION_PREFERENCE must be one of:

         ACCEPT_AUTOMATIC
            Always accept connection requests from consumers automatically.
         ACCEPT_MANUAL
            Only accept connection requests from consumers with the approval of
            the service provider.

     --consumer-accept-list=[PROJECT_OR_NETWORK=LIMIT,...]
        Specifies which consumer projects or networks are allowed to connect to
        the service attachment. Each project or network has a connection limit.
        A given service attachment can manage connections at either the project
        or network level. Therefore, both the accept and reject lists for a
        given service attachment must contain either only projects or only
        networks.

        For example, --consumer-accept-list myProjectId1=20 accepts a consumer
        project myProjectId1 with connection limit 20; --consumer-accept-list
        projects/myProjectId1/global/networks/myNet1=20 accepts a consumer
        network myNet1 with connection limit 20

        ◆ PROJECT_OR_NETWORK - Consumer project ID, project number or network
          URL.
        ◆ CONNECTION_LIMIT - The maximum number of allowed connections.

     --consumer-reject-list=[REJECT_LIST,...]
        Specifies a comma separated list of projects or networks that are not
        allowed to connect to this service attachment. The project can be
        specified using its project ID or project number and the network can be
        specified using its URL. A given service attachment can manage
        connections at either the project or network level. Therefore, both the
        reject and accept lists for a given service attachment must contain
        either only projects or only networks.

     --description=DESCRIPTION
        An optional, textual description for the service attachment.

     --domain-names=[DOMAIN_NAMES,...]
        Specifies a comma separated list of DNS domain names that are used
        during DNS integration on PSC connected endpoints.

     --enable-proxy-protocol
        If True, then enable the proxy protocol which is for supplying client
        TCP/IP address data in TCP connections that traverse proxies on their
        way to destination servers.

     --nat-subnets-region=NAT_SUBNETS_REGION
        Region of the subnetworks to operate on. If not specified, it will be
        set to the region of the service attachment. Overrides the default
        compute/region property value for this command invocation.

     --producer-forwarding-rule-region=PRODUCER_FORWARDING_RULE_REGION
        Region of the forwarding rule to operate on. If not specified, you
        might be prompted to select a region (interactive mode only).

        To avoid prompting when this flag is omitted, you can set the
        compute/region property:

            $ gcloud config set compute/region REGION

        A list of regions can be fetched by running:

            $ gcloud compute regions list

        To unset the property, run:

            $ gcloud config unset compute/region

        Alternatively, the region can be stored in the environment variable
        CLOUDSDK_COMPUTE_REGION.

     --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT
        Per-consumer limit on the number of consumer Network Connectivity
        Center spokes that Private Service Connect connectivity can be
        propagated to. This flag lets a producer limit how many propagated
        Private Service Connect connections can be established by a single
        consumer to the producer's service attachment.

        If the service attachment connection preference is set to
        ACCEPT_AUTOMATIC or the accept and reject lists are project-based, then
        this limit is scoped per consumer project. If the service attachment
        accept and reject lists are network-based, then this limit is scoped to
        the consumer network where the endpoint is deployed.

     --reconcile-connections
        Determines whether to apply changes to consumer accept or reject lists
        to existing connections or only to new connections.

        If false, existing endpoints with a connection status of ACCEPTED or
        REJECTED are not updated.

        If true, existing endpoints with a connection status of ACCEPTED or
        REJECTED are updated based on the connection policy update. For
        example, if a project or network is removed from the
        --consumer-accept-list and added to --consumer-reject-list, all the
        endpoints in that project or network with the ACCEPTED state are set to
        REJECTED.

     --region=REGION
        Region of the service attachment to create. If not specified, you might
        be prompted to select a region (interactive mode only).

        To avoid prompting when this flag is omitted, you can set the
        compute/region property:

            $ gcloud config set compute/region REGION

        A list of regions can be fetched by running:

            $ gcloud compute regions list

        To unset the property, run:

            $ gcloud config unset compute/region

        Alternatively, the region can be stored in the environment variable
        CLOUDSDK_COMPUTE_REGION.

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.

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. These variants are also available:

        $ gcloud compute service-attachments create

        $ gcloud beta compute service-attachments create

