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,
"ResourceGroupId": String,
"DeletionForce": Boolean
}
}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 (-). It 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 Resource properties. |
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:
|
Payer | String | No | No | The payer. | Valid values:
|
ZoneAffinityEnabled | Boolean | No | Yes | Specifies whether to support zone affinity. | Valid values:
|
ServiceResourceType | String | No | No | The type of the service resource. | Set the value to slb. A value of slb specifies Classic Load Balancer (CLB). |
Tags | List | No | Yes | The tags. | You can add up to 20 tags. |
ResourceGroupId | String | No | Yes | The ID of the resource group. | None. |
DeletionForce | Boolean | No | Yes | Specifies whether to forcefully delete the endpoint service. | Valid values:
|
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. A value of slb specifies the Server Load Balancer (SLB) instances that reside in a VPC and 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. The tag key cannot be an empty string. The tag key can be up to 64 characters in length, and cannot start with |
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 can be up to 128 characters in length, and cannot start with |
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.
Arn: the Alibaba Cloud Resource Name (ARN).
Examples
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 {
"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"
]
}
}
}
}