w^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A!B!C!D!E!F!G!H!I!J!K!L!M!N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l$m$n$o$p$q$r$s$t$u$v$w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&'''''''''''((((((((((()))))))))))))))*****************+++++++++++++++++++,,,,,,,,,,,,,,,,,---------- - - - - ---...........///// /!/"/#/$/%/&0'0(0)0*0+0,0-0.0/000112131415161718191:1;1<1=1>1?1@1A1B1C1D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~333333333333334444444445555555555566666666666667777777777788888888888999999999999999999999999999999999999999:::::::::::::::::::;;;;;;;;;;;; ; ; ; < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5=6=7=8=9=:=;=<===>=?=@>A>B>C>D>E>F>G>H>I>J>K>L>M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDEEEEEEEEEFFFFFFFFFFFFFFFFFFFGGGGGGGGGHHHHHHHHHHHHHIIIIIIIIIIJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONone%&/<=IAWe need to wrap Doubles for the same reason we need to wrap Ints.Class used to create a   from another type.?We need to wrap Bools for the same reason we need to wrap Ints.We need to wrap integers so we can override the Aeson type-classes. This is necessary because CloudFront made the silly decision to represent numbers as JSON strings. JThis type is a wrapper around any values in a template. A value can be a  , a  ", or an intrinsic function. See: _http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html!      None5,4Full data type definition for VolumeAttachment. See 1$ for a more convenient constructor.1Constructor for ,* containing required fields as arguments.21How the device is exposed to the instance (e.g., devsdh, or xvdh).3The ID of the instance to which the volume attaches. This value can be a reference to an AWS::EC2::Instance resource, or it can be the physical ID of an existing EC2 instance.4The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone. This value can be a reference to an AWS::EC2::Volume resource, or it can be the volume ID of an existing Amazon EBS volume. ,-./0123423456 ,-./01234 ,-./0651234,-./0123456None599Full data type definition for VPCGatewayAttachment. See ># for a more convenient constructor.>Constructor for 9* containing required fields as arguments.?The ID of the Internet gateway.@1The ID of the VPC to associate with this gateway.AIThe ID of the virtual private network (VPN) gateway to attach to the VPC. 9:;<=>@?@ABC 9:;<=>?@A 9:;<=CB>?@A9:;<=>?@ABCNone5F/Full data type definition for VPCEndpoint. See L$ for a more convenient constructor.LConstructor for F) containing required fields as arguments.MA policy to attach to the endpoint that controls access to the service. The policy must be valid JSON. The default policy allows full access to the AWS service. For more information, see Controlling Access to Services in the Amazon VPC User Guide.NLOne or more route table IDs that are used by the VPC to reach the endpoint.OThe AWS service to which you want to establish a connection. Specify the service name in the form of com.amazonaws.region.service.P0The ID of the VPC in which the endpoint is used. FGHIJKLOPMNOPQR FGHIJKLMNOP FGHIJKRQLMNOPFGHIJKLMNOPQRNone5U8Full data type definition for UserToGroupAddition. See Y# for a more convenient constructor.YConstructor for U* containing required fields as arguments.Z"The name of group to add users to. UVWXYZ[Z[\]UVWXYZ[ UVWX]\YZ[UVWXYZ[\]None5`@Full data type definition for SubnetRouteTableAssociation. See d# for a more convenient constructor.dConstructor for `* containing required fields as arguments.eThe ID of the route table. This is commonly written as a reference to a route table declared elsewhere in the template. For example:f{The ID of the subnet. This is commonly written as a reference to a subnet declared elsewhere in the template. For example: `abcdefefgh`abcdef `abchgdef`abcdefghNone5 k3Full data type definition for ScheduledAction. See t$ for a more convenient constructor.tConstructor for k* containing required fields as arguments.u*The name or ARN of the Auto Scaling group.vUThe number of Amazon EC2 instances that should be running in the Auto Scaling group.wMThe time in UTC for this schedule to end. For example, 2010-06-01T00:00:00Z.xEThe maximum number of Amazon EC2 instances in the Auto Scaling group.yEThe minimum number of Amazon EC2 instances in the Auto Scaling group.zThe time in UTC when recurring future actions will start. You specify the start time by following the Unix cron syntax format. For more information about cron syntax, go to  !http://en.wikipedia.org/wiki/Cron. Specifying the StartTime and EndTime properties with Recurrence property forms the start and stop boundaries of the recurring action.{OThe time in UTC for this schedule to start. For example, 2010-06-01T00:00:00Z.klmnopqrstuuvwxyz{|}klmnopqrstuvwxyz{klmnopqrs}|tuvwxyz{ klmnopqrstuvwxyz{|}None5)Full data type definition for Route. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.The CIDR address block used for the destination match. For example, 0.0.0.0/0. Routing decisions are based on the most specific match.The ID of an Internet gateway or virtual private gateway that is attached to your VPC. For example: igw-eaad4883. For route entries that specify a gateway, you must specify a dependency on the gateway attachment resource. For more information, see DependsOn Attribute.>The ID of a NAT instance in your VPC. For example, i-1a2b3c4d.<The ID of a NAT gateway. For example, nat-0a12bc456789de0fg.,Allows the routing of network interface IDs.8The ID of the route table where the route will be added.  None5*Full data type definition for Policy. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.8The names of groups to which you want to add the policy.UA policy document that contains permissions to add to the specified users or groups.The name of the policy. If you specify multiple policies for an entity, specify unique names. For example, if you specify a list of policies for an IAM role, each policy must have a unique name.4The names of AWS::IAM::Roles to attach to this policy. Note If a policy has a Ref to a role and if a resource (such as AWS::ECS::Service) also has a Ref to the same role, add a DependsOn attribute to the resource so that the resource depends on the policy. This dependency ensures that the role's policy is available throughout the resource's lifecycle. For example, when you delete a stack with an AWS::ECS::Service resource, the DependsOn attribute ensures that the AWS::ECS::Service resource can complete its deletion before its role's policy is deleted.7The names of users for whom you want to add the policy.   None5.Full data type definition for NatGateway. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.5The public subnet in which to create the NAT gateway.   None51Full data type definition for ManagedPolicy. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.kA description of the policy. For example, you can describe the permissions that are defined in the policy.-The names of groups to attach to this policy.{The path for the policy. By default, the path is /. For more information, see IAM Identifiers in the IAM User Guide guide.Policies that define the permissions for this managed policy. For more information about policy syntax, see IAM Policy Elements Reference in IAM User Guide.*The names of roles to attach to this policy. Note If a policy has a Ref to a role and if a resource (such as AWS::ECS::Service) also has a Ref to the same role, add a DependsOn attribute to the resource so that the resource depends on the policy. This dependency ensures that the role's policy is available throughout the resource's lifecycle. For example, when you delete a stack with an AWS::ECS::Service resource, the DependsOn attribute ensures that the AWS::ECS::Service resource can complete its deletion before its role's policy is deleted.,The names of users to attach to this policy.  None5 1Full data type definition for LifecycleHook. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.:The name of the Auto Scaling group for the lifecycle hook.tThe action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.The amount of time that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that you specified in the DefaultResult property.UThe state of the Amazon EC2 instance to which you want to attach the lifecycle hook.nAdditional information that you want to include when Auto Scaling sends a message to the notification target.The Amazon resource name (ARN) of the notification target that Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. You can specify an Amazon SQS queue or an Amazon SNS topic. The notification message includes the following information: lifecycle action token, user account ID, Auto Scaling group name, lifecycle hook name, instance ID, lifecycle transition, and notification metadata.The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. The role requires permissions to Amazon SNS and Amazon SQS.  None53Full data type definition for InstanceProfile. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.The path associated with this IAM instance profile. For information about IAM paths, see Friendly Names and Paths in the AWS Identity and Access Management User Guide.4The roles associated with this IAM instance profile.  None52Full data type definition for EIPAssociation. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.lAllocation ID for the VPC Elastic IP address you want to associate with an Amazon EC2 instance in your VPC.Elastic IP address that you want to associate with the Amazon EC2 instance specified by the InstanceId property. You can specify an existing Elastic IP address or a reference to an Elastic IP address allocated with a AWS::EC2::EIP resource.}Instance ID of the Amazon EC2 instance that you want to associate with the Elastic IP address specified by the EIP property.UThe ID of the network interface to associate with the Elastic IP address (VPC only).XThe private IP address that you want to associate with the Elastic IP address. The private IP address is restricted to the primary and secondary private IP addresses that are associated with the network interface. By default, the private IP address that is associated with the EIP is the primary private IP address of the network interface.  None5'Full data type definition for EIP. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.dThe Instance ID of the Amazon EC2 instance that you want to associate with this Elastic IP address.7Set to vpc to allocate the address to your Virtual Private Cloud (VPC). No other values are supported. Note If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the DependsOn attribute on this resource. For more information, see DependsOn Attribute. For more information, see AllocateAddress in the Amazon EC2 API Reference. For more information about Elastic IP Addresses in VPC, go to IP Addressing in Your VPC in the Amazon VPC User Guide.  None5;Full data type definition for DBSecurityGroupIngress. See # for a more convenient constructor.Constructor for * containing required fields as arguments.The IP range to authorize. For an overview of CIDR ranges, go to the Wikipedia Tutorial. Type: String Update requires: No interruptionbThe name (ARN) of the AWS::RDS::DBSecurityGroup to which this ingress will be added. Type: StringThe ID of the VPC or EC2 security group to authorize. For VPC DB security groups, use EC2SecurityGroupId. For EC2 security groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: String The name of the EC2 security group to authorize. For VPC DB security groups, use EC2SecurityGroupId. For EC2 security groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: String QThe AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, use EC2SecurityGroupId. For EC2 security groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: String              None5-Full data type definition for AccessKey. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments. This value is specific to AWS CloudFormation and can only be incremented. Incrementing this value notifies AWS CloudFormation that you want to rotate your access key. When you update your stack, AWS CloudFormation will replace the existing access key with a new key.aThe status of the access key. By default, AWS CloudFormation sets this property value to Active.5The name of the user that the new key will belong to.   None54Full data type definition for UserLoginProfile. See  $ for a more convenient constructor. Constructor for * containing required fields as arguments.!The password for the user."{Specifies whether the user is required to set a new password the next time the user logs in to the AWS Management Console.  !!"#$ !" $# !" !"#$None5'3Full data type definition for StepAdjustments. See ,$ for a more convenient constructor.,Constructor for '* containing required fields as arguments.-The lower bound for the difference between the breach threshold and the CloudWatch metric. If the metric value exceeds the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity..The upper bound for the difference between the breach threshold and the CloudWatch metric. If the metric value exceeds the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity./The amount by which to scale, based on the value that you specified in the AdjustmentType property. A positive value adds to the current capacity and a negative number subtracts from the current capacity. '()*+,/-./01 '()*+,-./ '()*+10,-./'()*+,-./01None5 41Full data type definition for ScalingPolicy. See ?$ for a more convenient constructor.?Constructor for 4) containing required fields as arguments.@Specifies whether the ScalingAdjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.AhThe name or Amazon Resource Name (ARN) of the Auto Scaling Group that you want to attach the policy to.BThe amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. Do not specify this property if you are using the StepScaling policy type.C The estimated time, in seconds, until a newly launched instance can send metrics to CloudWatch. By default, Auto Scaling uses the cooldown period, as specified in the Cooldown property. Do not specify this property if you are using the SimpleScaling policy type.DThe aggregation type for the CloudWatch metrics. You can specify Minimum, Maximum, or Average. By default, AWS CloudFormation specifies Average. Do not specify this property if you are using the SimpleScaling policy type.EFor the PercentChangeInCapacity adjustment type, the minimum number of instances to scale. The scaling policy changes the desired capacity of the Auto Scaling group by a minimum of this many instances. This property replaces the MinAdjustmentStep property.FAn Auto Scaling policy type. You can specify SimpleScaling or StepScaling. By default, AWS CloudFormation specifies SimpleScaling. For more information, see Scaling Policy Types in the Auto Scaling User Guide.GThe number of instances by which to scale. The AdjustmentType property determines whether AWS CloudFormation interprets this number as an absolute number (when the ExactCapacityvalue is specified) or as a percentage of the existing Auto Scaling group size (when the PercentChangeInCapacity value is specified). A positive value adds to the current capacity and a negative value subtracts from the current capacity.HUA set of adjustments that enable you to scale based on the size of the alarm breach.456789:;<=>?@A@ABCDEFGHIJ456789:;<=>?@ABCDEFGH456789:;<=>JI?@ABCDEFGH 4 56789:;<=>?@ABCDEFGHIJNone5 M=Full data type definition for SecurityGroupIngressRule. See V# for a more convenient constructor.VConstructor for M* containing required fields as arguments.WSpecifies a CIDR range.XThe start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number). Type: IntegerYqAn IP protocol name or number. For valid values, go to the IpProtocol parameter in AuthorizeSecurityGroupIngressZFor VPC security groups only. Specifies the ID of the Amazon EC2 Security Group to allow access. You can use the Ref intrinsic function to refer to the logical ID of a security group defined in the same template.[For non-VPC security groups only. Specifies the name of the Amazon EC2 Security Group to use for access. You can use the Ref intrinsic function to refer to the logical name of a security group that is defined in the same template.\Specifies the AWS Account ID of the owner of the Amazon EC2 Security Group that is specified in the SourceSecurityGroupName property.]The end of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).MNOPQRSTUVYWXYZ[\]^_MNOPQRSTUVWXYZ[\]MNOPQRSTU_^VWXYZ[\] MNOPQRSTUVWXYZ[\]^_None5b<Full data type definition for SecurityGroupEgressRule. See i# for a more convenient constructor.iConstructor for b* containing required fields as arguments.jSpecifies a CIDR range.kQSpecifies the GroupId of the destination Amazon VPC security group. Type: StringlThe start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number).mqAn IP protocol name or number. For valid values, go to the IpProtocol parameter in AuthorizeSecurityGroupIngressnThe end of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).bcdefghimjklmnop bcdefghijklmnbcdefghpoijklmn bcdefghijklmnopNone5s/Full data type definition for ResourceTag. See w$ for a more convenient constructor.wConstructor for s) containing required fields as arguments.xThe key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.yThe value for the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. stuvwxyxyz{stuvwxy stuv{zwxystuvwxyz{None5"~.Full data type definition for DBInstance. See $ for a more convenient constructor.Constructor for ~) containing required fields as arguments.KThe allocated storage size specified in gigabytes (GB). If any value is used in the Iops parameter, AllocatedStorage must be at least 100 GB, which corresponds to the minimum Iops value of 1000. If Iops is increased (in 1000 IOPS increments), then AllocatedStorage must also be increased (in 100 GB increments) correspondingly.:Indicates whether major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is applied asynchronously as soon as possible. Constraints: This parameter must be set to true when you specify an EngineVersion that differs from the DB instance's current major version.Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. The default value is true.The name of the Availability Zone where the DB instance is located. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.The number of days for which automatic DB snapshots are retained. Important If this DB instance is deleted or replaced during an update, all automated snapshots are deleted. However, manual DB snapshot are retained.For supported engines, specifies the character set to associate with the database instance. For more information, see Appendix: Oracle Character Sets Supported in Amazon RDS in the Amazon Relational Database Service User Guide. If you specify the DBSnapshotIdentifier or SourceDBInstanceIdentifier property, do not specify this property. The value is inherited from the snapshot or source database instance.The identifier of an existing DB cluster that this instance will be associated with. If you specify this property, specify aurora for the Engine property and do not specify any of the following properties: AllocatedStorage, CharacterSetName, DBSecurityGroups, SourceDBInstanceIdentifier, and StorageType. Amazon RDS assigns the first DB instance in the cluster as the primary and additional DB instances as replicas.EThe name of the compute and memory capacity class of the DB instance.A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lower case. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see Name Type. Important If you specify a name, you cannot do updates that require this resource to be replaced. You can still do updates that require no or some interruption. If you must replace the resource, specify a new name.The name of the initial database of this instance that was provided at create time, if one was specified. This same name is returned for the life of the DB instance. Note If you restore from a snapshot, do specify this property for the MySQL or MariaDB engines.}The name of an existing DB parameter group or a reference to an AWS::RDS::DBParameterGroup resource created in the template.+A list of the DB security groups to assign to the Amazon RDS instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice-versa.aThe identifier for the DB snapshot to restore from. By specifying this property, you can create a DB instance from the specified DB snapshot. If the DBSnapshotIdentifier property is an empty string or the AWS::RDS::DBInstance declaration has no DBSnapshotIdentifier property, the database is created as a new database. If the property contains a value (other than empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name does not exist, the database creation fails and the stack rolls back. Some DB instance properties are not valid when you restore from a snapshot, such as the MasterUsername and MasterUserPassword properties. For information about the properties that you can specify, see the RestoreDBInstanceFromDBSnapshot action in the Amazon Relational Database Service API Reference.*A DB subnet group to associate with the DB instance. If there is no DB subnet group, then it is a non-VPC DB instance. For more information about using Amazon RDS in a VPC, go to Using Amazon RDS with Amazon Virtual Private Cloud (VPC) in the Amazon Relational Database Service Developer Guide.&The name of the database engine that the DB instance uses. This property is optional when you specify the DBSnapshotIdentifier property to create DB instances. For valid values, see the Engine parameter of the CreateDBInstance action in the Amazon Relational Database Service API Reference.1The version number of the database engine to use.nThe number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000. If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GB of storage (a ratio of 5:1) or specify 2000 IOPS with 200 GB of storage (a ratio of 10:1). For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon Relational Database Service User Guide.The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to encrypt the database instance, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you enable the StorageEncrypted property but don't specify this property, the default master key is used. If you specify this property, you must set the StorageEncrypted property to true. If you specify the DBSnapshotIdentifier or SourceDBInstanceIdentifier property, do not specify this property. The value is inherited from the snapshot or source database instance. Note Currently, if you specify DBSecurityGroups, this property is ignored. If you want to specify a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see Using Amazon RDS with Amazon VPC in the Amazon Relational Database Service User Guide.2The license model information for the DB instance.mThe master user name for the database instance. This property is optional when you specify the DBSnapshotIdentifier or the DBClusterIdentifier property to create DB instances. Note If you specify the SourceDBInstanceIdentifier or DBSnapshotIdentifier property, do not specify this property. The value is inherited from the source database instance or snapshot.GThe master password for the database instance. This property is optional when you specify the DBSnapshotIdentifier or the DBClusterIdentifier property to create DB instances. Note If you specify the SourceDBInstanceIdentifier property, do not specify this property. The value is inherited from the source database instance.rSpecifies if the database instance is a multiple Availability Zone deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true. Note Do not specify this property if you want a Multi-AZ deployment for a SQL Server database instance. Use the mirroring option in an option group to set Multi-AZ for a SQL Server database instance.?An option group that this database instance is associated with.The port for the instance.The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.IThe weekly time range (in UTC) during which system maintenance can occur.8Indicates whether the database instance is an Internet-facing instance. If you specify true, an instance is created with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, an internal instance is created with a DNS name that resolves to a private IP address. The default behavior value depends on your VPC setup and the database subnet group. For more information, see the PubliclyAccessible parameter in CreateDBInstance in the Amazon Relational Database Service API Reference. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute. Note Currently, if you specify DBSecurityGroups, this property is ignored. If you want to specify a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see Using Amazon RDS with Amazon VPC in the Amazon Relational Database Service User Guide.EIf you want to create a read replica DB instance, specify the ID of the source database instance. Each database instance can have a certain number of read replicas. For more information, see Working with Read Replicas in the Amazon Relational Database Service Developer Guide. The SourceDBInstanceIdentifier property determines whether a database instance is a read replica. If you remove the SourceDBInstanceIdentifier property from your current template and then update your stack, the read replica is deleted and a new database instance (not a read replica) is created. Important Read replicas do not support deletion policies. Any deletion policy that's associated with a read replica is ignored. If you specify SourceDBInstanceIdentifier, do not set the MultiAZ property to true and do not specify the DBSnapshotIdentifier property. You cannot deploy read replicas in multiple Availability Zones, and you cannot create a read replica from a snapshot. Do not set the BackupRetentionPeriod, DBName, MasterUsername, MasterUserPassword, and PreferredBackupWindow properties. The database attributes are inherited from the source database instance, and backups are disabled for read replicas. If the source DB instance is in a different region than the read replica, specify a valid DB instance ARN. For more information, see Constructing a Amazon RDS Amazon Resource Name (ARN) in the Amazon Relational Database Service User Guide. For DB instances in an Amazon Aurora clusters, do not specify this property. Amazon RDS assigns automatically assigns a writer and reader DB instances.CIndicates whether the database instance is encrypted. If you specify the DBClusterIdentifier, DBSnapshotIdentifier, or SourceDBInstanceIdentifier property, do not specify this property. The value is inherited from the cluster, snapshot, or source database instance. Note Currently, if you specify DBSecurityGroups, this property is ignored. If you want to specify a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see Using Amazon RDS with Amazon VPC in the Amazon Relational Database Service User Guide. The storage type associated with this database instance. For the default and valid values, see the StorageType parameter of the CreateDBInstance action in the Amazon Relational Database Service API Reference. Note Currently, if you specify DBSecurityGroups, this property is ignored. If you want to specify a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see Using Amazon RDS with Amazon VPC in the Amazon Relational Database Service User Guide.FAn arbitrary set of tags (key value pairs) for this database instance.A list of the VPC security groups to assign to the Amazon RDS instance. The list can include both the physical IDs of existing VPC security groups or references to AWS::EC2::SecurityGroup resources created in the template. If you set VPCSecurityGroups, you must not set DBSecurityGroups, and vice-versa. Important You can migrate a database instance in your stack from an RDS DB security group to a VPC security group, but you should keep the following points in mind: You cannot revert to using an RDS security group once you have established a VPC security group membership. When you migrate your DB instance to VPC security groups, if your stack update rolls back because of another failure in the database instance update, or because of an update failure in another AWS CloudFormation resource, the rollback will fail because it cannot revert to an RDS security group. To avoid this situation, only migrate your DB instance to using VPC security groups when that is the only change in your stack template.E~C~E~$~!None54Full data type definition for DBParameterGroup. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.VA friendly description of the RDS parameter group. For example, "My Parameter Group".IThe database family of this RDS parameter group. For example, "MySQL5.1".The parameters to set for this RDS parameter group. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance that is associated with the parameter group before the change can take effect.<The tags that you want to attach to the RDS parameter group.   None51Full data type definition for DBSubnetGroup. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.(The description for the DB Subnet Group.+The EC2 Subnet IDs for the DB Subnet Group.BThe tags that you want to attach to the RDS database subnet group.   None53Full data type definition for InternetGateway. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.=An arbitrary set of tags (key value pairs) for this resource.None5.Full data type definition for RouteTable. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.OThe ID of the VPC where the route table will be created. Example: vpc-11ad4878@An arbitrary set of tags (key value pairs) for this route table.  None51Full data type definition for SecurityGroup. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments."Description of the security group.1A list of Amazon EC2 security group egress rules.2A list of Amazon EC2 security group ingress rules.1The tags that you want to attach to the resource.bThe physical ID of the VPC. Can be obtained by using a reference to an AWS::EC2::VPC, such as: { RefJ : "myVPC" }. For more information about using the Ref function, see Ref.  None5*Full data type definition for Subnet. See  $ for a more convenient constructor. Constructor for ) containing required fields as arguments.gThe availability zone in which you want the subnet. Default: AWS selects a zone for you (recommended).OThe CIDR block that you want the subnet to cover (for example, "10.0.0.0/24").zIndicates whether instances that are launched in this subnet receive a public IP address. By default, the value is false.;An arbitrary set of tags (key value pairs) for this subnet.A Ref structure that contains the ID of the VPC on which you want to create the subnet. The VPC ID is provided as the value of the Ref property, as: { Ref: VPCID }.                      None5'Full data type definition for VPC. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.EThe CIDR block you want the VPC to cover. For example: "10.0.0.0/16". Specifies whether DNS resolution is supported for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not. By default the value is set to true.!0Specifies whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not. You can only set EnableDnsHostnames to true if you also set the EnableDnsSupport attribute to true. By default, the value is set to false." The allowed tenancy of instances launched into the VPC. "default": Instances can be launched with any tenancy. "dedicated": Any instance launched into the VPC will automatically be dedicated, regardless of the tenancy option you specify when you launch the instance.#8An arbitrary set of tags (key value pairs) for this VPC. !"#$%  !"#%$ !"#  !"#$% None5 (*Full data type definition for Volume. See 3$ for a more convenient constructor.3Constructor for () containing required fields as arguments.4Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O. For more information, see Working with the AutoEnableIO Volume Attribute in the Amazon EC2 User Guide for Linux Instances.58The Availability Zone in which to create the new volume.6Indicates whether the volume is encrypted. Encrypted Amazon EBS volumes can only be attached to instance types that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. You cannot create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch the AMI on supported instance types. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide for Linux Instances.7The number of I/O operations per second (IOPS) that the volume supports. For more information about the valid sizes for each volume type, see the Iops parameter for the CreateVolume action in the Amazon EC2 API Reference.84The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to create the encrypted volume, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you create an encrypted volume and don't specify this property, the default master key is used.9The size of the volume, in gibibytes (GiBs). For more information about the valid sizes for each volume type, see the Size parameter for the CreateVolume action in the Amazon EC2 API Reference. If you specify the SnapshotId property, specify a size that is equal to or greater than the snapshot size. If you don't specify a size, Amazon EC2 will use the size of the snapshot as the volume size.:1The snapshot from which to create the new volume.;;An arbitrary set of tags (key value pairs) for this volume.<The volume type. You can specify standard, io1, or gp2. If you set the type to io1, you must also set the Iops property. For more information about these values and the default value, see the VolumeType parameter for the CreateVolume action in the Amazon EC2 API Reference.()*+,-./01235456789:;<=>()*+,-./0123456789:;<()*+,-./012>=3456789:;< ( )*+,-./0123456789:;<=>!None5A9Full data type definition for RecordSetGeoLocation. See F# for a more convenient constructor.FConstructor for A* containing required fields as arguments.GAll DNS queries from the continent that you specified are routed to this resource record set. If you specify this property, omit the CountryCode and SubdivisionCode properties. For valid values, see the ContinentCode element in the Amazon Route 53 API Reference. Type: StringHAll DNS queries from the country that you specified are routed to this resource record set. If you specify this property, omit the ContinentCode property. For valid values, see the CountryCode element in the Amazon Route 53 API Reference. Type: StringIIf you specified US for the country code, you can specify a state in the United States. All DNS queries from the state that you specified are routed to this resource record set. If you specify this property, you must specify US for the CountryCode and omit the ContinentCode property. For valid values, see the SubdivisionCode element in the Amazon Route 53 API Reference. Type: String ABCDEFGHIJK ABCDEFGHI ABCDEKJFGHIABCDEFGHIJK"None5N9Full data type definition for RDSSecurityGroupRule. See T# for a more convenient constructor.TConstructor for N* containing required fields as arguments.UfThe IP range to authorize. For an overview of CIDR ranges, go to the Wikipedia Tutorial. Type: StringVId of the VPC or EC2 Security Group to authorize. For VPC DB Security Groups, use EC2SecurityGroupId. For EC2 Security Groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: StringWName of the EC2 Security Group to authorize. For VPC DB Security Groups, use EC2SecurityGroupId. For EC2 Security Groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: StringXMAWS Account Number of the owner of the EC2 Security Group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB Security Groups, use EC2SecurityGroupId. For EC2 Security Groups, use EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId. Type: String NOPQRSTUVWXYZ NOPQRSTUVWX NOPQRSZYTUVWXNOPQRSTUVWXYZ#None5]3Full data type definition for DBSecurityGroup. See c$ for a more convenient constructor.cConstructor for ]* containing required fields as arguments.dYThe Id of VPC. Indicates which VPC this DB Security Group should belong to. Type: StringeNetwork ingress authorization for an Amazon EC2 security group or an IP address range. Type: List of RDS Security Group Rules.f/Description of the security group. Type: StringgEThe tags that you want to attach to the Amazon RDS DB security group. ]^_`abcefdefghi ]^_`abcdefg ]^_`abihcdefg]^_`abcdefghi$None5lBFull data type definition for PrivateIpAddressSpecification. See p# for a more convenient constructor.pConstructor for l* containing required fields as arguments.q0The private IP address of the network interface.rSets the private IP address as the primary private address. You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address. lmnopqrqrstlmnopqr lmnotspqrlmnopqrst%None5 w4Full data type definition for NetworkInterface. See $ for a more convenient constructor.Constructor for w* containing required fields as arguments.rIndicates whether the network interface receives a public IP address. You can associate a public IP address with a network interface only if it has a device index of eth0 and if it is a new network interface (not an existing one). In other words, if you specify true, don't specify a network interface ID. For more information, see Amazon EC2 Instance IP Addressing.EWhether to delete the network interface when the instance terminates.*The description of this network interface.9The network interface's position in the attachment order.DA list of security group IDs associated with this network interface.!An existing network interface ID.Assigns a single private IP address to the network interface, which is used as the primary private IP address. If you want to specify multiple private IP address, use the PrivateIpAddresses property.Assigns a list of private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the Primary property to true in the PrivateIpAddressSpecification property. If you want Amazon EC2 to automatically assign private IP addresses, use the SecondaryPrivateIpCount property and do not specify this property. For information about the maximum number of private IP addresses, see Private IP Addresses Per ENI Per Instance Type in the Amazon EC2 User Guide for Linux Instances.eThe number of secondary private IP addresses that Amazon EC2 auto assigns to the network interface. Amazon EC2 uses the value of the PrivateIpAddress property as the primary private IP address. If you don't specify that property, Amazon EC2 auto assigns both the primary and secondary private IP addresses. If you want to specify your own list of private IP addresses, use the PrivateIpAddresses property and do not specify this property. For information about the maximum number of private IP addresses, see Private IP Addresses Per ENI Per Instance Type in the Amazon EC2 User Guide for Linux Instances.=The ID of the subnet to associate with the network interface.wxyz{|}~wxyz{|}~wxyz{|}~w xyz{|}~&None54Full data type definition for ListenerProperty. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the load balancer.Specifies the protocol to use for routing traffic to back-end instances HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the load balancer.vSpecifies the external load balancer port number. This property cannot be modified for the life of the load balancer.LA list of ElasticLoadBalancing policy names to associate with the listener.Specifies the load balancer transport protocol to use for routing  HTTP, HTTPS, TCP or SSL. This property cannot be modified for the life of the load balancer.The ARN of the SSL certificate to use. For more information about SSL certificates, see Managing Server Certificates in the AWS Identity and Access Management documentation. 'None5=Full data type definition for LBCookieStickinessPolicy. See # for a more convenient constructor.Constructor for * containing required fields as arguments.The time period, in seconds, after which the cookie should be considered stale. If this parameter isn't specified, the sticky session will last for the duration of the browser session.The name of the policy being created. The name must be unique within the set of policies for this load balancer. Note To associate this policy with a listener, include the policy name in the listener's PolicyNames property.  (None5/Full data type definition for IAMPolicies. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.NA policy document that describes what actions are allowed on which resources.The name of the policy.  )None5)Full data type definition for Group. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.A name for the IAM group. For valid values, see the GroupName parameter for the CreateGroup action in the IAM API Reference. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the group name.8One or more managed policy ARNs to attach to this group.hThe path to the group. For more information about paths, see Identifiers for IAM Entities in Using IAM.rThe policies to associate with this group. For information about policies, see Overview of Policies in Using IAM.   *None5+Full data type definition for IAMRole. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.=The IAM assume role policy that is associated with this role.7One or more managed policy ARNs to attach to this role.uThe path associated with this role. For information about IAM paths, see Friendly Names and Paths in IAM User Guide.The policies to associate with this role. Policies can also be specified externally. For sample templates that demonstrates both embedded and external policies, see Template Examples. If you specify multiple polices, specify unique values for the policy name. If you don't, updates to the IAM role will fail. Note If an external policy (such as AWS::IAM::Policy or AWS::IAM::ManagedPolicy) has a Ref to a role and if a resource (such as AWS::ECS::Service) also has a Ref to the same role, add a DependsOn attribute to the resource so that the resource depends on the external policy. This dependency ensures that the role's policy is available throughout the resource's lifecycle. For example, when you delete a stack with an AWS::ECS::Service resource, the DependsOn attribute ensures that the AWS::ECS::Service resource can complete its deletion before its role's policy is deleted.A name for the IAM role. For valid values, see the RoleName parameter for the CreateRole action in the IAM API Reference. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the role name.  +None5(Full data type definition for User. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.4A name of a group to which you want to add the user.PCreates a login profile so that the user can access the AWS Management Console.7One or more managed policy ARNs to attach to this user.The path for the user name. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management.The policies to associate with this user. For information about policies, see Overview of Policies in [Using IAM]. Note If you specify multiple polices, specify unique values for the policy name. If you don't, updates to the IAM user will fail.A name for the IAM user. For valid values, see the UserName parameter for the CreateUser action in the IAM API Reference. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the group name. ,None5/Full data type definition for HealthCheck. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.uSpecifies the number of consecutive health probe successes required before moving the instance to the Healthy state.aSpecifies the approximate interval, in seconds, between health checks of an individual instance.Specifies the instance's protocol and port to check. The protocol can be TCP, HTTP, HTTPS, or SSL. The range of valid ports is 1 through 65535.Specifies the amount of time, in seconds, during which no response means a failed health probe. This value must be less than the value for Interval.vSpecifies the number of consecutive health probe failures required before moving the instance to the Unhealthy state.  -None5-Full data type definition for ELBPolicy. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.A list of arbitrary attributes for this policy. If you don't need to specify any policy attributes, specify an empty list ([]).bA list of instance ports for the policy. These are the ports associated with the back-end server. 6A list of external load balancer ports for the policy. ;A name for this policy that is unique to the load balancer. The name of the policy type for this policy. This must be one of the types reported by the Elastic Load Balancing DescribeLoadBalancerPolicyTypes action.                    .None5@Full data type definition for EC2SsmAssociationParameters. See # for a more convenient constructor.Constructor for * containing required fields as arguments.FThe name of an input parameter that is in the associated SSM document. The value of an input parameter.  /None57Full data type definition for EC2SsmAssociations. See # for a more convenient constructor.Constructor for * containing required fields as arguments. CThe input parameter values to use with the associated SSM document.!;The name of an SSM document to associate with the instance. ! !"# ! #" ! !"#0None5&1Full data type definition for EC2MountPoint. See *$ for a more convenient constructor.*Constructor for &) containing required fields as arguments.+3How the device is exposed to the instance (such as devsdh, or xvdh).,The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone and the instance must be running. &'()*+,+,-.&'()*+, &'().-*+,&'()*+,-.1None512Full data type definition for EBSBlockDevice. See 9$ for a more convenient constructor.9Constructor for 1) containing required fields as arguments.:\Determines whether to delete the volume on instance termination. The default value is true.;Indicates whether the volume is encrypted. Encrypted Amazon EBS volumes can only be attached to instance types that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. You cannot create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch the AMI on supported instance types. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide for Linux Instances.<qThe number of I/O operations per second (IOPS) that the volume supports. This can be an integer from 100 - 2000.=>The snapshot ID of the volume to use to create a block device.>}The volume size, in gibibytes (GiB). This can be a number from 1  1024. If the volume type is io1, the minimum value is 10.?The volume type. You can specify standard, io1, or gp2. If you set the type to io1, you must also set the Iops property. For more information about these values and the default value, see CreateVolume in the Amazon EC2 API Reference.123456789:;<=>?@A123456789:;<=>?12345678A@9:;<=>? 123456789:;<=>?@A2None5D:Full data type definition for EC2BlockDeviceMapping. See J# for a more convenient constructor.JConstructor for D* containing required fields as arguments.K)The name of the device within Amazon EC2.M4This property can be used to unmap a defined device.NThe name of the virtual device. The name must be in the form ephemeralX where X is a number starting from zero (0); for example, ephemeral0. DEFGHIJKKLMNOP DEFGHIJKLMN DEFGHIPOJKLMNDEFGHIJKLMNOP3None5S/Full data type definition for EC2Instance. See n$ for a more convenient constructor.nConstructor for S) containing required fields as arguments.oSpecifies the name of the Availability Zone in which the instance is located. For more information about AWS regions and Availability Zones, see Regions and Availability Zones in the Amazon EC2 User Guide.pDefines a set of Amazon Elastic Block Store block device mappings, ephemeral instance store block device mappings, or both. For more information, see Amazon Elastic Block Store or Amazon EC2 Instance Store in the Amazon EC2 User Guide for Linux Instances.qASpecifies whether the instance can be terminated through the API.rSpecifies whether the instance is optimized for Amazon Elastic Block Store I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. For more information about the instance types that can be launched as Amazon EBS optimized instances, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute Cloud User Guide. Additional fees are incurred when using Amazon EBS-optimized instances.sThe physical ID (resource name) of an instance profile or a reference to an AWS::IAM::InstanceProfile resource. For more information about IAM roles, see Working with Roles in the AWS Identity and Access Management User Guide.t`Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.uIndicates whether an instance stops or terminates when you shut down the instance from the instance's operating system shutdown command. You can specify stop or terminate. For more information, see the RunInstances command in the Amazon EC2 API Reference.vThe instance type, such as t2.micro. The default type is "m1.small". For a list of instance types, see Instance Families and Types.wThe kernel ID.x-Provides the name of the Amazon EC2 key pair.y9Specifies whether monitoring is enabled for the instance.zXA list of embedded objects that describe the network interfaces to associate with this instance. Note If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute.{kThe name of an existing placement group that you want to launch the instance into (for cluster instances).|The private IP address for this instance. Important If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance in order to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address. (Optional) If you're using Amazon VPC, you can use this parameter to assign the instance a specific available IP address from the subnet (for example, 10.0.0.25). By default, Amazon VPC selects an IP address from the subnet for the instance.} The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.~A list that contains the security group IDs for VPC security groups to assign to the Amazon EC2 instance. If you specified the NetworkInterfaces property, do not specify this property.Valid only for Amazon EC2 security groups. A list that contains the Amazon EC2 security groups to assign to the Amazon EC2 instance. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.Controls whether source/destination checking is enabled on the instance. Also determines if an instance in a VPC will perform network address translation (NAT). A value of "true" means that source/destination checking is enabled, and a value of "false" means that checking is disabled. For the instance to perform NAT, the value must be "false". For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.The Amazon EC2 Simple Systems Manager (SSM) document and parameter values to associate with this instance. To use this property, you must specify an IAM role for the instance. For more information, see Prerequisites for Remotely Running Commands on EC2 Instances in the Amazon EC2 User Guide for Microsoft Windows Instances. Note You can currently associate only one document with an instance.If you're using Amazon VPC, this property specifies the ID of the subnet that you want to launch the instance into. If you specified the NetworkInterfaces property, do not specify this property.=An arbitrary set of tags (key value pairs) for this instance.IThe tenancy of the instance that you want to launch. This value can be either "default" or "dedicated". An instance that has a tenancy value of "dedicated" runs on single-tenant hardware and can be launched only into a VPC. For more information, see Using EC2 Dedicated Instances Within Your VPC in the Amazon VPC User Guide.FBase64-encoded MIME user data that is made available to the instances.The Amazon EBS volumes to attach to the instance. Note Before detaching a volume, unmount any file systems on the device within your operating system. If you don't unmount the file system, a volume might get stuck in a busy state while detaching. Reserved.7STUVWXYZ[\]^_`abcdefghijklmntopqrstuvwxyz{|}~5STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4None57Full data type definition for ConnectionSettings. See # for a more convenient constructor.Constructor for * containing required fields as arguments.The time (in seconds) that a connection to the load balancer can remain idle, which means no data is sent over the connection. After the specified time, the load balancer closes the connection.5None5=Full data type definition for ConnectionDrainingPolicy. See # for a more convenient constructor.Constructor for * containing required fields as arguments.DWhether or not connection draining is enabled for the load balancer.lThe time in seconds after the load balancer closes all connections to a deregistered or unhealthy instance.  6None53Full data type definition for AutoScalingTags. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.The key name of the tag.The value for the tag.Set to true if you want AWS CloudFormation to copy the tag to EC2 instances that are launched as part of the auto scaling group. Set to false if you want the tag attached only to the auto scaling group and not copied to any instances launched as part of the auto scaling group.   7None5JFull data type definition for AutoScalingNotificationConfigurations. See # for a more convenient constructor.Constructor for * containing required fields as arguments.A list of event types that trigger a notification. Event types can include any of the following types: autoscaling:EC2_INSTANCE_LAUNCH, autoscaling:EC2_INSTANCE_LAUNCH_ERROR, autoscaling:EC2_INSTANCE_TERMINATE, autoscaling:EC2_INSTANCE_TERMINATE_ERROR, and autoscaling:TEST_NOTIFICATION. For more information about event types, see DescribeAutoScalingNotificationTypes in the Auto Scaling API Reference.VThe Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.  8None5AFull data type definition for AutoScalingMetricsCollection. See # for a more convenient constructor.Constructor for * containing required fields as arguments.The frequency at which Auto Scaling sends aggregated data to CloudWatch. For example, you can specify 1Minute to send aggregated data to CloudWatch every minute.[The list of metrics to collect. If you don't specify any metrics, all metrics are enabled.  9None54Full data type definition for AutoScalingGroup. See $ for a more convenient constructor.Constructor for * containing required fields as arguments.4Contains a list of availability zones for the group.mThe number of seconds after a scaling activity is completed before any further scaling activities can start.Specifies the desired capacity for the Auto Scaling group. If SpotPrice is not set in the AWS::AutoScaling::LaunchConfiguration for this Auto Scaling group, then Auto Scaling will begin to bring instances online based on DesiredCapacity. CloudFormation will not mark the Auto Scaling group as successful (by setting its status to CREATE_COMPLETE) until the desired capacity is reached. If SpotPrice is set, then DesiredCapacity will not be used as a criteria for success, since instances will only be started when the spot price has been matched. After the spot price has been matched, however, Auto Scaling uses DesiredCapacity as the target capacity for the group.xThe length of time in seconds after a new EC2 instance comes into service that Auto Scaling starts checking its health.oThe service you want the health status from, Amazon EC2 or Elastic Load Balancer. Valid values are EC2 or ELB.The ID of the Amazon EC2 instance you want to use to create the Auto Scaling group. Use this property if you want to create an Auto Scaling group that uses an existing Amazon EC2 instance instead of a launch configuration. When you use an Amazon EC2 instance to create an Auto Scaling group, a new launch configuration is first created and then associated with the Auto Scaling group. The new launch configuration derives all its properties from the instance, with the exception of BlockDeviceMapping and AssociatePublicIpAddress.CSpecifies the name of the associated AWS::AutoScaling::LaunchConfiguration. Note If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute.AA list of load balancers associated with this Auto Scaling group.+The maximum size of the Auto Scaling group.AEnables the monitoring of group metrics of an Auto Scaling group.+The minimum size of the Auto Scaling group.sAn embedded property that configures an Auto Scaling group to send notifications when specified events take place.The name of an existing cluster placement group into which you want to launch your instances. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group.The tags you want to attach to this resource. For more information about tags, go to Tagging Auto Scaling Groups and Amazon EC2 Instances in the Auto Scaling User Guide.CA policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information on configuring a termination policy for your Auto Scaling group, see Instance Termination Policy for Your Auto Scaling Group in the Auto Scaling User Guide.@A list of subnet identifiers of Amazon Virtual Private Cloud (Amazon VPCs). If you specify the AvailabilityZones property, the subnets that you specify for this property must reside in those Availability Zones. For more information, go to Using EC2 Dedicated Instances Within Your VPC in the Auto Scaling User Guide.%#%:None5>Full data type definition for AutoScalingEBSBlockDevice. See # for a more convenient constructor.Constructor for * containing required fields as arguments.lIndicates whether to delete the volume when the instance is terminated. By default, Auto Scaling uses true.LIndicates whether the volume is encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that you create from encrypted snapshots are automatically encrypted. You cannot create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot.yThe number of I/O operations per second (IOPS) that the volume supports. The maximum ratio of IOPS to volume size is 30.%The snapshot ID of the volume to use.The volume size, in Gibibytes (GiB). This can be a number from 1  1024. If the volume type is EBS optimized, the minimum value is 10. For more information about specifying the volume type, see EbsOptimized in AWS::AutoScaling::LaunchConfiguration.The volume type. By default, Auto Scaling uses the standard volume type. For more information, see Ebs in the Auto Scaling API Reference. ;None5BFull data type definition for AutoScalingBlockDeviceMapping. See # for a more convenient constructor.Constructor for * containing required fields as arguments.)The name of the device within Amazon EC2.2The Amazon Elastic Block Store volume information.Suppresses the device mapping. If NoDevice is set to true for the root device, the instance might fail the Amazon EC2 health check. Auto Scaling launches a replacement instance if the instance fails the health check.The name of the virtual device. The name must be in the form ephemeralX where X is a number starting from zero (0), for example, ephemeral0.     <None5 8Full data type definition for LaunchConfiguration. See # for a more convenient constructor.Constructor for  * containing required fields as arguments. For Amazon EC2 instances in a VPC, indicates whether instances in the Auto Scaling group receive public IP addresses. If you specify true, each instance in the Auto Scaling receives a unique public IP address. Note If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute.!jSpecifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes."The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. You can specify this property only for EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.#hThe IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.$Specifies whether the launch configuration is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. Additional fees are incurred when using EBS-optimized instances. For more information about fees and supported instance types, see EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.%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.&`Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.'The ID of the Amazon EC2 instance you want to use to create the launch configuration. Use this property if you want the launch configuration to use settings from an existing Amazon EC2 instance. When you use an instance to create a launch configuration, all properties are derived from the instance with the exception of BlockDeviceMapping and AssociatePublicIpAddress. You can override any properties from the instance by specifying them in the launch configuration.(Indicates whether detailed instance monitoring is enabled for the Auto Scaling group. By default, this property is set to true (enabled). When detailed monitoring is enabled, Amazon CloudWatch (CloudWatch) generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Monitor Your Auto Scaling Instances in the Auto Scaling Developer Guide.)0Specifies the instance type of the EC2 instance.*:Provides the ID of the kernel associated with the EC2 AMI.+&Provides the name of the EC2 key pair.,8The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched in a VPC. You must set the value of this parameter to dedicated if want to launch dedicated instances in a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default). For more information, see CreateLaunchConfiguration in the Auto Scaling API Reference. If you specify this property, you must specify at least one subnet in the VPCZoneIdentifier property of the AWS::AutoScaling::AutoScalingGroup resource.-The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID..MA list that contains the EC2 security groups to assign to the Amazon EC2 instances in the Auto Scaling group. The list can contain the name of existing EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template. If your instances are launched within VPC, specify Amazon VPC security group IDs./$The spot price for this autoscaling group. If a spot price is set, then the autoscaling group will launch when the current spot price is less than the amount specified in the template. When you have specified a spot price for an auto scaling group, the group will only launch when the spot price has been met, regardless of the setting in the autoscaling group's DesiredCapacity. For more information about configuring a spot price for an autoscaling group, see Using Auto Scaling to Launch Spot Instances in the AutoScaling Developer Guide.06The user data available to the launched EC2 instances.'  &) !"#$%&'()*+,-./012%   !"#$%&'()*+,-./0'  21 !"#$%&'()*+,-./0   !"#$%&'()*+,-./012=None55>Full data type definition for AppCookieStickinessPolicy. See 9# for a more convenient constructor.9Constructor for 5* containing required fields as arguments.:3Name of the application cookie used for stickiness.;The name of the policy being created. The name must be unique within the set of policies for this Load Balancer. Note To associate this policy with a listener, include the policy name in the listener's PolicyNames property. 56789:;:;<=56789:; 5678=<9:;56789:;<=>None5@/Full data type definition for AliasTarget. See E$ for a more convenient constructor.EConstructor for @) containing required fields as arguments.FThe DNS name of the load balancer, the domain name of the CloudFront distribution, the website endpoint of the Amazon S3 bucket, or another record set in the same hosted zone that is the target of the alias. Type: StringGWhether Amazon Route 53 checks the health of the resource record sets in the alias target when responding to DNS queries. For more information about using this property, see EvaluateTargetHealth in the Amazon Route 53 API Reference. Type: BooleanHBThe hosted zone ID. For load balancers, use the canonical hosted zone ID of the load balancer. For Amazon S3, use the hosted zone ID for your bucket's website endpoint. For CloudFront, use Z2FDTNDATAQYW2. For examples, see Example: Creating Alias Resource Record Sets in the Amazon Route 53 API Reference. Type: String @ABCDEFHFGHIJ @ABCDEFGH @ABCDJIEFGH@ABCDEFGHIJ?None5M-Full data type definition for RecordSet. See ]$ for a more convenient constructor.]Constructor for M) containing required fields as arguments.^Alias resource record sets only: Information about the domain to which you are redirecting traffic. If you specify this property, do not specify the TTL property. The alias uses a TTL value from the alias target record. For more information about alias resource record sets, see Creating Alias Resource Record Sets in the Amazon Route 53 Developer Guide and POST ChangeResourceRecordSets in the Amazon Route 53 API reference._Any comments that you want to include about the hosted zone. Important If the record set is part of a record set group, this property isn't valid. Don't specify this property.`9Designates the record set as a PRIMARY or SECONDARY failover record set. When you have more than one resource performing the same function, you can configure Amazon Route 53 to check the health of your resources and use only health resources to respond to DNS queries. You cannot create nonfailover resource record sets that have the same Name and Type property values as failover resource record sets. For more information, see the Failover element in the Amazon Route 53 API Reference. If you specify this property, you must specify the SetIdentifier property.acDescribes how Amazon Route 53 responds to DNS queries based on the geographic origin of the query.bThe health check ID that you want to apply to this record set. Amazon Route 53 returns this resource record set in response to a DNS query only while record set is healthy.cThe ID of the hosted zone.dIThe name of the domain for the hosted zone where you want to add the record set. When you create a stack using an AWS::Route53::RecordSet that specifies HostedZoneName, AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack. If you have multiple hosted zones with the same domain name, you must explicitly specify the hosted zone using HostedZoneId.eThe name of the domain. You must specify a fully qualified domain name that ends with a period as the last label indication. If you omit the final period, AWS CloudFormation adds it.fPLatency resource record sets only: The Amazon EC2 region where the resource that is specified in this resource record set resides. The resource typically is an AWS resource, for example, Amazon EC2 instance or an Elastic Load Balancing load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 region. Amazon Route 53 then returns the value that is associated with the selected resource record set. The following restrictions must be followed: You can only specify one resource record per latency resource record set. You can only create one latency resource record set for each Amazon EC2 region. You are not required to create latency resource record sets for all Amazon EC2 regions. Amazon Route 53 will choose the region with the best latency from among the regions for which you create latency resource record sets. You cannot create both weighted and latency resource record sets that have the same values for the Name and Type elements. To see a list of regions by service, see Regions and Endpoints in the AWS General Reference.gList of resource records to add. Each record should be in the format appropriate for the record type specified by the Type property. For information about different record types and their record formats, see Appendix: Domain Name Format in the Amazon Route 53 Developer Guide.hA unique identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type.iThe resource record cache time to live (TTL), in seconds. If you specify this property, do not specify the AliasTarget property. For alias target records, the alias uses a TTL value from the target. If you specify this property, you must specify the ResourceRecords property.jThe type of records to add.kWeighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, a value that determines what portion of traffic for the current resource record set is routed to the associated location. For more information about weighted resource record sets, see Setting Up Weighted Resource Record Sets in the Amazon Route 53 Developer Guide.!MNOPQRSTUVWXYZ[\]ej^_`abcdefghijklmMNOPQRSTUVWXYZ[\]^_`abcdefghijk!MNOPQRSTUVWXYZ[\ml]^_`abcdefghijkMNOPQRSTUVWXYZ[\]^_`abcdefghijklm@None5p2Full data type definition for RecordSetGroup. See v$ for a more convenient constructor.vConstructor for p) containing required fields as arguments.w7Any comments you want to include about the hosted zone.xThe ID of the hosted zone.yIThe name of the domain for the hosted zone where you want to add the record set. When you create a stack using an AWS::Route53::RecordSet that specifies HostedZoneName, AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack. If you have multiple hosted zones with the same domain name, you must explicitly specify the hosted zone using HostedZoneId.z$List of resource record sets to add. pqrstuvzwxyz{| pqrstuvwxyz pqrstu|{vwxyzpqrstuvwxyz{|ANone58Full data type definition for AccessLoggingPolicy. See # for a more convenient constructor.Constructor for * containing required fields as arguments.sThe interval for publishing access logs in minutes. You can specify an interval of either 5 minutes or 60 minutes.1Whether logging is enabled for the load balancer.BThe name of an Amazon S3 bucket where access log files are stored.A prefix for the all log object keys, such as my-load-balancer-logs/prod. If you store log files from multiple sources in a single bucket, you can use a prefix to distinguish each log file and its source.   BNone50Full data type definition for LoadBalancer. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.Captures detailed information for all requests made to your load balancer, such as the time a request was received, client s IP address, latencies, request path, and server responses.Generates one or more stickiness policies with sticky session lifetimes that follow that of an application-generated cookie. These policies can be associated only with HTTP/HTTPS listeners.The Availability Zones in which to create the load balancer. You can specify the AvailabilityZones or Subnets property, but not both. Note For load balancers that are in a VPC, specify the Subnets property.QWhether deregistered or unhealthy instances can complete all in-flight requests.]Specifies how long front-end and back-end connections of your load balancer can remain idle.Whether cross-zone load balancing is enabled for the load balancer. With cross-zone load balancing, your load balancer nodes route traffic to the back-end instances across all Availability Zones. By default the CrossZone property is false.+Application health check for the instances.1A list of EC2 instance IDs for the load balancer.Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent), or by a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.A name for the load balancer. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the load balancer. The name must be unique within your set of load balancers. For more information, see Name Type. Important If you specify a name, you cannot do updates that require this resource to be replaced. You can still do updates that require no or some interruption. If you must replace the resource, specify a new name.One or more listeners for this load balancer. Each listener must be registered for a specific port, and you cannot have more than one listener for a given port. Important If you update the property values for a listener specified by the Listeners property, AWS CloudFormation will delete the existing listener and create a new one with the updated properties. During the time that AWS CloudFormation is performing this action, clients will not be able to connect to the load balancer.RA list of elastic load balancing policies to apply to this elastic load balancer.For load balancers attached to an Amazon VPC, this parameter can be used to specify the type of load balancer to use. Specify internal to create an internal load balancer with a DNS name that resolves to private IP addresses or internet-facing to create a load balancer with a publicly resolvable DNS name, which resolves to public IP addresses. Note If you specify internal, you must specify subnets to associate with the load balancer, not Availability Zones.A list of subnet IDs in your virtual private cloud (VPC) to attach to your load balancer. Do not specify multiple subnets that are in the same Availability Zone. You can specify the AvailabilityZones or Subnets property, but not both. For more information about using Elastic Load Balancing in a VPC, see How Do I Use Elastic Load Balancing in Amazon VPC in the Elastic Load Balancing Developer Guide.BAn arbitrary set of tags (key-value pairs) for this load balancer.%#%CNone52Full data type definition for ResourceSignal. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.AThe number of success signals AWS CloudFormation must receive before it sets the resource status as CREATE_COMPLETE. If the resource receives a failure signal or doesn't receive the specified number of signals before the timeout period expires, the resource creation fails and AWS CloudFormation rolls the stack back.The length of time that AWS CloudFormation waits for the number of signals that was specified in the Count property. The timeout period starts after AWS CloudFormation starts creating the resource, and the timeout expires no sooner than the time you specify but can occur shortly thereafter. The maximum time that you can specify is 12 hours. The value must be in ISO8601 duration format, in the form: PT#H#M#S, where each # is the number of hours, minutes, and seconds, respectively. For best results, specify a period of time that gives your instances plenty of time to get up and running. A shorter timeout can cause a rollback.  DNone52Full data type definition for CreationPolicy. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.ENone5?Full data type definition for AutoScalingScheduledAction. See # for a more convenient constructor.Constructor for * containing required fields as arguments.Specifies whether AWS CloudFormation ignores differences in group size properties between your current Auto Scaling group and the Auto Scaling group described in the AWS::AutoScaling::AutoScalingGroup resource of your template during a stack update. If you modify any of the group size property values in your template, AWS CloudFormation uses the modified values and updates your Auto Scaling group.FNone5=Full data type definition for AutoScalingRollingUpdate. See # for a more convenient constructor.Constructor for * containing required fields as arguments.NSpecifies the maximum number of instances that AWS CloudFormation terminates.Specifies the minimum number of instances that must be in service within the Auto Scaling group while AWS CloudFormation terminates obsolete instances.oSpecifies the percentage of instances in an Auto Scaling rolling update that must signal success for an update to succeed. You can specify a value from 0 to 100. AWS CloudFormation rounds to the nearest tenth of a percent. For example, if you update five instances with a minimum successful percentage of 50, three instances must signal success. If an instance doesn't send a signal within the time specified using the PauseTime property, AWS CloudFormation assumes that the instance wasn't successfully updated. If you specify this property, you must also enable the WaitOnResourceSignals and PauseTime properties.rSpecifies the amount of time that AWS CloudFormation should pause after making a change to a batch of instances to give these instances time to start software applications. For example, you might need PauseTime when scaling up the number of instances in an Auto Scaling group. If you enable the WaitOnResourceSignals property, PauseTime is the amount of time AWS CloudFormation should wait for the Auto Scaling group to receive the required number of valid signals from added or replaced instances. If the PauseTime is exceeded before the Auto Scaling group receives the required number of signals, the update fails. For best results, specify a time period that gives your instances sufficient time to get started. If the update needs to be rolled back, a short PauseTime can cause the rollback to fail. Specify PauseTime in the ISO8601 duration format (in the format PTHMS, where each h is the number of hours, minutes, and seconds, respectively). The maximum PauseTime is one hour (PT1H).Specifies the Auto Scaling processes to suspend during a stack update. Suspending processes prevents Auto Scaling from interfering with a stack update. For example, you can suspend alarming so that Auto Scaling doesn't execute scaling policies associated with an alarm. For valid values, see the ScalingProcesses.member.N parameter for the SuspendProcesses action in the Auto Scaling API Reference.ISpecifies whether the Auto Scaling group waits on signals from new instances during an update. AWS CloudFormation suspends the update of an Auto Scaling group after new Amazon EC2 instances are launched into the group. AWS CloudFormation must receive a signal from each new instance within the specified PauseTime before continuing the update. To signal the Auto Scaling group, use the cfn-signal helper script or SignalResource API. Use this property to ensure that instances have completed installing and configuring applications before the Auto Scaling group update proceeds. GNone5?Full data type definition for AutoScalingReplacingUpdate. See # for a more convenient constructor.Constructor for * containing required fields as arguments.hSpecifies whether an Auto Scaling group and the instances it contains are replaced during an update. During replacement, AWS CloudFormation retains the old group until it finishes creating the new one. This allows AWS CloudFormation to roll back to the old Auto Scaling group if the update doesn't succeed. While AWS CloudFormation creates the new group, it doesn't detach or attach any instances. After creating the new Auto Scaling group, AWS CloudFormation removes the old Auto Scaling group during the cleanup process. If the update doesn't succeed, AWS CloudFormation removes the new Auto Scaling group.HNone50Full data type definition for UpdatePolicy. See $ for a more convenient constructor.Constructor for ) containing required fields as arguments.   INoneThis class defines items with names in them. It is used to extract the name from JSON fields so we can get an Object with the names as keys instead of just an array..Might create an aeson pair from a Maybe value. Similar to , except we specify the prefix exactly. We use this because camelCaseNamer is terrible with names that start in all caps, like EC2. We would like to start the field names with "ec2...", but camelCaseNamer wants "eC2...".See aUsed for the JSON instances in Template. It is put here because it must be in a separate module.   JNone!"/9;<=?ADIRT  The data type for the parameter. A value of the appropriate type for the template to use if no value is specified when a stack is created. If you define constraints for the parameter, you must specify a value that adheres to those constraints. Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the value to true, the parameter value is masked with asterisks (*****). AAn array containing the list of values allowed for the parameter. VA regular expression that represents the patterns you want to allow for String types. fAn integer value that determines the largest number of characters you want to allow for String types.gAn integer value that determines the smallest number of characters you want to allow for String types.^A numeric value that determines the largest numeric value you want to allow for Number types._A numeric value that determines the smallest numeric value you want to allow for Number types.?A string of up to 4000 characters that describes the parameter.FA string that explains the constraint when the constraint is violated.Wrapper around a list of (s to we can modify the aeson instances.2Constructor for  with required arguments.2      !"#$%&'()*+,-./012NameType345678,      !"#$%&'()*+,-./012=     ./,-*+()&'$%"# !88888888888870126543       !"#$%&'()*+,-./012345678KNone!"/9;<=?ADIRTGSee Q for a convenient constructor.IoAn identifier for this output. The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template.J=A String type up to 4K in length describing the output value.KThe value of the property that is returned by the aws cloudformation describe-stacks command. The value of an output can be literals, parameter references, pseudo parameters, a mapping value, and intrinsic functions.MWrapper around a list of G's to we can modify the aeson instances.QConstructor for GGHIJKMNOPQNameValueRSTUVW 'GHIJKMNOPQ GHIJKQMNO'P GHIJKMNOPQRSTUVWLNone5\)Full data type definition for Stack. See c$ for a more convenient constructor.cConstructor for \) containing required fields as arguments.dVA list of existing Amazon SNS topics where notifications about stack events are sent.e<The set of parameters passed to AWS CloudFormation when this nested stack is created. Note If you use the ref function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type String. In other words, you cannot pass values that are of type CommaDelimitedList to nested stacks.fBAn arbitrary set of tags (key value pairs) to describe this stack.gThe URL of a template that specifies the stack that you want to create as a resource. The template must be stored on an Amazon S3 bucket, so the URL must have the form: 2https://s3.amazonaws.com/.../TemplateName.templateh The length of time, in minutes, that AWS CloudFormation waits for the nested stack to reach the CREATE_COMPLETE state. The default is no timeout. When AWS CloudFormation detects that the nested stack has reached the CREATE_COMPLETE state, it marks the nested stack resource as CREATE_COMPLETE in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches CREATE_COMPLETE, AWS CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.\]^_`abcgdefghij \]^_`abcdefgh\]^_`abjicdefgh \]^_`abcdefghijMNone59;<=?ADIRTConvenient constructor for m with required arguments.Wrapper around a list of (s to we can modify the aeson instances.Mmnopqrstuvwxyz{|}~ Logical name,-./012349:;<=>?@AFGHIJKLMNOPUVWXYZ[`abcdefklmnopqrstuvwxyz{   !"'()*+,-./456789:;<=>?@ABCDEFGHMNOPQRSTUVWXYZ[\]bcdefghijklmnstuvwxy~      !"#()*+,-./0123456789:;<ABCDEFGHINOPQRSTUVWX]^_`abcdefglmnopqrwxyz{|}~    !&'()*+,123456789:;<=>?DEFGHIJKLMNSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./056789:;@ABCDEFGHMNOPQRSTUVWXYZ[\]^_`abcdefghijkpqrstuvwxyz\]^_`abcdefghmnopqrstuvwxyz{|}~<mnopqrstyz{|}~uvwxmnopqrstuvwxy%z{|}~NNone !"/9;<=?AT Specifies the AWS CloudFormation template version that the template conforms to. The template format version is not the same as the API or WSDL version. The template format version can change independently of the API and WSDL versions.pA text string that describes the template. This section must always follow the template format version section.DJSON objects that provide additional information about the template.Specifies values that you can pass in to your template at runtime (when you create or update a stack). You can refer to parameters in the Resources and Outputs sections of the template.A mapping of keys and associated values that you can use to specify conditional parameter values, similar to a lookup table. You can match a key to a corresponding value by using the Fn::FindInMap intrinsic function in the Resources and Outputs section.(Defines conditions that control whether certain resources are created or whether certain resource properties are assigned a value during stack creation or update. For example, you could conditionally create a resource that depends on whether the stack is for a production or test environment.Specifies the stack resources and their properties, such as an Amazon Elastic Compute Cloud instance or an Amazon Simple Storage Service bucket. You can refer to resources in the Resources and Outputs sections of the template.Describes the values that are returned whenever you view your stack's properties. For example, you can declare an output for an Amazon S3 bucket name and then call the aws cloudformation describe-stacks AWS CLI command to view the name.Convenient constructor for  with required arguments.+Pretty print a template using aeson-pretty.''  ONone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 ,-./012349:;<=>?@AFGHIJKLMNOPUVWXYZ[`abcdefklmnopqrstuvwxyz{   !"'()*+,-./456789:;<=>?@ABCDEFGHMNOPQRSTUVWXYZ[\]bcdefghijklmnstuvwxy~      !"#()*+,-./0123456789:;<ABCDEFGHINOPQRSTUVWX]^_`abcdefglmnopqrwxyz{|}~    !&'()*+,123456789:;<=>?DEFGHIJKLMNSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./056789:;@ABCDEFGHMNOPQRSTUVWXYZ[\]^_`abcdefghijkpqrstuvwxyz      !"#$%&'()*+,-./012GHIJKMNOPQ\]^_`abcdefghmnopqrstuvwxyz{|}~ PPQRSTUVWWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz{|}~                                          ! " #$$%&'()*+,-./01234456789:;<=>>?@ABCDEFGHIJKLMNNOPQRSTUVWXYZZ[\]^_`abcddefghijklmnoppqrstuvwxyz{|}~       !"#$%&'(()*+,-./01234567889:;<=>?@ABCDEFGHHIJKLMNOPQRSTUVW X X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o!p!p!q!r!s!t!u!v!w!x!y!z!{"|"|"}"~"""""""""""###############$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&'''''''''''((((((((((()))))))))))))))*****************+++++++++++ + + + + ++++,,,,,,,,,,,,,,,, ,!-"-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1.2.2.3.4.5.6.7.8.9.:.;/</</=/>/?/@/A/B/C/D/E0F0F0G0H0I0J0K0L0M0N0O1P1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a2b2b2c2d2e2f2g2h2i2j2k2l2m2n2o3p3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~333333333333333333333333333333333333333334444444445555555555566666666666667777777777788888888888999999999999999999999999999999999999999::::::::::: : : : : ::::;;;;;;;;;;;;;;;< < <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<<<=<><?<@<A<B<C<D<E<F<G=H=H=I=J=K=L=M=N=O=P=Q>R>R>S>T>U>V>W>X>Y>Z>[>\>]?^?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?@@@@@@@@@@@@@@@AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDEEEEEEEEEFFFFFFFFFFFFFFFFFFFGGGGGGGGGHHHHHHHHHHHHHIIIIIIII I I J J J JJJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKKLKLKMKNKOKPKQKQKRKSKTKUKVKWKXKYKZK[K\K]K^L_L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnMoMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKKMMMMMMMMMNNNNNNNN      !"#$%&'()*+,+-./.0.1.23435363738393:3;3<3=3>3?3@ABACADAEAFAGAHAIAJAKALAMANAOAPAQRSRTUVUWUXYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYdYeYfYgYhijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiii      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f ghihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`_a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_v_w_x_y_z{|{}{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{                                                      !   "   # $ % & $ % ' $ % ( $ % ) $ * + $ * , $ * - .)stratosphere-0.1.4-3c4zLb8P2Io376e469Y3WAStratosphere.Values'Stratosphere.Resources.VolumeAttachment+Stratosphere.Resources.VPCGatewayAttachment"Stratosphere.Resources.VPCEndpoint*Stratosphere.Resources.UserToGroupAddition2Stratosphere.Resources.SubnetRouteTableAssociation&Stratosphere.Resources.ScheduledActionStratosphere.Resources.RouteStratosphere.Resources.Policy!Stratosphere.Resources.NatGateway$Stratosphere.Resources.ManagedPolicy$Stratosphere.Resources.LifecycleHook&Stratosphere.Resources.InstanceProfile%Stratosphere.Resources.EIPAssociationStratosphere.Resources.EIP-Stratosphere.Resources.DBSecurityGroupIngress Stratosphere.Resources.AccessKey0Stratosphere.ResourceProperties.UserLoginProfile/Stratosphere.ResourceProperties.StepAdjustments$Stratosphere.Resources.ScalingPolicy8Stratosphere.ResourceProperties.SecurityGroupIngressRule7Stratosphere.ResourceProperties.SecurityGroupEgressRule+Stratosphere.ResourceProperties.ResourceTag!Stratosphere.Resources.DBInstance'Stratosphere.Resources.DBParameterGroup$Stratosphere.Resources.DBSubnetGroup&Stratosphere.Resources.InternetGateway!Stratosphere.Resources.RouteTable$Stratosphere.Resources.SecurityGroupStratosphere.Resources.SubnetStratosphere.Resources.VPCStratosphere.Resources.Volume4Stratosphere.ResourceProperties.RecordSetGeoLocation4Stratosphere.ResourceProperties.RDSSecurityGroupRule&Stratosphere.Resources.DBSecurityGroup=Stratosphere.ResourceProperties.PrivateIpAddressSpecification0Stratosphere.ResourceProperties.NetworkInterface0Stratosphere.ResourceProperties.ListenerProperty8Stratosphere.ResourceProperties.LBCookieStickinessPolicy+Stratosphere.ResourceProperties.IAMPoliciesStratosphere.Resources.GroupStratosphere.Resources.IAMRoleStratosphere.Resources.User+Stratosphere.ResourceProperties.HealthCheck)Stratosphere.ResourceProperties.ELBPolicy;Stratosphere.ResourceProperties.EC2SsmAssociationParameters2Stratosphere.ResourceProperties.EC2SsmAssociations-Stratosphere.ResourceProperties.EC2MountPoint.Stratosphere.ResourceProperties.EBSBlockDevice5Stratosphere.ResourceProperties.EC2BlockDeviceMapping"Stratosphere.Resources.EC2Instance2Stratosphere.ResourceProperties.ConnectionSettings8Stratosphere.ResourceProperties.ConnectionDrainingPolicy/Stratosphere.ResourceProperties.AutoScalingTagsEStratosphere.ResourceProperties.AutoScalingNotificationConfigurations_autoScalingScheduledActionIgnoreUnmodifiedGroupSizePropertiesautoScalingScheduledAction'assaIgnoreUnmodifiedGroupSizeProperties$$fFromJSONAutoScalingScheduledAction"$fToJSONAutoScalingScheduledAction $fShowAutoScalingScheduledAction#$fGenericAutoScalingScheduledActionAutoScalingRollingUpdate%_autoScalingRollingUpdateMaxBatchSize._autoScalingRollingUpdateMinInstancesInService6_autoScalingRollingUpdateMinSuccessfulInstancesPercent"_autoScalingRollingUpdatePauseTime'_autoScalingRollingUpdateSuspendProcess._autoScalingRollingUpdateWaitOnResourceSignalsautoScalingRollingUpdateasruMaxBatchSizeasruMinInstancesInService!asruMinSuccessfulInstancesPercent asruPauseTimeasruSuspendProcessasruWaitOnResourceSignals"$fFromJSONAutoScalingRollingUpdate $fToJSONAutoScalingRollingUpdate$fShowAutoScalingRollingUpdate!$fGenericAutoScalingRollingUpdateAutoScalingReplacingUpdate&_autoScalingReplacingUpdateWillReplaceautoScalingReplacingUpdateasruWillReplace$$fFromJSONAutoScalingReplacingUpdate"$fToJSONAutoScalingReplacingUpdate $fShowAutoScalingReplacingUpdate#$fGenericAutoScalingReplacingUpdate UpdatePolicy'_updatePolicyAutoScalingReplacingUpdate%_updatePolicyAutoScalingRollingUpdate'_updatePolicyAutoScalingScheduledAction updatePolicyupAutoScalingReplacingUpdateupAutoScalingRollingUpdateupAutoScalingScheduledAction$fFromJSONUpdatePolicy$fToJSONUpdatePolicy$fShowUpdatePolicy$fGenericUpdatePolicy NamedItemitemName nameToJSON nameParseJSON maybeField prefixNamerprefixFieldRulesmodTemplateJSONFieldnamedItemToJSONnamedItemFromJSON Parameter parameterNameparameterType'parameterDefault'parameterNoEchoparameterAllowedValuesparameterAllowedPatternparameterMaxLengthparameterMinLengthparameterMaxValueparameterMinValueparameterDescriptionparameterConstraintDescription$fShowParameter $fEqParameter Parameters unParametersHasType'type' HasNoEchonoEchoHasNamename HasMinValueminValue HasMinLength minLength HasMaxValuemaxValue HasMaxLength maxLengthHasDescription description HasDefault'default'HasConstraintDescriptionconstraintDescriptionHasAllowedValues allowedValuesHasAllowedPatternallowedPatternparameterToJSONparameterFromJSON parameter$fFromJSONParameters$fToJSONParameters$fNamedItemParameter$fIsListParameters$fToRefParameterb$fHasType'ParameterText$fHasNoEchoParameterMaybe$fHasNameParameterText$fHasMinValueParameterMaybe$fHasMinLengthParameterMaybe$fHasMaxValueParameterMaybe$fHasMaxLengthParameterMaybe$fHasDescriptionParameterMaybe$fHasDefault'ParameterMaybe($fHasConstraintDescriptionParameterMaybe $fHasAllowedValuesParameterMaybe!$fHasAllowedPatternParameterMaybe$fShowParameters$fEqParameters$fMonoidParametersOutput outputNameoutputDescription outputValue $fShowOutputOutputs unOutputsvalueoutput$fFromJSONOutputs$fToJSONOutputs$fNamedItemOutput$fIsListOutputs$fToRefOutputb$fHasValueOutputVal$fHasNameOutputText$fHasDescriptionOutputMaybe $fShowOutputs$fMonoidOutputsStack_stackNotificationARNs_stackParameters_stackResourceTags_stackTemplateURL_stackTimeoutInMinutesstacksNotificationARNs sParameters sResourceTags sTemplateURLsTimeoutInMinutes$fFromJSONStack $fToJSONStack $fShowStack$fGenericStackResourceresourceResNameresourcePropertiesresourceDeletionPolicyresourceResCreationPolicyresourceResUpdatePolicyresourceDependsOnDeletionPolicyDeleteRetainSnapshotResourceProperties DBSecurityGroupIngressPropertiesSubnetPropertiesDBInstancePropertiesIAMRolePropertiesLifecycleHookPropertiesGroupPropertiesDBSubnetGroupPropertiesSecurityGroupPropertiesDBParameterGroupPropertiesPolicyPropertiesEC2InstancePropertiesRouteTablePropertiesEIPAssociationPropertiesInternetGatewayPropertiesInstanceProfilePropertiesVPCGatewayAttachmentProperties EIPPropertiesUserPropertiesDBSecurityGroupPropertiesLaunchConfigurationProperties%SubnetRouteTableAssociationPropertiesRecordSetGroupPropertiesStackPropertiesManagedPolicyProperties VPCPropertiesAccessKeyPropertiesLoadBalancerPropertiesScalingPolicyPropertiesAutoScalingGroupPropertiesScheduledActionPropertiesVolumePropertiesUserToGroupAdditionPropertiesVPCEndpointPropertiesRecordSetPropertiesRoutePropertiesNatGatewayPropertiesVolumeAttachmentPropertiesresource$fToRefResourceb$fFromJSONDeletionPolicy$fToJSONDeletionPolicy$fShowResourceProperties$fShowDeletionPolicy$fGenericDeletionPolicy$fShowResource Resources unResourcesresUpdatePolicyresNameresCreationPolicy properties dependsOndeletionPolicy$fFromJSONResources$fToJSONResources$fNamedItemResource$fIsListResources!$fHasResUpdatePolicyResourceMaybe$fHasResNameResourceText#$fHasResCreationPolicyResourceMaybe)$fHasPropertiesResourceResourceProperties$fHasDependsOnResourceMaybe $fHasDeletionPolicyResourceMaybe$fShowResources$fMonoidResourcesTemplatetemplateFormatVersiontemplateDescriptiontemplateMetadatatemplateParameterstemplateMappingstemplateConditionstemplateResourcestemplateOutputs$fShowTemplate$fFromJSONTemplate$fToJSONTemplate resources parametersoutputsmetadatamappings formatVersion conditionstemplateencodeTemplate$fHasResourcesTemplateResources$fHasParametersTemplateMaybe$fHasOutputsTemplateMaybe$fHasMetadataTemplateMaybe$fHasMappingsTemplateMaybe$fHasFormatVersionTemplateMaybe$fHasDescriptionTemplateMaybe$fHasConditionsTemplateMaybemkFunc"lens-4.15.1-GIqMfFkWZyYIqq1QNYTt5ZControl.Lens.THcamelCaseNamerHasValue outputToJSONoutputFromJSONHasResUpdatePolicy HasResNameHasResCreationPolicy HasProperties HasDependsOnHasDeletionPolicyresourceToJSONresourcePropertiesJSONresourceFromJSONMapping HasResources HasParameters HasOutputs HasMetadata HasMappingsHasFormatVersion HasConditionsbaseData.Traversable Traversabletraverse(contravariant-1.4-DzaLxukcYo81MHO5zSdeePData.Functor.Contravariant Contravariant contramap>$Data.Functor.IdentityIdentity runIdentityData.Bifunctor BifunctorbimapData.Functor.ConstConstgetConst Data.Function&defaultFieldRules makeFieldsabbreviatedNamerabbreviatedFieldscamelCaseFieldsunderscoreNamerunderscoreFields makeWrappeddeclareLensesWith declareFieldsdeclareWrapped declarePrismsdeclareClassyFor declareClassydeclareLensesFor declareLensesmakeLensesWith makeClassyFor makeLensesFor makeClassy_ makeClassy makeLenses classyRules_ classyRules mappingNamerlookingupNamer lensRulesForunderscoreNoPrefixNamer lensRules lensClass lensField createClassgenerateLazyPatternsgenerateUpdateableOpticsgenerateSignatures simpleLenses FieldNamer ClassyNamerControl.Lens.Internal.PrismTHmakeClassyPrisms makePrismsControl.Lens.Internal.FieldTH LensRulesDefNameTopName MethodNameControl.Lens.AtiatsansixAtiix icontainsIndexContainscontainsIxValueIxedixAtatControl.Lens.Consunsnocsnoc|>_last_init_tail_headunconscons<|:<:>Cons_ConsSnoc_SnocControl.Lens.EachEacheachControl.Lens.EmptyEmptyAsEmpty_EmptyControl.Lens.Wrappedalafala _Unwrapping _Wrapping _Unwrapping' _Wrapping'op _Unwrapped_Wrapped _Unwrapped'Wrapped Unwrapped _Wrapped' Rewrapped RewrappingControl.Lens.Isocoerced secondingfirsting bimappingrmappinglmapping dimapping contramappingimagmamagma involutedreversedlazyflipped uncurriedcurriedanonnon'nonmappingenumunderaufaucloneIsowithIsofromisoStrictLazySwappedReversedListAnIsoAnIso'swappedstrictControl.Lens.EqualitysimplesimplyfromEqmapEqsubstEqrunEq Identical AnEquality AnEquality'Control.Lens.Platedgplateparts composOpFoldparaparaOf holesOnOfholesOnholes contextsOnOf contextsOn contextsOfcontextstransformMOnOf transformMOf transformMOn transformM transformOnOf transformOf transformOn transform cosmosOnOfcosmosOncosmosOfcosmos universeOnOf universeOn universeOfuniverse rewriteMOnOf rewriteMOn rewriteMOfrewriteM rewriteOnOf rewriteOn rewriteOfrewritechildrendeep...PlatedplateGPlatedControl.Lens.Reified ReifiedLensLensrunLens ReifiedLens'ReifiedIndexedLens IndexedLensrunIndexedLensReifiedIndexedLens'ReifiedIndexedTraversalIndexedTraversalrunIndexedTraversalReifiedIndexedTraversal'ReifiedTraversal Traversal runTraversalReifiedTraversal' ReifiedGetterGetter runGetterReifiedIndexedGetter IndexedGetterrunIndexedGetter ReifiedFoldFoldrunFoldReifiedIndexedFold IndexedFoldrunIndexedFold ReifiedSetterSetter runSetterReifiedSetter'ReifiedIndexedSetter IndexedSetterrunIndexedSetterReifiedIndexedSetter' ReifiedIsoIsorunIso ReifiedIso' ReifiedPrismPrismrunPrism ReifiedPrism'Control.Lens.LevelilevelslevelsControl.Lens.Indexed itraverseByOf itraverseBy ifoldMapByOf ifoldMapBy imapAccumL imapAccumRiforMimapMiforitoListifoldlMifoldrMifind iconcatMapiforM_imapM_ifor_ itraverse_noneinoneiallianyindexindicesicompose<.> reindexed selfIndex.><.FunctorWithIndeximapimappedFoldableWithIndexifoldMapifoldedifoldrifoldlifoldr'ifoldl'TraversableWithIndex itraverse itraversedControl.Lens.Traversal sequenceByOf traverseByOf confusingdeepOffailing ifailoverfailoverelements elementsOfelement elementOfignored traversed64 traversed1 traversed imapAccumLOf imapAccumROfiforMOfimapMOfiforOf itraverseOfcloneIndexedTraversal1cloneIndexPreservingTraversal1cloneTraversal1cloneIndexedTraversalcloneIndexPreservingTraversalcloneTraversaldroppingtakingbesidebothunsafeSingularsingularholesOfiunsafePartsOf'unsafePartsOf'iunsafePartsOf unsafePartsOf ipartsOf'partsOf'ipartsOfpartsOfilocilociscanl1Ofscanr1Of mapAccumLOf mapAccumROf transposeOf sequenceOfforMOfmapMOf sequenceAOfforOf traverseOf ATraversal ATraversal' ATraversal1 ATraversal1'AnIndexedTraversalAnIndexedTraversal1AnIndexedTraversal'AnIndexedTraversal1' Traversing Traversing1 Traversing' Traversing1' TraverseMin traverseMin TraverseMax traverseMaxControl.Lens.Fold foldMapByOffoldByOfidroppingWhile itakingWhile ifiltered findIndicesOf findIndexOf elemIndicesOf elemIndexOf^@?!^@?^@.. itoListOf ifoldlMOf ifoldrMOf ifoldlOf' ifoldrOf'ifindMOfifindOf iconcatMapOfiforMOf_imapMOf_iforOf_ itraverseOf_inoneOfiallOfianyOfifoldlOfifoldrOf ifoldMapOf backwardsipreusespreusesipreusepreuse ipreviewspreviewsipreviewpreviewipreprehasn'thasfoldlMOffoldrMOf foldl1Of' foldr1Of'foldlOf'foldrOf'foldl1Offoldr1OflookupOffindMOffindOf minimumByOf maximumByOf minimumOf maximumOf notNullOfnullOflastOffirstOf^?!^?lengthOfconcatOf concatMapOf notElemOfelemOfmsumOfasumOf sequenceOf_forMOf_mapMOf_ sequenceAOf_forOf_ traverseOf_sumOf productOfnoneOfallOfanyOforOfandOf^..toListOffoldlOffoldrOffoldOf foldMapOflinedworded droppingWhile takingWhilefilterediteratedunfoldedcycled replicatedrepeatedfolded64folded ifoldringfoldringifoldingfoldingControl.Lens.ZoomZoomed MagnifiedZoomzoomMagnifymagnifyControl.Lens.Prism_Shownearlyonly_Void_Nothing_Just_Right_Leftmatchingisn'tbelowasidewithoutoutsideprism'prism clonePrism withPrismAPrismAPrism'Control.Lens.Reviewreusesreusereviews#reviewreununtoControl.Lens.Gettergetting^@.iusesiuseiviewsiview ilistenings listenings ilistening listeningusesuse^.viewsviewilikelikeitotoGettingIndexedGetting AccessingControl.Lens.Internal.MagmaMagmaControl.Lens.Internal.BazaarBazaar runBazaarBazaar'Bazaar1 runBazaar1Bazaar1'Control.Lens.Internal.Iso Reversing reversingControl.Lens.SetterimapOfmapOfassignA.@= imodifying%@=.@~%@~isetsisetiover icensoring censoringipassingpassingscribe<>=<>~=<<>~<<~<<<>=<<&&=<<||=<<**=<<^^=<<^=<~<<&&~<<||~<<**~<<^^~<<^~<%%=%%~&~ilensiplenslensALensALens' AnIndexedLensAnIndexedLens'Control.Lens.TypeLens' IndexedLens'IndexPreservingLensIndexPreservingLens' Traversal' Traversal1 Traversal1'IndexedTraversal'IndexedTraversal1IndexedTraversal1'IndexPreservingTraversalIndexPreservingTraversal'IndexPreservingTraversal1IndexPreservingTraversal1'Setter'IndexedSetter'IndexPreservingSetterIndexPreservingSetter'Iso'ReviewAReviewPrism'Equality Equality'AsIndexPreservingGetterIndexPreservingFoldFold1 IndexedFold1IndexPreservingFold1SimpleOpticOptic'OpticalOptical'LensLike LensLike'IndexedLensLikeIndexedLensLike'OverOver'Control.Lens.Internal.ContextContextContext'Control.Lens.Internal.IndexedasIndex withIndex indexing64indexing Conjoineddistrib conjoined IndexableindexedIndexed runIndexedControl.Lens.Internal.Fold Traversed SequencedLeftmost RightmostControl.Lens.Internal.LevelLevelControl.Lens.Internal.Reviewretagged ReviewableControl.Lens.Internal.SetterSettable(semigroupoids-5.1-HP6DQMG4B3NKAis3IyIk4b Data.Semigroup.Traversable.Class Traversable1 traverse1'reflection-2.1.2-Lwt0A3NRHka1hAeW9AOpLqData.ReflectionfoldBy foldMapBy traverseBy sequenceBy&profunctors-5.2-Ftt6hTaJPG87FS5uAEIZltData.Profunctor.Unsafe ProfunctorrmaplmapdimapData.Profunctor.ChoiceChoiceright'left'