ALIYUN::PrivateLink::VpcEndpointService

更新时间:
复制 MD 格式

ALIYUN::PrivateLink::VpcEndpointService creates 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

Alibaba Cloud accounts in the endpoint service whitelist.

Maximum: 20 accounts.

ServiceDescription

String

No

Yes

Description of the endpoint service.

2-256 characters. Supports letters, digits, underscores (_), and hyphens (-). Must start with a letter.

Resource

List

No

Yes

Service resources to add to the endpoint service.

Maximum: 20 service resources.

For more information, see Resource properties.

ConnectBandwidth

Integer

No

Yes

Default maximum bandwidth.

Valid values: 100 to 1024.

Unit: Mbit/s.

AutoAcceptEnabled

Boolean

No

Yes

Whether to auto-accept endpoint connection requests.

Valid values:

  • true

  • false (default)

Payer

String

No

No

Payer of the endpoint service.

Valid values:

  • Endpoint: service consumer

  • EndpointService: service provider

ZoneAffinityEnabled

Boolean

No

Yes

Whether to enable zone affinity.

Valid values:

  • true

  • false (default)

ServiceResourceType

String

No

No

Service resource type.

Set to slb (Classic Load Balancer).

Tags

List

No

Yes

Tags.

Maximum: 20 tags.

ResourceGroupId

String

No

Yes

Resource group ID.

None.

DeletionForce

Boolean

No

Yes

Whether to force-delete the endpoint service.

Valid values:

  • true

  • false

Resource syntax

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

Resource properties

Property

Type

Required

Editable

Description

Constraint

ZoneId

String

Yes

No

Zone ID of the service resource.

None.

ResourceId

String

Yes

No

ID of the service resource to add.

None.

ResourceType

String

Yes

No

Type of the service resource to add.

Set to slb (SLB instances in a VPC that support PrivateLink).

Note

Only PrivateLink-enabled SLB instances can serve as endpoint service resources.

Tags syntax

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

Tags properties

Property

Type

Required

Editable

Description

Constraint

Key

String

Yes

No

Tag key.

Maximum: 20 tag keys. Cannot be empty.

Up to 64 characters. Cannot start with aliyun or acs:, or contain http:// or https://.

Value

String

No

No

Tag value.

Maximum: 20 tag values. Can be empty.

Up to 128 characters. Cannot start with aliyun or acs:, or contain http:// or https://.

Return values

Fn::GetAtt

  • ServiceName: endpoint service name.

  • ServiceDomain: endpoint service domain name.

  • ServiceId: endpoint service ID.

  • ServiceDescription: endpoint service description.

  • MinBandwidth: minimum endpoint connection bandwidth.

  • MaxBandwidth: maximum endpoint connection bandwidth.

  • Arn: 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"
        ]
      }
    }
  }
}