Skip to content

Commit

Permalink
fix(schema): CloudFormation Updates (awslabs#351)
Browse files Browse the repository at this point in the history
Co-authored-by: Paul Maddox <paul.maddox@gmail.com>
  • Loading branch information
github-actions[bot] and PaulMaddox committed Feb 25, 2021
1 parent 6712019 commit 53556a3
Show file tree
Hide file tree
Showing 14 changed files with 315 additions and 77 deletions.
5 changes: 5 additions & 0 deletions cloudformation/dynamodb/aws-dynamodb-table.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ type Table struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema
KeySchema []Table_KeySchema `json:"KeySchema,omitempty"`

// KinesisStreamSpecification AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification
KinesisStreamSpecification *Table_KinesisStreamSpecification `json:"KinesisStreamSpecification,omitempty"`

// LocalSecondaryIndexes AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-lsi
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package dynamodb

import (
"github.com/awslabs/goformation/v4/cloudformation/policies"
)

// Table_KinesisStreamSpecification AWS CloudFormation Resource (AWS::DynamoDB::Table.KinesisStreamSpecification)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-kinesisstreamspecification.html
type Table_KinesisStreamSpecification struct {

// StreamArn AWS CloudFormation Property
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-kinesisstreamspecification.html#cfn-dynamodb-kinesisstreamspecification-streamarn
StreamArn string `json:"StreamArn,omitempty"`

// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
AWSCloudFormationDependsOn []string `json:"-"`

// AWSCloudFormationMetadata stores structured data associated with this resource
AWSCloudFormationMetadata map[string]interface{} `json:"-"`

// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *Table_KinesisStreamSpecification) AWSCloudFormationType() string {
return "AWS::DynamoDB::Table.KinesisStreamSpecification"
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ type TransitGatewayMulticastDomain struct {
Tags []tags.Tag `json:"Tags,omitempty"`

// TransitGatewayId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-transitgatewayid
TransitGatewayId string `json:"TransitGatewayId,omitempty"`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,18 @@ import (
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html
type TransitGatewayMulticastDomainAssociation struct {

// State AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-state
State string `json:"State,omitempty"`

// SubnetId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-subnetid
SubnetId string `json:"SubnetId,omitempty"`

// TransitGatewayAttachmentId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewayattachmentid
TransitGatewayAttachmentId string `json:"TransitGatewayAttachmentId,omitempty"`

// TransitGatewayMulticastDomainId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewaymulticastdomainid
TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"`

Expand Down
11 changes: 3 additions & 8 deletions cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupmember.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,17 @@ import (
type TransitGatewayMulticastGroupMember struct {

// GroupIpAddress AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-groupipaddress
GroupIpAddress string `json:"GroupIpAddress,omitempty"`

// NetworkInterfaceId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-networkinterfaceid
NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"`

// TransitGatewayAttachmentId AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-transitgatewayattachmentid
TransitGatewayAttachmentId string `json:"TransitGatewayAttachmentId,omitempty"`

// TransitGatewayMulticastDomainId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-transitgatewaymulticastdomainid
TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"`

Expand Down
11 changes: 3 additions & 8 deletions cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupsource.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,17 @@ import (
type TransitGatewayMulticastGroupSource struct {

// GroupIpAddress AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-groupipaddress
GroupIpAddress string `json:"GroupIpAddress,omitempty"`

// NetworkInterfaceId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-networkinterfaceid
NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"`

// TransitGatewayAttachmentId AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-transitgatewayattachmentid
TransitGatewayAttachmentId string `json:"TransitGatewayAttachmentId,omitempty"`

// TransitGatewayMulticastDomainId AWS CloudFormation Property
// Required: false
// Required: true
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-transitgatewaymulticastdomainid
TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ type GlobalReplicationGroup struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cachenodetype
CacheNodeType string `json:"CacheNodeType,omitempty"`

// CacheParameterGroupName AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cacheparametergroupname
CacheParameterGroupName string `json:"CacheParameterGroupName,omitempty"`

// EngineVersion AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-engineversion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ type Campaign_CampaignSmsMessage struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-messagetype
MessageType string `json:"MessageType,omitempty"`

// OriginationNumber AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-originationnumber
OriginationNumber string `json:"OriginationNumber,omitempty"`

// SenderId AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-senderid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ import (
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html
type StateMachine struct {

// Definition AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definition
Definition *StateMachine_Definition `json:"Definition,omitempty"`

// DefinitionS3Location AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package stepfunctions

import (
"github.com/awslabs/goformation/v4/cloudformation/policies"
)

// StateMachine_Definition AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.Definition)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-definition.html
type StateMachine_Definition struct {

// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
AWSCloudFormationDependsOn []string `json:"-"`

// AWSCloudFormationMetadata stores structured data associated with this resource
AWSCloudFormationMetadata map[string]interface{} `json:"-"`

// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *StateMachine_Definition) AWSCloudFormationType() string {
return "AWS::StepFunctions::StateMachine.Definition"
}
68 changes: 55 additions & 13 deletions schema/cloudformation.go
Original file line number Diff line number Diff line change
Expand Up @@ -28229,6 +28229,9 @@ var CloudformationSchema = `{
},
"type": "array"
},
"KinesisStreamSpecification": {
"$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification"
},
"LocalSecondaryIndexes": {
"items": {
"$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex"
Expand Down Expand Up @@ -28344,6 +28347,18 @@ var CloudformationSchema = `{
],
"type": "object"
},
"AWS::DynamoDB::Table.KinesisStreamSpecification": {
"additionalProperties": false,
"properties": {
"StreamArn": {
"type": "string"
}
},
"required": [
"StreamArn"
],
"type": "object"
},
"AWS::DynamoDB::Table.LocalSecondaryIndex": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -34250,6 +34265,9 @@ var CloudformationSchema = `{
"type": "string"
}
},
"required": [
"TransitGatewayId"
],
"type": "object"
},
"Type": {
Expand All @@ -34268,7 +34286,8 @@ var CloudformationSchema = `{
}
},
"required": [
"Type"
"Type",
"Properties"
],
"type": "object"
},
Expand Down Expand Up @@ -34304,9 +34323,6 @@ var CloudformationSchema = `{
"Properties": {
"additionalProperties": false,
"properties": {
"State": {
"type": "string"
},
"SubnetId": {
"type": "string"
},
Expand All @@ -34317,6 +34333,11 @@ var CloudformationSchema = `{
"type": "string"
}
},
"required": [
"SubnetId",
"TransitGatewayAttachmentId",
"TransitGatewayMulticastDomainId"
],
"type": "object"
},
"Type": {
Expand All @@ -34335,7 +34356,8 @@ var CloudformationSchema = `{
}
},
"required": [
"Type"
"Type",
"Properties"
],
"type": "object"
},
Expand Down Expand Up @@ -34377,13 +34399,15 @@ var CloudformationSchema = `{
"NetworkInterfaceId": {
"type": "string"
},
"TransitGatewayAttachmentId": {
"type": "string"
},
"TransitGatewayMulticastDomainId": {
"type": "string"
}
},
"required": [
"GroupIpAddress",
"NetworkInterfaceId",
"TransitGatewayMulticastDomainId"
],
"type": "object"
},
"Type": {
Expand All @@ -34402,7 +34426,8 @@ var CloudformationSchema = `{
}
},
"required": [
"Type"
"Type",
"Properties"
],
"type": "object"
},
Expand Down Expand Up @@ -34444,13 +34469,15 @@ var CloudformationSchema = `{
"NetworkInterfaceId": {
"type": "string"
},
"TransitGatewayAttachmentId": {
"type": "string"
},
"TransitGatewayMulticastDomainId": {
"type": "string"
}
},
"required": [
"GroupIpAddress",
"NetworkInterfaceId",
"TransitGatewayMulticastDomainId"
],
"type": "object"
},
"Type": {
Expand All @@ -34469,7 +34496,8 @@ var CloudformationSchema = `{
}
},
"required": [
"Type"
"Type",
"Properties"
],
"type": "object"
},
Expand Down Expand Up @@ -40288,6 +40316,9 @@ var CloudformationSchema = `{
"CacheNodeType": {
"type": "string"
},
"CacheParameterGroupName": {
"type": "string"
},
"EngineVersion": {
"type": "string"
},
Expand Down Expand Up @@ -74178,6 +74209,9 @@ var CloudformationSchema = `{
"MessageType": {
"type": "string"
},
"OriginationNumber": {
"type": "string"
},
"SenderId": {
"type": "string"
}
Expand Down Expand Up @@ -91618,6 +91652,9 @@ var CloudformationSchema = `{
"Properties": {
"additionalProperties": false,
"properties": {
"Definition": {
"$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition"
},
"DefinitionS3Location": {
"$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location"
},
Expand Down Expand Up @@ -91690,6 +91727,11 @@ var CloudformationSchema = `{
},
"type": "object"
},
"AWS::StepFunctions::StateMachine.Definition": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"AWS::StepFunctions::StateMachine.LogDestination": {
"additionalProperties": false,
"properties": {
Expand Down

0 comments on commit 53556a3

Please sign in to comment.