CloudFormation Compatible Resource Types¶
AWS::AutoScaling::AutoScalingGroup¶
Note
Available since 2014.1 (Icehouse)
Required Properties¶
MaxSize¶
Maximum number of instances in the group.
Integer value expected.
Can be updated without replacement.
MinSize¶
Minimum number of instances in the group.
Integer value expected.
Can be updated without replacement.
Optional Properties¶
DesiredCapacity¶
Desired initial number of instances.
Integer value expected.
Can be updated without replacement.
HealthCheckGracePeriod¶
Note
Not implemented.
HealthCheckType¶
Note
Not implemented.
InstanceId¶
The ID of an existing instance to use to create the Auto Scaling group. If specify this property, will create the group use an existing instance instead of a launch configuration.
String value expected.
Updates cause replacement.
Value must be of type nova.server
LaunchConfigurationName¶
The reference to a LaunchConfiguration resource.
String value expected.
Can be updated without replacement.
VPCZoneIdentifier¶
Use only with Neutron, to list the internal subnet to which the instance will be attached; needed only if multiple exist; list length must be exactly 1.
List value expected.
Updates cause replacement.
List contents:
*¶
UUID of the internal subnet to which the instance will be attached.
String value expected.
Updates cause replacement.
Attributes¶
InstanceList¶
A comma-delimited list of server ip addresses. (Heat extension).
show¶
Detailed information about resource.
update_policy¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::AutoScalingGroup
properties:
AvailabilityZones: [Value, Value, ...]
Cooldown: Integer
DesiredCapacity: Integer
InstanceId: String
LaunchConfigurationName: String
LoadBalancerNames: [Value, Value, ...]
MaxSize: Integer
MinSize: Integer
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VPCZoneIdentifier: [String, String, ...]
AWS::AutoScaling::LaunchConfiguration¶
Optional Properties¶
BlockDeviceMappings¶
Block device mappings to attach to instance.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
DeviceName¶
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
String value expected.
Updates cause replacement.
Ebs¶
The ebs volume to attach to the instance.
Map value expected.
Updates cause replacement.
Map properties:
DeleteOnTermination¶ Indicate whether the volume should be deleted when the instance is terminated.
Boolean value expected.
Updates cause replacement.
Defaults to “True”.
Iops¶ Note
Not implemented.
SnapshotId¶ The ID of the snapshot to create a volume from.
String value expected.
Updates cause replacement.
Value must be of type cinder.snapshot
VolumeSize¶ The size of the volume, in GB. Must be equal or greater than the size of the snapshot. It is safe to leave this blank and have the Compute service infer the size.
String value expected.
Updates cause replacement.
VolumeType¶ Note
Not implemented.
NoDevice¶
Note
Not implemented.
VirtualName¶
Note
Not implemented.
ImageId¶
Glance image ID or name.
String value expected.
Updates cause replacement.
Value must be of type glance.image
InstanceId¶
The ID of an existing instance you want to use to create the launch configuration. All properties are derived from the instance with the exception of BlockDeviceMapping.
String value expected.
Updates cause replacement.
Value must be of type nova.server
InstanceType¶
Nova instance type (flavor).
String value expected.
Updates cause replacement.
Value must be of type nova.flavor
KernelId¶
Note
Not implemented.
KeyName¶
Optional Nova keypair name.
String value expected.
Updates cause replacement.
Value must be of type nova.keypair
NovaSchedulerHints¶
Scheduler hints to pass to Nova (Heat extension).
List value expected.
Updates cause replacement.
List contents:
RamDiskId¶
Note
Not implemented.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::LaunchConfiguration
properties:
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceId: String
InstanceType: String
KeyName: String
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroups: [Value, Value, ...]
UserData: String
AWS::AutoScaling::ScalingPolicy¶
Required Properties¶
AdjustmentType¶
Type of adjustment (absolute or percentage).
String value expected.
Can be updated without replacement.
Allowed values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
AutoScalingGroupName¶
AutoScaling group name to apply policy to.
String value expected.
Updates cause replacement.
Optional Properties¶
MinAdjustmentStep¶
Minimum number of resources that are added or removed when the AutoScaling group scales up or down. This can be used only when specifying PercentChangeInCapacity for the AdjustmentType property.
Integer value expected.
Can be updated without replacement.
The value must be at least 0.
Attributes¶
AlarmUrl¶
A signed url to handle the alarm. (Heat extension).
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::ScalingPolicy
properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Integer
MinAdjustmentStep: Integer
ScalingAdjustment: Integer
AWS::CloudFormation::Stack¶
Represents a child stack to allow composition of templates.
Required Properties¶
TemplateURL¶
The URL of a template that specifies the stack to be created as a resource.
String value expected.
Can be updated without replacement.
Optional Properties¶
Parameters¶
The set of parameters passed to this nested stack.
Map value expected.
Can be updated without replacement.
TimeoutInMinutes¶
The length of time, in minutes, to wait for the nested stack creation.
Integer value expected.
Can be updated without replacement.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Integer
AWS::CloudFormation::WaitCondition¶
Note
Available since 2014.1 (Icehouse)
Required Properties¶
Handle¶
A reference to the wait condition handle used to signal this wait condition.
String value expected.
Updates cause replacement.
Timeout¶
The number of seconds to wait for the correct number of signals to arrive.
Integer value expected.
Updates cause replacement.
The value must be in the range 1 to 43200.
Optional Properties¶
Count¶
The number of success signals that must be received before the stack creation process continues.
Integer value expected.
Can be updated without replacement.
Defaults to “1”.
The value must be at least 1.
Attributes¶
Data¶
JSON string containing data associated with wait condition signals sent to the handle.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Integer
Handle: String
Timeout: Integer
AWS::CloudFormation::WaitConditionHandle¶
Note
Available since 2014.1 (Icehouse)
AWS WaitConditionHandle resource.
the main point of this class is to : have no dependencies (so the instance can reference it) generate a unique url (to be returned in the reference) then the cfn-signal will use this url to post to and WaitCondition will poll it to see if has been written to.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
AWS::EC2::EIP¶
Optional Properties¶
Domain¶
Set to “vpc” to have IP address allocation associated to your VPC.
String value expected.
Updates cause replacement.
Allowed values: vpc
InstanceId¶
Instance ID to associate with EIP.
String value expected.
Can be updated without replacement.
Value must be of type nova.server
Attributes¶
AllocationId¶
ID that AWS assigns to represent the allocation of the address for use with Amazon VPC. Returned only for VPC elastic IP addresses.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
Domain: String
InstanceId: String
AWS::EC2::EIPAssociation¶
Optional Properties¶
AllocationId¶
Allocation ID for VPC EIP address.
String value expected.
Can be updated without replacement.
EIP¶
EIP address to associate with instance.
String value expected.
Can be updated without replacement.
Value must be of type ip_addr
InstanceId¶
Instance ID to associate with EIP specified by EIP property.
String value expected.
Can be updated without replacement.
Value must be of type nova.server
NetworkInterfaceId¶
Network interface ID to associate with EIP.
String value expected.
Can be updated without replacement.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
AWS::EC2::Instance¶
Required Properties¶
ImageId¶
Glance image ID or name.
String value expected.
Updates cause replacement.
Value must be of type glance.image
InstanceType¶
Nova instance type (flavor).
String value expected.
Can be updated without replacement.
Value must be of type nova.flavor
Optional Properties¶
AvailabilityZone¶
Availability zone to launch the instance in.
String value expected.
Updates cause replacement.
BlockDeviceMappings¶
Block device mappings to attach to instance.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
DeviceName¶
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
String value expected.
Updates cause replacement.
Ebs¶
The ebs volume to attach to the instance.
Map value expected.
Updates cause replacement.
Map properties:
DeleteOnTermination¶ Indicate whether the volume should be deleted when the instance is terminated.
Boolean value expected.
Updates cause replacement.
Defaults to “True”.
Iops¶ Note
Not implemented.
SnapshotId¶ The ID of the snapshot to create a volume from.
String value expected.
Updates cause replacement.
Value must be of type cinder.snapshot
VolumeSize¶ The size of the volume, in GB. Must be equal or greater than the size of the snapshot. It is safe to leave this blank and have the Compute service infer the size.
String value expected.
Updates cause replacement.
VolumeType¶ Note
Not implemented.
NoDevice¶
Note
Not implemented.
VirtualName¶
Note
Not implemented.
DisableApiTermination¶
Note
Not implemented.
KernelId¶
Note
Not implemented.
KeyName¶
Optional Nova keypair name.
String value expected.
Updates cause replacement.
Value must be of type nova.keypair
Monitoring¶
Note
Not implemented.
NetworkInterfaces¶
Network interfaces to associate with instance.
List value expected.
Can be updated without replacement.
NovaSchedulerHints¶
Scheduler hints to pass to Nova (Heat extension).
List value expected.
Updates cause replacement.
List contents:
PlacementGroupName¶
Note
Not implemented.
PrivateIpAddress¶
Note
Not implemented.
RamDiskId¶
Note
Not implemented.
SourceDestCheck¶
Note
Not implemented.
SubnetId¶
Subnet ID to launch instance in.
String value expected.
Can be updated without replacement.
Tags¶
Tags to attach to instance.
List value expected.
Can be updated without replacement.
List contents:
Tenancy¶
Note
Not implemented.
Volumes¶
Volumes to attach to instance.
List value expected.
Updates cause replacement.
Defaults to “[]”.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
Device¶
The device where the volume is exposed on the instance. This assignment may not be honored and it is advised that the path /dev/disk/by-id/virtio-<VolumeId> be used instead.
String value expected.
Updates cause replacement.
VolumeId¶
The ID of the volume to be attached.
String value expected.
Updates cause replacement.
Value must be of type cinder.volume
Attributes¶
AvailabilityZone¶
The Availability Zone where the specified instance is launched.
PrivateDnsName¶
Private DNS name of the specified instance.
PrivateIp¶
Private IP address of the specified instance.
PublicDnsName¶
Public DNS name of the specified instance.
PublicIp¶
Public IP address of the specified instance.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Instance
properties:
AvailabilityZone: String
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceType: String
KeyName: String
NetworkInterfaces: [Value, Value, ...]
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroupIds: [Value, Value, ...]
SecurityGroups: [Value, Value, ...]
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
UserData: String
Volumes: [{"Device": String, "VolumeId": String}, {"Device": String, "VolumeId": String}, ...]
AWS::EC2::InternetGateway¶
Optional Properties¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::InternetGateway
properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
AWS::EC2::NetworkInterface¶
Required Properties¶
SubnetId¶
Subnet ID to associate with this interface.
String value expected.
Updates cause replacement.
Value must be of type neutron.subnet
Optional Properties¶
GroupSet¶
List of security group IDs associated with this interface.
List value expected.
Can be updated without replacement.
SourceDestCheck¶
Note
Not implemented.
Attributes¶
PrivateIpAddress¶
Private IP address of the network interface.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::NetworkInterface
properties:
Description: String
GroupSet: [Value, Value, ...]
PrivateIpAddress: String
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
AWS::EC2::RouteTable¶
Note
Available since 2014.1 (Icehouse)
Required Properties¶
VpcId¶
VPC ID for where the route table is created.
String value expected.
Updates cause replacement.
Optional Properties¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::RouteTable
properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
AWS::EC2::SecurityGroup¶
Required Properties¶
GroupDescription¶
Description of the security group.
String value expected.
Updates cause replacement.
Optional Properties¶
SecurityGroupEgress¶
List value expected.
Can be updated without replacement.
List contents:
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SecurityGroup
properties:
GroupDescription: String
SecurityGroupEgress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
SecurityGroupIngress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
VpcId: String
AWS::EC2::Subnet¶
Required Properties¶
VpcId¶
Ref structure that contains the ID of the VPC on which you want to create the subnet.
String value expected.
Updates cause replacement.
Optional Properties¶
AvailabilityZone¶
Availability zone in which you want the subnet.
String value expected.
Updates cause replacement.
Attributes¶
AvailabilityZone¶
Availability Zone of the subnet.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Subnet
properties:
AvailabilityZone: String
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
AWS::EC2::SubnetRouteTableAssociation¶
Required Properties¶
SubnetId¶
Subnet ID.
String value expected.
Updates cause replacement.
Value must be of type neutron.subnet
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SubnetRouteTableAssociation
properties:
RouteTableId: String
SubnetId: String
AWS::EC2::VPC¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPC
properties:
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
AWS::EC2::VPCGatewayAttachment¶
Required Properties¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPCGatewayAttachment
properties:
InternetGatewayId: String
VpcId: String
AWS::EC2::Volume¶
Required Properties¶
AvailabilityZone¶
The availability zone in which the volume will be created.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Optional Properties¶
Size¶
The size of the volume in GB.
Integer value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
The value must be at least 1.
SnapshotId¶
If specified, the backup used as the source to create the volume.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type cinder.backup
Tags¶
The list of tags to associate with the volume.
List value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
List contents:
*¶
Map value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Map properties:
Key¶
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value¶
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Volume
properties:
AvailabilityZone: String
Size: Integer
SnapshotId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
AWS::EC2::VolumeAttachment¶
Required Properties¶
Device¶
The device where the volume is exposed on the instance. This assignment may not be honored and it is advised that the path /dev/disk/by-id/virtio-<VolumeId> be used instead.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must match pattern: /dev/vd[b-z]
InstanceId¶
The ID of the instance to which the volume attaches.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type nova.server
VolumeId¶
The ID of the volume to be attached.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type cinder.volume
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VolumeAttachment
properties:
Device: String
InstanceId: String
VolumeId: String
AWS::ElasticLoadBalancing::LoadBalancer¶
Implements a HAProxy-bearing instance as a nested stack.
The template for the nested stack can be redefined with
loadbalancer_template
option in heat.conf
.
Generally the image used for the instance must have the following packages installed or available for installation at runtime:
- heat-cfntools and its dependencies like python-psutil
- cronie
- socat
- haproxy
Current default builtin template uses Fedora 21 x86_64 base cloud image (https://getfedora.org/cloud/download/) and apart from installing packages goes through some hoops around SELinux due to pecularities of heat-cfntools.
Required Properties¶
AvailabilityZones¶
The Availability Zones in which to create the load balancer.
List value expected.
Updates cause replacement.
Listeners¶
One or more listeners for this load balancer.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
InstancePort¶
TCP port on which the instance server is listening.
Integer value expected.
Updates cause replacement.
LoadBalancerPort¶
The external load balancer port number.
Integer value expected.
Updates cause replacement.
PolicyNames¶
Note
Not implemented.
Protocol¶
The load balancer transport protocol to use.
String value expected.
Updates cause replacement.
Allowed values: TCP, HTTP
SSLCertificateId¶
Note
Not implemented.
Optional Properties¶
AppCookieStickinessPolicy¶
Note
Not implemented.
HealthCheck¶
An application health check for the instances.
Map value expected.
Updates cause replacement.
Map properties:
HealthyThreshold¶
The number of consecutive health probe successes required before moving the instance to the healthy state.
Integer value expected.
Updates cause replacement.
Interval¶
The approximate interval, in seconds, between health checks of an individual instance.
Integer value expected.
Updates cause replacement.
UnhealthyThreshold¶
The number of consecutive health probe failures required before moving the instance to the unhealthy state
Integer value expected.
Updates cause replacement.
Instances¶
The list of instance IDs load balanced.
List value expected.
Can be updated without replacement.
LBCookieStickinessPolicy¶
Note
Not implemented.
SecurityGroups¶
List of Security Groups assigned on current LB.
List value expected.
Can be updated without replacement.
Subnets¶
Note
Not implemented.
Attributes¶
CanonicalHostedZoneName¶
The name of the hosted zone that is associated with the LoadBalancer.
CanonicalHostedZoneNameID¶
The ID of the hosted zone name that is associated with the LoadBalancer.
DNSName¶
The DNS name for the LoadBalancer.
SourceSecurityGroup.GroupName¶
The security group that you can use as part of your inbound rules for your LoadBalancer’s back-end instances.
SourceSecurityGroup.OwnerAlias¶
Owner of the source security group.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::ElasticLoadBalancing::LoadBalancer
properties:
AvailabilityZones: [Value, Value, ...]
HealthCheck: {"HealthyThreshold": Integer, "Interval": Integer, "Target": String, "Timeout": Integer, "UnhealthyThreshold": Integer}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, {"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, ...]
SecurityGroups: [Value, Value, ...]
AWS::IAM::AccessKey¶
Required Properties¶
UserName¶
The name of the user that the new key will belong to.
String value expected.
Updates cause replacement.
Attributes¶
SecretAccessKey¶
Keypair secret key.
UserName¶
Username associated with the AccessKey.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::AccessKey
properties:
UserName: String
AWS::IAM::User¶
Optional Properties¶
LoginProfile¶
A login profile for the user.
Map value expected.
Updates cause replacement.
Map properties:
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::User
properties:
Groups: [Value, Value, ...]
LoginProfile: {"Password": String}
Path: String
Policies: [Value, Value, ...]
AWS::S3::Bucket¶
Optional Properties¶
AccessControl¶
A predefined access control list (ACL) that grants permissions on the bucket.
String value expected.
Updates cause replacement.
Allowed values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, BucketOwnerRead, BucketOwnerFullControl
WebsiteConfiguration¶
Information used to configure the bucket as a static website.
Map value expected.
Updates cause replacement.
Map properties:
Attributes¶
DomainName¶
The DNS name of the specified bucket.
WebsiteURL¶
The website endpoint for the specified bucket.
show¶
Detailed information about resource.
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::S3::Bucket
properties:
AccessControl: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
WebsiteConfiguration: {"IndexDocument": String, "ErrorDocument": String}