Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated SDK generation @ aws-cloudformation-user-guide 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 #1392

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions aws-cloudformation-schema/aws-ec2-networkacl.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"typeName" : "AWS::EC2::NetworkAcl",
"description" : "Resource Type definition for AWS::EC2::NetworkAcl",
"description" : "Specifies a network ACL for your VPC.",
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git",
"additionalProperties" : false,
"definitions" : {
Expand All @@ -9,21 +9,25 @@
"additionalProperties" : false,
"properties" : {
"Key" : {
"type" : "string"
"type" : "string",
"description" : "The tag key."
},
"Value" : {
"type" : "string"
"type" : "string",
"description" : "The tag value."
}
},
"required" : [ "Value", "Key" ]
"required" : [ "Value", "Key" ],
"description" : "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications)."
}
},
"properties" : {
"Id" : {
"type" : "string"
"type" : "string",
"description" : ""
},
"Tags" : {
"description" : "The tags to assign to the network ACL.",
"description" : "The tags for the network ACL.",
"type" : "array",
"uniqueItems" : false,
"insertionOrder" : false,
Expand All @@ -32,7 +36,7 @@
}
},
"VpcId" : {
"description" : "The ID of the VPC.",
"description" : "The ID of the VPC for the network ACL.",
"type" : "string"
}
},
Expand Down
121 changes: 81 additions & 40 deletions aws-cloudformation-schema/aws-ec2-securitygroup.json
Original file line number Diff line number Diff line change
@@ -1,49 +1,42 @@
{
"tagging" : {
"taggable" : true,
"tagOnCreate" : true,
"tagUpdatable" : true,
"tagProperty" : "/properties/Tags",
"cloudFormationSystemTags" : true
},
"$schema" : "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
"deprecatedProperties" : [ "/properties/SecurityGroupEgress/*/SourceSecurityGroupId" ],
"typeName" : "AWS::EC2::SecurityGroup",
"readOnlyProperties" : [ "/properties/Id", "/properties/GroupId" ],
"description" : "Resource Type definition for AWS::EC2::SecurityGroup",
"additionalProperties" : false,
"properties" : {
"GroupDescription" : {
"type" : "string"
},
"GroupName" : {
"type" : "string"
},
"VpcId" : {
"type" : "string"
},
"Id" : {
"type" : "string"
"createOnlyProperties" : [ "/properties/GroupDescription", "/properties/GroupName", "/properties/VpcId" ],
"primaryIdentifier" : [ "/properties/Id" ],
"required" : [ "GroupDescription" ],
"handlers" : {
"read" : {
"permissions" : [ "ec2:DescribeSecurityGroups" ]
},
"SecurityGroupIngress" : {
"type" : "array",
"uniqueItems" : false,
"items" : {
"$ref" : "#/definitions/Ingress"
}
"create" : {
"permissions" : [ "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateTags" ]
},
"SecurityGroupEgress" : {
"type" : "array",
"uniqueItems" : false,
"items" : {
"$ref" : "#/definitions/Egress"
}
"update" : {
"permissions" : [ "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:DescribeSecurityGroups", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateTags", "ec2:DeleteTags" ]
},
"Tags" : {
"type" : "array",
"uniqueItems" : false,
"items" : {
"$ref" : "#/definitions/Tag"
}
"list" : {
"permissions" : [ "ec2:DescribeSecurityGroups" ]
},
"GroupId" : {
"type" : "string"
"delete" : {
"permissions" : [ "ec2:DeleteSecurityGroup", "ec2:DescribeInstances" ]
}
},
"writeOnlyProperties" : [ "/properties/SecurityGroupIngress/*/SourceSecurityGroupName" ],
"additionalProperties" : false,
"definitions" : {
"Ingress" : {
"type" : "object",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"CidrIp" : {
"type" : "string"
Expand Down Expand Up @@ -79,8 +72,8 @@
"required" : [ "IpProtocol" ]
},
"Egress" : {
"type" : "object",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"CidrIp" : {
"type" : "string"
Expand All @@ -105,13 +98,16 @@
},
"DestinationPrefixListId" : {
"type" : "string"
},
"SourceSecurityGroupId" : {
"type" : "string"
}
},
"required" : [ "IpProtocol" ]
},
"Tag" : {
"type" : "object",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"Value" : {
"type" : "string"
Expand All @@ -123,8 +119,53 @@
"required" : [ "Value", "Key" ]
}
},
"required" : [ "GroupDescription" ],
"createOnlyProperties" : [ "/properties/GroupDescription", "/properties/GroupName", "/properties/VpcId" ],
"primaryIdentifier" : [ "/properties/Id" ],
"readOnlyProperties" : [ "/properties/Id", "/properties/GroupId" ]
"properties" : {
"GroupDescription" : {
"description" : "A description for the security group.",
"type" : "string"
},
"GroupName" : {
"description" : "The name of the security group.",
"type" : "string"
},
"VpcId" : {
"description" : "The ID of the VPC for the security group.",
"type" : "string"
},
"Id" : {
"description" : "The group name or group ID depending on whether the SG is created in default or specific VPC",
"type" : "string"
},
"SecurityGroupIngress" : {
"uniqueItems" : false,
"description" : "The inbound rules associated with the security group. There is a short interruption during which you cannot connect to the security group.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/Ingress"
}
},
"SecurityGroupEgress" : {
"uniqueItems" : false,
"description" : "[VPC only] The outbound rules associated with the security group. There is a short interruption during which you cannot connect to the security group.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/Egress"
}
},
"Tags" : {
"uniqueItems" : false,
"description" : "Any tags assigned to the security group.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/Tag"
}
},
"GroupId" : {
"description" : "The group ID of the specified security group.",
"type" : "string"
}
}
}
80 changes: 59 additions & 21 deletions aws-cloudformation-schema/aws-ec2-vpccidrblock.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,77 @@
"description" : "Resource Type definition for AWS::EC2::VPCCidrBlock",
"additionalProperties" : false,
"properties" : {
"Ipv6NetmaskLength" : {
"type" : "integer"
"CidrBlock" : {
"type" : "string",
"description" : "An IPv4 CIDR block to associate with the VPC."
},
"Ipv6IpamPoolId" : {
"type" : "string"
"Ipv6Pool" : {
"type" : "string",
"description" : "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block."
},
"VpcId" : {
"type" : "string"
"Id" : {
"type" : "string",
"description" : "The Id of the VPC associated CIDR Block."
},
"Ipv4NetmaskLength" : {
"type" : "integer"
"VpcId" : {
"type" : "string",
"description" : "The ID of the VPC."
},
"CidrBlock" : {
"type" : "string"
"Ipv6CidrBlock" : {
"type" : "string",
"description" : "An IPv6 CIDR block from the IPv6 address pool."
},
"Ipv4IpamPoolId" : {
"type" : "string"
"type" : "string",
"description" : "The ID of the IPv4 IPAM pool to Associate a CIDR from to a VPC."
},
"Ipv6Pool" : {
"type" : "string"
"Ipv4NetmaskLength" : {
"type" : "integer",
"description" : "The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool."
},
"Id" : {
"type" : "string"
"Ipv6IpamPoolId" : {
"type" : "string",
"description" : "The ID of the IPv6 IPAM pool to Associate a CIDR from to a VPC."
},
"Ipv6CidrBlock" : {
"type" : "string"
"Ipv6NetmaskLength" : {
"type" : "integer",
"description" : "The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool."
},
"AmazonProvidedIpv6CidrBlock" : {
"type" : "boolean"
"type" : "boolean",
"description" : "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block."
}
},
"tagging" : {
"taggable" : false
},
"required" : [ "VpcId" ],
"createOnlyProperties" : [ "/properties/Ipv6Pool", "/properties/VpcId", "/properties/Ipv4IpamPoolId", "/properties/AmazonProvidedIpv6CidrBlock", "/properties/Ipv6CidrBlock", "/properties/Ipv6NetmaskLength", "/properties/Ipv4NetmaskLength", "/properties/Ipv6IpamPoolId", "/properties/CidrBlock" ],
"primaryIdentifier" : [ "/properties/Id" ],
"readOnlyProperties" : [ "/properties/Id" ]
"replacementStrategy" : "delete_then_create",
"createOnlyProperties" : [ "/properties/Ipv6Pool", "/properties/VpcId", "/properties/AmazonProvidedIpv6CidrBlock", "/properties/Ipv6CidrBlock", "/properties/CidrBlock", "/properties/Ipv4IpamPoolId", "/properties/Ipv4NetmaskLength", "/properties/Ipv6IpamPoolId", "/properties/Ipv6NetmaskLength" ],
"primaryIdentifier" : [ "/properties/Id", "/properties/VpcId" ],
"readOnlyProperties" : [ "/properties/Id" ],
"writeOnlyProperties" : [ "/properties/Ipv4IpamPoolId", "/properties/Ipv4NetmaskLength", "/properties/Ipv6IpamPoolId", "/properties/Ipv6NetmaskLength" ],
"handlers" : {
"create" : {
"permissions" : [ "ec2:AssociateVpcCidrBlock", "ec2:DescribeVpcs", "ec2:AllocateIpamPoolCidr" ]
},
"read" : {
"permissions" : [ "ec2:DescribeVpcs" ]
},
"delete" : {
"permissions" : [ "ec2:DescribeVpcs", "ec2:DisassociateVpcCidrBlock" ]
},
"list" : {
"handlerSchema" : {
"properties" : {
"VpcId" : {
"type" : "string",
"description" : "The ID of the VPC."
}
},
"required" : [ "VpcId" ]
},
"permissions" : [ "ec2:DescribeVpcs" ]
}
}
}
Loading
Loading