diff --git a/cloudformation/all.go b/cloudformation/all.go index 11f82d0d22..a2ad78e6ca 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -226,6 +226,7 @@ func AllResources() map[string]Resource { "AWS::ElasticLoadBalancingV2::LoadBalancer": &resources.AWSElasticLoadBalancingV2LoadBalancer{}, "AWS::ElasticLoadBalancingV2::TargetGroup": &resources.AWSElasticLoadBalancingV2TargetGroup{}, "AWS::Elasticsearch::Domain": &resources.AWSElasticsearchDomain{}, + "AWS::Events::EventBus": &resources.AWSEventsEventBus{}, "AWS::Events::EventBusPolicy": &resources.AWSEventsEventBusPolicy{}, "AWS::Events::Rule": &resources.AWSEventsRule{}, "AWS::FSx::FileSystem": &resources.AWSFSxFileSystem{}, @@ -5707,6 +5708,30 @@ func (t *Template) GetAWSElasticsearchDomainWithName(name string) (*resources.AW return nil, fmt.Errorf("resource %q of type AWSElasticsearchDomain not found", name) } +// GetAllAWSEventsEventBusResources retrieves all AWSEventsEventBus items from an AWS CloudFormation template +func (t *Template) GetAllAWSEventsEventBusResources() map[string]*resources.AWSEventsEventBus { + results := map[string]*resources.AWSEventsEventBus{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSEventsEventBus: + results[name] = resource + } + } + return results +} + +// GetAWSEventsEventBusWithName retrieves all AWSEventsEventBus items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSEventsEventBusWithName(name string) (*resources.AWSEventsEventBus, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSEventsEventBus: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSEventsEventBus not found", name) +} + // GetAllAWSEventsEventBusPolicyResources retrieves all AWSEventsEventBusPolicy items from an AWS CloudFormation template func (t *Template) GetAllAWSEventsEventBusPolicyResources() map[string]*resources.AWSEventsEventBusPolicy { results := map[string]*resources.AWSEventsEventBusPolicy{} diff --git a/cloudformation/resources/aws-batch-computeenvironment_computeresources.go b/cloudformation/resources/aws-batch-computeenvironment_computeresources.go index a8868da3ec..fcddb1b49b 100644 --- a/cloudformation/resources/aws-batch-computeenvironment_computeresources.go +++ b/cloudformation/resources/aws-batch-computeenvironment_computeresources.go @@ -6,6 +6,11 @@ import "github.com/awslabs/goformation/cloudformation/policies" // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html type AWSBatchComputeEnvironment_ComputeResources struct { + // AllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-allocationstrategy + AllocationStrategy string `json:"AllocationStrategy,omitempty"` + // BidPercentage AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-bidpercentage diff --git a/cloudformation/resources/aws-cognito-identitypoolroleattachment_rolemapping.go b/cloudformation/resources/aws-cognito-identitypoolroleattachment_rolemapping.go index 3a74f5dbcc..66e52b98d2 100644 --- a/cloudformation/resources/aws-cognito-identitypoolroleattachment_rolemapping.go +++ b/cloudformation/resources/aws-cognito-identitypoolroleattachment_rolemapping.go @@ -11,6 +11,11 @@ type AWSCognitoIdentityPoolRoleAttachment_RoleMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution AmbiguousRoleResolution string `json:"AmbiguousRoleResolution,omitempty"` + // IdentityProvider AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-identityprovider + IdentityProvider string `json:"IdentityProvider,omitempty"` + // RulesConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration diff --git a/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go index c37451a272..9ce3a2bdf6 100644 --- a/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go +++ b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go @@ -24,7 +24,7 @@ type AWSEC2TrafficMirrorFilterRule struct { // DestinationPortRange AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationportrange - DestinationPortRange *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRangeRequest `json:"DestinationPortRange,omitempty"` + DestinationPortRange *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange `json:"DestinationPortRange,omitempty"` // Protocol AWS CloudFormation Property // Required: false @@ -49,7 +49,7 @@ type AWSEC2TrafficMirrorFilterRule struct { // SourcePortRange AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourceportrange - SourcePortRange *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRangeRequest `json:"SourcePortRange,omitempty"` + SourcePortRange *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange `json:"SourcePortRange,omitempty"` // TrafficDirection AWS CloudFormation Property // Required: true diff --git a/cloudformation/resources/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go new file mode 100644 index 0000000000..651267a881 --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrange.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange AWS CloudFormation Resource (AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html +type AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange struct { + + // FromPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-fromport + FromPort int `json:"FromPort"` + + // ToPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-toport + ToPort int `json:"ToPort"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// DeletionPolicy returns the AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) DeletionPolicy() policies.DeletionPolicy { + return r._deletionPolicy +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRange) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-events-eventbus.go b/cloudformation/resources/aws-events-eventbus.go new file mode 100644 index 0000000000..9492489c2e --- /dev/null +++ b/cloudformation/resources/aws-events-eventbus.go @@ -0,0 +1,128 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSEventsEventBus AWS CloudFormation Resource (AWS::Events::EventBus) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html +type AWSEventsEventBus struct { + + // EventSourceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename + EventSourceName string `json:"EventSourceName,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSEventsEventBus) AWSCloudFormationType() string { + return "AWS::Events::EventBus" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSEventsEventBus) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSEventsEventBus) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSEventsEventBus) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSEventsEventBus) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// DeletionPolicy returns the AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSEventsEventBus) DeletionPolicy() policies.DeletionPolicy { + return r._deletionPolicy +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSEventsEventBus) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSEventsEventBus) MarshalJSON() ([]byte, error) { + type Properties AWSEventsEventBus + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSEventsEventBus) UnmarshalJSON(b []byte) error { + type Properties AWSEventsEventBus + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy 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 = AWSEventsEventBus(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + if res.DeletionPolicy != "" { + r._deletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + return nil +} diff --git a/cloudformation/resources/aws-fsx-filesystem.go b/cloudformation/resources/aws-fsx-filesystem.go index 90af74e1e9..133cc2dbdb 100644 --- a/cloudformation/resources/aws-fsx-filesystem.go +++ b/cloudformation/resources/aws-fsx-filesystem.go @@ -17,7 +17,7 @@ type AWSFSxFileSystem struct { BackupId string `json:"BackupId,omitempty"` // FileSystemType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-filesystemtype FileSystemType string `json:"FileSystemType,omitempty"` @@ -42,7 +42,7 @@ type AWSFSxFileSystem struct { StorageCapacity int `json:"StorageCapacity,omitempty"` // SubnetIds AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-subnetids SubnetIds []string `json:"SubnetIds,omitempty"` diff --git a/cloudformation/resources/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go b/cloudformation/resources/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go new file mode 100644 index 0000000000..959cadc2a4 --- /dev/null +++ b/cloudformation/resources/aws-fsx-filesystem_selfmanagedactivedirectoryconfiguration.go @@ -0,0 +1,88 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration AWS CloudFormation Resource (AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html +type AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration struct { + + // DnsIps AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-dnsips + DnsIps []string `json:"DnsIps,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-domainname + DomainName string `json:"DomainName,omitempty"` + + // FileSystemAdministratorsGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-filesystemadministratorsgroup + FileSystemAdministratorsGroup string `json:"FileSystemAdministratorsGroup,omitempty"` + + // OrganizationalUnitDistinguishedName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-organizationalunitdistinguishedname + OrganizationalUnitDistinguishedName string `json:"OrganizationalUnitDistinguishedName,omitempty"` + + // Password AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-password + Password string `json:"Password,omitempty"` + + // UserName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-username + UserName string `json:"UserName,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) AWSCloudFormationType() string { + return "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// DeletionPolicy returns the AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) DeletionPolicy() policies.DeletionPolicy { + return r._deletionPolicy +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-fsx-filesystem_windowsconfiguration.go b/cloudformation/resources/aws-fsx-filesystem_windowsconfiguration.go index d61e7022d3..c02682b1f1 100644 --- a/cloudformation/resources/aws-fsx-filesystem_windowsconfiguration.go +++ b/cloudformation/resources/aws-fsx-filesystem_windowsconfiguration.go @@ -26,6 +26,11 @@ type AWSFSxFileSystem_WindowsConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-dailyautomaticbackupstarttime DailyAutomaticBackupStartTime string `json:"DailyAutomaticBackupStartTime,omitempty"` + // SelfManagedActiveDirectoryConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration + SelfManagedActiveDirectoryConfiguration *AWSFSxFileSystem_SelfManagedActiveDirectoryConfiguration `json:"SelfManagedActiveDirectoryConfiguration,omitempty"` + // ThroughputCapacity AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-throughputcapacity diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 34e2517098..15b63366fc 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -7599,6 +7599,9 @@ var CloudformationSchema = `{ "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BidPercentage": { "type": "number" }, @@ -11996,6 +11999,9 @@ var CloudformationSchema = `{ "AmbiguousRoleResolution": { "type": "string" }, + "IdentityProvider": { + "type": "string" + }, "RulesConfiguration": { "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" }, @@ -19846,7 +19852,7 @@ var CloudformationSchema = `{ "type": "string" }, "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "Protocol": { "type": "number" @@ -19861,7 +19867,7 @@ var CloudformationSchema = `{ "type": "string" }, "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "TrafficDirection": { "type": "string" @@ -19893,7 +19899,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { "FromPort": { @@ -26558,6 +26564,63 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::EventBus": { + "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": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { @@ -26960,6 +27023,10 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, + "required": [ + "FileSystemType", + "SubnetIds" + ], "type": "object" }, "Type": { @@ -26970,7 +27037,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -26992,6 +27060,33 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { @@ -27007,6 +27102,9 @@ var CloudformationSchema = `{ "DailyAutomaticBackupStartTime": { "type": "string" }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, "ThroughputCapacity": { "type": "number" }, @@ -54021,6 +54119,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 60b3859e0f..91e97417e4 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -7596,6 +7596,9 @@ "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BidPercentage": { "type": "number" }, @@ -11993,6 +11996,9 @@ "AmbiguousRoleResolution": { "type": "string" }, + "IdentityProvider": { + "type": "string" + }, "RulesConfiguration": { "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" }, @@ -19843,7 +19849,7 @@ "type": "string" }, "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "Protocol": { "type": "number" @@ -19858,7 +19864,7 @@ "type": "string" }, "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "TrafficDirection": { "type": "string" @@ -19890,7 +19896,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { "FromPort": { @@ -26555,6 +26561,63 @@ }, "type": "object" }, + "AWS::Events::EventBus": { + "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": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { @@ -26957,6 +27020,10 @@ "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, + "required": [ + "FileSystemType", + "SubnetIds" + ], "type": "object" }, "Type": { @@ -26967,7 +27034,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -26989,6 +27057,33 @@ }, "type": "object" }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { @@ -27004,6 +27099,9 @@ "DailyAutomaticBackupStartTime": { "type": "string" }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, "ThroughputCapacity": { "type": "number" }, @@ -54018,6 +54116,9 @@ { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, diff --git a/schema/sam.go b/schema/sam.go index 717c93aa9a..bb8af0135a 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -7599,6 +7599,9 @@ var SamSchema = `{ "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BidPercentage": { "type": "number" }, @@ -11996,6 +11999,9 @@ var SamSchema = `{ "AmbiguousRoleResolution": { "type": "string" }, + "IdentityProvider": { + "type": "string" + }, "RulesConfiguration": { "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" }, @@ -19846,7 +19852,7 @@ var SamSchema = `{ "type": "string" }, "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "Protocol": { "type": "number" @@ -19861,7 +19867,7 @@ var SamSchema = `{ "type": "string" }, "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "TrafficDirection": { "type": "string" @@ -19893,7 +19899,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { "FromPort": { @@ -26558,6 +26564,63 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::EventBus": { + "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": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { @@ -26960,6 +27023,10 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, + "required": [ + "FileSystemType", + "SubnetIds" + ], "type": "object" }, "Type": { @@ -26970,7 +27037,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -26992,6 +27060,33 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { @@ -27007,6 +27102,9 @@ var SamSchema = `{ "DailyAutomaticBackupStartTime": { "type": "string" }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, "ThroughputCapacity": { "type": "number" }, @@ -55248,6 +55346,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index e11ca57db1..e1478d2157 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -7596,6 +7596,9 @@ "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, "BidPercentage": { "type": "number" }, @@ -11993,6 +11996,9 @@ "AmbiguousRoleResolution": { "type": "string" }, + "IdentityProvider": { + "type": "string" + }, "RulesConfiguration": { "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" }, @@ -19843,7 +19849,7 @@ "type": "string" }, "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "Protocol": { "type": "number" @@ -19858,7 +19864,7 @@ "type": "string" }, "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, "TrafficDirection": { "type": "string" @@ -19890,7 +19896,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { "FromPort": { @@ -26555,6 +26561,63 @@ }, "type": "object" }, + "AWS::Events::EventBus": { + "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": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { @@ -26957,6 +27020,10 @@ "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, + "required": [ + "FileSystemType", + "SubnetIds" + ], "type": "object" }, "Type": { @@ -26967,7 +27034,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -26989,6 +27057,33 @@ }, "type": "object" }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { @@ -27004,6 +27099,9 @@ "DailyAutomaticBackupStartTime": { "type": "string" }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, "ThroughputCapacity": { "type": "number" }, @@ -55245,6 +55343,9 @@ { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, { "$ref": "#/definitions/AWS::Events::EventBusPolicy" },