-
Notifications
You must be signed in to change notification settings - Fork 17
/
aws-autoscaling-launchconfiguration.json
212 lines (212 loc) · 8.48 KB
/
aws-autoscaling-launchconfiguration.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
{
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-autoscaling.git",
"tagging" : {
"taggable" : false
},
"handlers" : {
"read" : {
"permissions" : [ "autoscaling:DescribeLaunchConfigurations" ]
},
"create" : {
"permissions" : [ "autoscaling:CreateLaunchConfiguration", "autoscaling:DescribeLaunchConfigurations", "iam:PassRole" ]
},
"list" : {
"permissions" : [ "autoscaling:DescribeLaunchConfigurations" ]
},
"delete" : {
"permissions" : [ "autoscaling:DeleteLaunchConfiguration", "autoscaling:DescribeLaunchConfigurations" ]
}
},
"typeName" : "AWS::AutoScaling::LaunchConfiguration",
"description" : "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.",
"writeOnlyProperties" : [ "/properties/InstanceId" ],
"createOnlyProperties" : [ "/properties/AssociatePublicIpAddress", "/properties/BlockDeviceMappings", "/properties/ClassicLinkVPCId", "/properties/ClassicLinkVPCSecurityGroups", "/properties/EbsOptimized", "/properties/IamInstanceProfile", "/properties/ImageId", "/properties/InstanceId", "/properties/InstanceMonitoring", "/properties/InstanceType", "/properties/KernelId", "/properties/KeyName", "/properties/LaunchConfigurationName", "/properties/MetadataOptions", "/properties/PlacementTenancy", "/properties/RamDiskId", "/properties/SecurityGroups", "/properties/SpotPrice", "/properties/UserData" ],
"additionalProperties" : false,
"primaryIdentifier" : [ "/properties/LaunchConfigurationName" ],
"definitions" : {
"MetadataOptions" : {
"description" : "MetadataOptions is a property of AWS::AutoScaling::LaunchConfiguration that describes metadata options for the instances.",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"HttpPutResponseHopLimit" : {
"description" : "The desired HTTP PUT response hop limit for instance metadata requests.",
"type" : "integer"
},
"HttpTokens" : {
"description" : "The state of token usage for your instance metadata requests.",
"type" : "string"
},
"HttpEndpoint" : {
"description" : "This parameter enables or disables the HTTP metadata endpoint on your instances.",
"type" : "string"
}
}
},
"BlockDeviceMapping" : {
"description" : "BlockDeviceMapping is a property of AWS::AutoScaling::LaunchConfiguration that describes a block device mapping for an Auto Scaling group.",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"Ebs" : {
"description" : "Parameters used to automatically set up EBS volumes when an instance is launched.",
"$ref" : "#/definitions/BlockDevice"
},
"NoDevice" : {
"description" : "Setting this value to true suppresses the specified device included in the block device mapping of the AMI.",
"type" : "boolean"
},
"VirtualName" : {
"description" : "The name of the virtual device.",
"type" : "string"
},
"DeviceName" : {
"description" : "The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). ",
"type" : "string"
}
},
"required" : [ "DeviceName" ]
},
"BlockDevice" : {
"description" : "BlockDevice is a subproperty of BlockDeviceMapping that describes an Amazon EBS volume.",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"SnapshotId" : {
"description" : "The snapshot ID of the volume to use.",
"type" : "string"
},
"VolumeType" : {
"description" : "The volume type.",
"type" : "string"
},
"Encrypted" : {
"description" : "Specifies whether the volume should be encrypted. ",
"type" : "boolean"
},
"Throughput" : {
"description" : "The throughput (MiBps) to provision for a gp3 volume.",
"type" : "integer"
},
"Iops" : {
"description" : "The number of input/output (I/O) operations per second (IOPS) to provision for the volume. ",
"type" : "integer"
},
"VolumeSize" : {
"description" : "The volume size, in GiBs.",
"type" : "integer"
},
"DeleteOnTermination" : {
"description" : "Indicates whether the volume is deleted on instance termination. ",
"type" : "boolean"
}
}
}
},
"properties" : {
"PlacementTenancy" : {
"description" : "The tenancy of the instance, either default or dedicated.",
"type" : "string"
},
"SecurityGroups" : {
"description" : "A list that contains the security groups to assign to the instances in the Auto Scaling group.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"anyOf" : [ {
"relationshipRef" : {
"typeName" : "AWS::EC2::SecurityGroup",
"propertyPath" : "/properties/GroupId"
}
}, {
"relationshipRef" : {
"typeName" : "AWS::EC2::SecurityGroup",
"propertyPath" : "/properties/Id"
}
} ],
"type" : "string"
}
},
"LaunchConfigurationName" : {
"minLength" : 1,
"description" : "The name of the launch configuration. This name must be unique per Region per account.",
"type" : "string",
"maxLength" : 255
},
"MetadataOptions" : {
"description" : "The metadata options for the instances.",
"$ref" : "#/definitions/MetadataOptions"
},
"InstanceId" : {
"description" : "The ID of the Amazon EC2 instance you want to use to create the launch configuration.",
"type" : "string"
},
"UserData" : {
"description" : "The Base64-encoded user data to make available to the launched EC2 instances.",
"type" : "string",
"maxLength" : 21847
},
"ClassicLinkVPCSecurityGroups" : {
"description" : "The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"type" : "string"
}
},
"BlockDeviceMappings" : {
"uniqueItems" : true,
"description" : "Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/BlockDeviceMapping"
}
},
"IamInstanceProfile" : {
"description" : "Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.",
"type" : "string"
},
"KernelId" : {
"description" : "Provides the ID of the kernel associated with the EC2 AMI.",
"type" : "string"
},
"AssociatePublicIpAddress" : {
"description" : "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.",
"type" : "boolean"
},
"ClassicLinkVPCId" : {
"description" : "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.",
"type" : "string"
},
"EbsOptimized" : {
"description" : "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).",
"type" : "boolean"
},
"KeyName" : {
"description" : "Provides the name of the EC2 key pair.",
"type" : "string"
},
"SpotPrice" : {
"description" : "The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.",
"type" : "string"
},
"ImageId" : {
"description" : "Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.",
"type" : "string"
},
"InstanceType" : {
"description" : "Specifies the instance type of the EC2 instance.",
"type" : "string"
},
"RamDiskId" : {
"description" : "The ID of the RAM disk to select.",
"type" : "string"
},
"InstanceMonitoring" : {
"description" : "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.",
"type" : "boolean"
}
},
"required" : [ "ImageId", "InstanceType" ]
}