All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::PrivateLink::VpcEndpointService

Last Updated:Sep 14, 2023

ALIYUN::PrivateLink::VpcEndpointService is used to create an endpoint service.

Syntax

{
  "Type": "ALIYUN::PrivateLink::VpcEndpointService",
  "Properties": {
    "User": List,
    "ServiceDescription": String,
    "Resource": List,
    "ConnectBandwidth": Integer,
    "AutoAcceptEnabled": Boolean,
    "Payer": String,
    "ZoneAffinityEnabled": Boolean,
    "ServiceResourceType": String,
    "Tags": List
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

User

List

No

Yes

The Alibaba Cloud accounts in the whitelist of the endpoint service.

You can add up to 20 Alibaba Cloud accounts to the whitelist.

ServiceDescription

String

No

Yes

The description of the endpoint service.

The description must be 2 to 256 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The description must start with a letter.

Resource

List

No

Yes

The service resources that you want to add to the endpoint service.

You can add up to 20 service resources to the endpoint service.

For more information, see the "Resource properties" section of this topic.

ConnectBandwidth

Integer

No

Yes

The default maximum bandwidth.

Valid values: 100 to 1024.

Unit: Mbit/s.

AutoAcceptEnabled

Boolean

No

Yes

Specifies whether to automatically accept endpoint connection requests.

Valid values:

  • true

  • false (default)

Payer

String

No

No

The payer.

Valid values:

  • Endpoint: the service consumer.

  • EndpointService: the service provider.

ZoneAffinityEnabled

Boolean

No

Yes

Specifies whether to resolve domain names to IP addresses in the nearest zone.

Valid values:

  • true

  • false (default)

ServiceResourceType

String

No

No

The type of the service resources.

Set the value to slb, which specifies Classic Load Balancer (CLB).

Tags

List

No

Yes

The tags that you want to add to the resources.

You can add up to 20 tags.

Resource syntax

"Resource": [
  {
    "ZoneId": String,
    "ResourceId": String,
    "ResourceType": String
  }
]

Resource properties

Property

Type

Required

Editable

Description

Constraint

ZoneId

String

Yes

No

The ID of the zone to which the service resource belongs.

None

ResourceId

String

Yes

No

The service resource that you want to add to the endpoint service.

None

ResourceType

String

Yes

No

The type of the service resource that you want to add to the endpoint service.

Set the value to slb. This value indicates the VPC-type Server Load Balancer (SLB) instances that support PrivateLink.

Note

Only SLB instances that support PrivateLink can be used as service resources for endpoint services.

Tags syntax

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags properties

Property

Type

Required

Editable

Description

Constraint

Key

String

Yes

No

The tag key.

You can specify up to 20 tag keys. You cannot specify empty strings as tag keys.

The tag key must be 1 to 64 characters in length and cannot start with aliyun or acs:. The tag key cannot contain http:// or https://.

Value

String

No

No

The tag value.

You can specify up to 20 tag values. The tag value can be an empty string.

The tag value must be 1 to 128 characters in length and cannot start with acs: or aliyun. The tag value cannot contain http:// or https://.

Return values

Fn::GetAtt

  • ServiceName: the name of the endpoint service.

  • ServiceDomain: the domain name of the endpoint service.

  • ServiceId: the ID of the endpoint service.

  • ServiceDescription: the description of the endpoint service.

  • MinBandwidth: the minimum bandwidth of the endpoint connection.

  • MaxBandwidth: the maximum bandwidth of the endpoint connection.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      MasterZoneId:
        Type: String
        Description: The master zone id to create load balancer instance.
        AssociationProperty: ALIYUN::ECS::Instance::ZoneId
      SlaveZoneId:
        Type: String
        Description: The slave zone id to create load balancer instance.
        AssociationProperty: ALIYUN::ECS::Instance::ZoneId
      VpcId:
        Type: String
        Description: The VPC id to create load balancer instance. For VPC network only.
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      VSwitchId:
        Type: String
        Description: The VSwitch id to create load balancer instance. For VPC network only.
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: VpcId
          ZoneId: MasterZoneId
    Resources:
      LoadBalancer:
        Type: ALIYUN::SLB::LoadBalancer
        Properties:
          SupportPrivateLink: true
          PayType: PayOnDemand
          VpcId:
            Ref: VpcId
          VSwitchId:
            Ref: VSwitchId
          LoadBalancerSpec: slb.s1.small
          LoadBalancerName: mytest
          AddressType: intranet
          MasterZoneId:
            Ref: MasterZoneId
          SlaveZoneId:
            Ref: SlaveZoneId
      VpcEndpointService:
        DependsOn: LoadBalancer
        Type: ALIYUN::PrivateLink::VpcEndpointService
        Properties:
          User:
            - Ref: ALIYUN::AccountId
          ServiceDescription: test service endpoint
          Resource:
            - ZoneId:
                Ref: MasterZoneId
              ResourceId:
                Ref: LoadBalancer
              ResourceType: slb
          ConnectBandwidth: 100
          AutoAcceptEnabled: true
    Outputs:
      ServiceName:
        Description: The name of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceName
      ServiceDomain:
        Description: The domain name of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceDomain
      ServiceId:
        Description: The ID of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceId                    
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "MasterZoneId": {
          "Type": "String",
          "Description": "The master zone id to create load balancer instance.",
          "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
        },
        "SlaveZoneId": {
          "Type": "String",
          "Description": "The slave zone id to create load balancer instance.",
          "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
        },
        "VpcId": {
          "Type": "String",
          "Description": "The VPC id to create load balancer instance. For VPC network only.",
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "VSwitchId": {
          "Type": "String",
          "Description": "The VSwitch id to create load balancer instance. For VPC network only.",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "VpcId",
            "ZoneId": "MasterZoneId"
          }
        }
      },
      "Resources": {
        "LoadBalancer": {
          "Type": "ALIYUN::SLB::LoadBalancer",
          "Properties": {
            "SupportPrivateLink": true,
            "PayType": "PayOnDemand",
            "VpcId": {
              "Ref": "VpcId"
            },
            "VSwitchId": {
              "Ref": "VSwitchId"
            },
            "LoadBalancerSpec": "slb.s1.small",
            "LoadBalancerName": "mytest",
            "AddressType": "intranet",
            "MasterZoneId": {
              "Ref": "MasterZoneId"
            },
            "SlaveZoneId": {
              "Ref": "SlaveZoneId"
            }
          }
        },
        "VpcEndpointService": {
          "DependsOn": "LoadBalancer",
          "Type": "ALIYUN::PrivateLink::VpcEndpointService",
          "Properties": {
            "User": [
              {
                "Ref": "ALIYUN::AccountId"
              }
            ],
            "ServiceDescription": "test service endpoint",
            "Resource": [
              {
                "ZoneId": {
                  "Ref": "MasterZoneId"
                },
                "ResourceId": {
                  "Ref": "LoadBalancer"
                },
                "ResourceType": "slb"
              }
            ],
            "ConnectBandwidth": 100,
            "AutoAcceptEnabled": true
          }
        }
      },
      "Outputs": {
        "ServiceName": {
          "Description": "The name of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceName"
            ]
          }
        },
        "ServiceDomain": {
          "Description": "The domain name of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceDomain"
            ]
          }
        },
        "ServiceId": {
          "Description": "The ID of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceId"
            ]
          }
        }
      }
    }