diff --git a/cloudformation/all.go b/cloudformation/all.go index e550920c06..b861964100 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -475,6 +475,7 @@ func AllResources() map[string]Resource { "AWS::EC2::IPAMScope": &ec2.IPAMScope{}, "AWS::EC2::Instance": &ec2.Instance{}, "AWS::EC2::InternetGateway": &ec2.InternetGateway{}, + "AWS::EC2::KeyPair": &ec2.KeyPair{}, "AWS::EC2::LaunchTemplate": &ec2.LaunchTemplate{}, "AWS::EC2::LocalGatewayRoute": &ec2.LocalGatewayRoute{}, "AWS::EC2::LocalGatewayRouteTableVPCAssociation": &ec2.LocalGatewayRouteTableVPCAssociation{}, @@ -7702,6 +7703,30 @@ func (t *Template) GetEC2InternetGatewayWithName(name string) (*ec2.InternetGate return nil, fmt.Errorf("resource %q of type ec2.InternetGateway not found", name) } +// GetAllEC2KeyPairResources retrieves all ec2.KeyPair items from an AWS CloudFormation template +func (t *Template) GetAllEC2KeyPairResources() map[string]*ec2.KeyPair { + results := map[string]*ec2.KeyPair{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.KeyPair: + results[name] = resource + } + } + return results +} + +// GetEC2KeyPairWithName retrieves all ec2.KeyPair items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2KeyPairWithName(name string) (*ec2.KeyPair, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.KeyPair: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.KeyPair not found", name) +} + // GetAllEC2LaunchTemplateResources retrieves all ec2.LaunchTemplate items from an AWS CloudFormation template func (t *Template) GetAllEC2LaunchTemplateResources() map[string]*ec2.LaunchTemplate { results := map[string]*ec2.LaunchTemplate{} diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm.go index 8aff982cd6..4562ed561a 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm.go @@ -11,112 +11,112 @@ import ( ) // Alarm AWS CloudFormation Resource (AWS::CloudWatch::Alarm) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html type Alarm struct { // ActionsEnabled AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-actionsenabled + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-actionsenabled ActionsEnabled *bool `json:"ActionsEnabled,omitempty"` // AlarmActions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-alarmactions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmactions AlarmActions *[]string `json:"AlarmActions,omitempty"` // AlarmDescription AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-alarmdescription + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmdescription AlarmDescription *string `json:"AlarmDescription,omitempty"` // AlarmName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-alarmname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmname AlarmName *string `json:"AlarmName,omitempty"` // ComparisonOperator AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-comparisonoperator + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-comparisonoperator ComparisonOperator string `json:"ComparisonOperator"` // DatapointsToAlarm AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-datapointstoalarm + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-datapointstoalarm DatapointsToAlarm *int `json:"DatapointsToAlarm,omitempty"` // Dimensions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-dimensions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dimension Dimensions *[]Alarm_Dimension `json:"Dimensions,omitempty"` // EvaluateLowSampleCountPercentile AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-evaluatelowsamplecountpercentile + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluatelowsamplecountpercentile EvaluateLowSampleCountPercentile *string `json:"EvaluateLowSampleCountPercentile,omitempty"` // EvaluationPeriods AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-evaluationperiods + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluationperiods EvaluationPeriods int `json:"EvaluationPeriods"` // ExtendedStatistic AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-extendedstatistic + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic ExtendedStatistic *string `json:"ExtendedStatistic,omitempty"` // InsufficientDataActions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-insufficientdataactions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-insufficientdataactions InsufficientDataActions *[]string `json:"InsufficientDataActions,omitempty"` // MetricName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-metricname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-metricname MetricName *string `json:"MetricName,omitempty"` // Metrics AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-metrics + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-metrics Metrics *[]Alarm_MetricDataQuery `json:"Metrics,omitempty"` // Namespace AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-namespace + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace Namespace *string `json:"Namespace,omitempty"` // OKActions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-okactions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions OKActions *[]string `json:"OKActions,omitempty"` // Period AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-period + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-period Period *int `json:"Period,omitempty"` // Statistic AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-statistic + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic Statistic *string `json:"Statistic,omitempty"` // Threshold AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-threshold + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold Threshold *float64 `json:"Threshold,omitempty"` // ThresholdMetricId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-thresholdmetricid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dynamic-threshold ThresholdMetricId *string `json:"ThresholdMetricId,omitempty"` // TreatMissingData AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-treatmissingdata + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-treatmissingdata TreatMissingData *string `json:"TreatMissingData,omitempty"` // Unit AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html#cfn-cloudwatch-alarm-unit + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-unit Unit *string `json:"Unit,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go index 701e5f6a78..8718e664b8 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_dimension.go @@ -7,17 +7,17 @@ import ( ) // Alarm_Dimension AWS CloudFormation Resource (AWS::CloudWatch::Alarm.Dimension) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-dimension.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html type Alarm_Dimension struct { // Name AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-dimension.html#cfn-cloudwatch-alarm-dimension-name + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-name Name string `json:"Name"` // Value AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-dimension.html#cfn-cloudwatch-alarm-dimension-value + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-value Value string `json:"Value"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-keypair.go b/cloudformation/ec2/aws-ec2-keypair.go new file mode 100644 index 0000000000..e6c31259fa --- /dev/null +++ b/cloudformation/ec2/aws-ec2-keypair.go @@ -0,0 +1,135 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v6/cloudformation/policies" + "github.com/awslabs/goformation/v6/cloudformation/tags" +) + +// KeyPair AWS CloudFormation Resource (AWS::EC2::KeyPair) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html +type KeyPair struct { + + // KeyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-keyname + KeyName string `json:"KeyName"` + + // KeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-keytype + KeyType *string `json:"KeyType,omitempty"` + + // PublicKeyMaterial AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-publickeymaterial + PublicKeyMaterial *string `json:"PublicKeyMaterial,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-tags + Tags *[]tags.Tag `json:"Tags,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 *KeyPair) AWSCloudFormationType() string { + return "AWS::EC2::KeyPair" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r KeyPair) MarshalJSON() ([]byte, error) { + type Properties KeyPair + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *KeyPair) UnmarshalJSON(b []byte) error { + type Properties KeyPair + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = KeyPair(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go index 2f3663eee9..b733a42eca 100644 --- a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go @@ -210,6 +210,26 @@ type NetworkInsightsAnalysis_Explanation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-subnetroutetable SubnetRouteTable *NetworkInsightsAnalysis_AnalysisComponent `json:"SubnetRouteTable,omitempty"` + // TransitGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgateway + TransitGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"TransitGateway,omitempty"` + + // TransitGatewayAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayattachment + TransitGatewayAttachment *NetworkInsightsAnalysis_AnalysisComponent `json:"TransitGatewayAttachment,omitempty"` + + // TransitGatewayRouteTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayroutetable + TransitGatewayRouteTable *NetworkInsightsAnalysis_AnalysisComponent `json:"TransitGatewayRouteTable,omitempty"` + + // TransitGatewayRouteTableRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayroutetableroute + TransitGatewayRouteTableRoute *NetworkInsightsAnalysis_TransitGatewayRouteTableRoute `json:"TransitGatewayRouteTableRoute,omitempty"` + // Vpc AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpc diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go index 6cb39b77e0..2b45f50a30 100644 --- a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go @@ -60,6 +60,16 @@ type NetworkInsightsAnalysis_PathComponent struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-subnet Subnet *NetworkInsightsAnalysis_AnalysisComponent `json:"Subnet,omitempty"` + // TransitGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-transitgateway + TransitGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"TransitGateway,omitempty"` + + // TransitGatewayRouteTableRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-transitgatewayroutetableroute + TransitGatewayRouteTableRoute *NetworkInsightsAnalysis_TransitGatewayRouteTableRoute `json:"TransitGatewayRouteTableRoute,omitempty"` + // Vpc AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-vpc diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_transitgatewayroutetableroute.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_transitgatewayroutetableroute.go new file mode 100644 index 0000000000..807ae68d17 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_transitgatewayroutetableroute.go @@ -0,0 +1,67 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// NetworkInsightsAnalysis_TransitGatewayRouteTableRoute AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html +type NetworkInsightsAnalysis_TransitGatewayRouteTableRoute struct { + + // AttachmentId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-attachmentid + AttachmentId *string `json:"AttachmentId,omitempty"` + + // DestinationCidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-destinationcidr + DestinationCidr *string `json:"DestinationCidr,omitempty"` + + // PrefixListId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-prefixlistid + PrefixListId *string `json:"PrefixListId,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-resourceid + ResourceId *string `json:"ResourceId,omitempty"` + + // ResourceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-resourcetype + ResourceType *string `json:"ResourceType,omitempty"` + + // RouteOrigin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-routeorigin + RouteOrigin *string `json:"RouteOrigin,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-state + State *string `json:"State,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 *NetworkInsightsAnalysis_TransitGatewayRouteTableRoute) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go index 9e0a6e6d41..98ceb69827 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashmanifest.go @@ -30,6 +30,11 @@ type PackagingConfiguration_DashManifest struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-profile Profile *string `json:"Profile,omitempty"` + // ScteMarkersSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-sctemarkerssource + ScteMarkersSource *string `json:"ScteMarkersSource,omitempty"` + // StreamSelection AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-streamselection diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go index 5fb9e21f01..380bc5b488 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_hostedrotationlambda.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html type RotationSchedule_HostedRotationLambda struct { + // ExcludeCharacters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-excludecharacters + ExcludeCharacters *string `json:"ExcludeCharacters,omitempty"` + // KmsKeyArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-kmskeyarn diff --git a/schema/cdk.go b/schema/cdk.go index 09aba3f83f..96773a91ed 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -41112,6 +41112,80 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42934,6 +43008,18 @@ var CdkSchema = `{ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42985,6 +43071,12 @@ var CdkSchema = `{ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -43003,6 +43095,33 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96530,6 +96649,9 @@ var CdkSchema = `{ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123651,6 +123773,9 @@ var CdkSchema = `{ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -133060,6 +133185,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 5916715095..1c6160f132 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -41107,6 +41107,80 @@ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42929,6 +43003,18 @@ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42980,6 +43066,12 @@ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -42998,6 +43090,33 @@ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96525,6 +96644,9 @@ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123646,6 +123768,9 @@ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -133055,6 +133180,9 @@ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 43046db973..ac1af02606 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -41054,6 +41054,80 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42876,6 +42950,18 @@ var CloudformationSchema = `{ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42927,6 +43013,12 @@ var CloudformationSchema = `{ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -42945,6 +43037,33 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96472,6 +96591,9 @@ var CloudformationSchema = `{ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123593,6 +123715,9 @@ var CloudformationSchema = `{ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -132999,6 +133124,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 79ba3c6237..1969aa2137 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -41049,6 +41049,80 @@ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42871,6 +42945,18 @@ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42922,6 +43008,12 @@ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -42940,6 +43032,33 @@ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96467,6 +96586,9 @@ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123588,6 +123710,9 @@ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -132994,6 +133119,9 @@ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" }, diff --git a/schema/sam.go b/schema/sam.go index f5686d83fc..e4dd7eca05 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -41054,6 +41054,80 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42876,6 +42950,18 @@ var SamSchema = `{ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42927,6 +43013,12 @@ var SamSchema = `{ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -42945,6 +43037,33 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96472,6 +96591,9 @@ var SamSchema = `{ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123593,6 +123715,9 @@ var SamSchema = `{ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -135856,6 +135981,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 292a1c14e7..d8cb97e7b4 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -41049,6 +41049,80 @@ ], "type": "object" }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyName": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { @@ -42871,6 +42945,18 @@ "SubnetRouteTable": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, @@ -42922,6 +43008,12 @@ "Subnet": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute" + }, "Vpc": { "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" } @@ -42940,6 +43032,33 @@ }, "type": "object" }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "type": "string" + }, + "DestinationCidr": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RouteOrigin": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { @@ -96467,6 +96586,9 @@ "Profile": { "type": "string" }, + "ScteMarkersSource": { + "type": "string" + }, "StreamSelection": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } @@ -123588,6 +123710,9 @@ "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { + "ExcludeCharacters": { + "type": "string" + }, "KmsKeyArn": { "type": "string" }, @@ -135851,6 +135976,9 @@ { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::KeyPair" + }, { "$ref": "#/definitions/AWS::EC2::LaunchTemplate" },