ALIYUN::ApiGateway::Group is used to create an API group.

Syntax

{
  "Type": "ALIYUN::ApiGateway::Group",
  "Properties": {
    "GroupName": String,
    "Description": String,
    "InstanceId": String,
    "PassthroughHeaders": String,
    "InternetEnable": Boolean,
    "VpcIntranetEnable": Boolean,
    "Tags": List
  }
}   

Properties

Property Type Required Editable Description Constraint
GroupName String Yes Yes The name of the API group. The name must be unique.

It must be 4 to 50 characters in length. The name must start with a letter and can contain letters, digits, and underscores (_).

Description String No Yes The description of the API group. The description can be up to 180 characters in length.
InstanceId String No No The network type of the API Gateway instance. Valid values:
  • api-shared-vpc-001: VPC.
  • api-shared-classic-001: classic network.
InternetEnable Boolean No Yes Specifies whether to enable the public subdomain. Valid values:
  • true
  • false
VpcIntranetEnable Boolean No Yes Specifies whether to enable the private subdomain. Valid values:
  • true
  • false
PassthroughHeaders String No No Configure the pass-through mode. Set the value to host.
Tags List No Yes The list of tags of the API group. You can specify up to 20 tags for an API group.

For more information, see Tags properties.

Tags syntax

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

Tags properties

Property Type Required Editable Description Constraint
Key String Yes No The key of a tag. The tag key must be 1 to 128 characters in length and cannot contain http:// or https://. It cannot start with acs: or aliyun.
Value String No No The value of a tag. The tag value can be up to 128 characters in length and cannot contain http:// or https://. It cannot start with acs: or aliyun.

Return value

Fn::GetAtt

  • SubDomain: the second-level domain that the system assigns to the API group. The domain is used to test API calls.
  • GroupId: the ID of the API group. The ID is a globally unique identifier (GUID) generated by the system.
  • Tags: tags of the API group.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InternetEnable": {
      "Type": "Boolean",
      "Description": "Enable or disable internet subdomain. True for enable. ",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "GroupName": {
      "Type": "String",
      "Description": "The name of the Group.Need [4, 50] Chinese\\English\\Number characters or \"_\",and should start with Chinese/English character."
    },
    "Description": {
      "Type": "String",
      "Description": "Description of the Group, less than 180 characters."
    },
    "InstanceId": {
      "Type": "String",
      "Description": "API gateway instance ID. For example, \"api-shared-vpc-001\" means vpc instance, while \"api-shared-classic-001\" means classic instance."
    },
    "VpcIntranetEnable": {
      "Type": "Boolean",
      "Description": "Enable or disable VPC intranet subdomain. True for enable. ",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "Tags": {
      "Type": "Json",
      "Description": "Tags to attach to group. Max support 20 tags to add during create group. Each tag with two properties Key and Value, and Key is required.",
      "MaxLength": 20
    },
    "PassthroughHeaders": {
      "Type": "String",
      "Description": "Pass through headers setting. values:\nhost: pass through host headers"
    }
  },
  "Resources": {
    "Group": {
      "Type": "ALIYUN::ApiGateway::Group",
      "Properties": {
        "InternetEnable": {
          "Ref": "InternetEnable"
        },
        "GroupName": {
          "Ref": "GroupName"
        },
        "Description": {
          "Ref": "Description"
        },
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "VpcIntranetEnable": {
          "Ref": "VpcIntranetEnable"
        },
        "Tags": {
          "Ref": "Tags"
        },
        "PassthroughHeaders": {
          "Ref": "PassthroughHeaders"
        }
      }
    }
  },
  "Outputs": {
    "SubDomain": {
      "Description": "The sub domain assigned to the Group by the system",
      "Value": {
        "Fn::GetAtt": [
          "Group",
          "SubDomain"
        ]
      }
    },
    "Tags": {
      "Description": "Tags of app",
      "Value": {
        "Fn::GetAtt": [
          "Group",
          "Tags"
        ]
      }
    },
    "GroupId": {
      "Description": "The id of the created Group resource",
      "Value": {
        "Fn::GetAtt": [
          "Group",
          "GroupId"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  InternetEnable:
    Type: Boolean
    Description: 'Enable or disable internet subdomain. True for enable. '
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
  GroupName:
    Type: String
    Description: >-
      The name of the Group.Need [4, 50] Chinese\English\Number characters or
      "_",and should start with Chinese/English character.
  Description:
    Type: String
    Description: 'Description of the Group, less than 180 characters.'
  InstanceId:
    Type: String
    Description: >-
      API gateway instance ID. For example, "api-shared-vpc-001" means vpc
      instance, while "api-shared-classic-001" means classic instance.
  VpcIntranetEnable:
    Type: Boolean
    Description: 'Enable or disable VPC intranet subdomain. True for enable. '
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
  Tags:
    Type: Json
    Description: >-
      Tags to attach to group. Max support 20 tags to add during create group.
      Each tag with two properties Key and Value, and Key is required.
    MaxLength: 20
  PassthroughHeaders:
    Type: String
    Description: |-
      Pass through headers setting. values:
      host: pass through host headers
Resources:
  Group:
    Type: 'ALIYUN::ApiGateway::Group'
    Properties:
      InternetEnable:
        Ref: InternetEnable
      GroupName:
        Ref: GroupName
      Description:
        Ref: Description
      InstanceId:
        Ref: InstanceId
      VpcIntranetEnable:
        Ref: VpcIntranetEnable
      Tags:
        Ref: Tags
      PassthroughHeaders:
        Ref: PassthroughHeaders
Outputs:
  SubDomain:
    Description: The sub domain assigned to the Group by the system
    Value:
      'Fn::GetAtt':
        - Group
        - SubDomain
  Tags:
    Description: Tags of app
    Value:
      'Fn::GetAtt':
        - Group
        - Tags
  GroupId:
    Description: The id of the created Group resource
    Value:
      'Fn::GetAtt':
        - Group
        - GroupId