diff --git a/cloudformation/all.go b/cloudformation/all.go index 7b42bcc964..11f82d0d22 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -106,7 +106,12 @@ func AllResources() map[string]Resource { "AWS::Cognito::IdentityPoolRoleAttachment": &resources.AWSCognitoIdentityPoolRoleAttachment{}, "AWS::Cognito::UserPool": &resources.AWSCognitoUserPool{}, "AWS::Cognito::UserPoolClient": &resources.AWSCognitoUserPoolClient{}, + "AWS::Cognito::UserPoolDomain": &resources.AWSCognitoUserPoolDomain{}, "AWS::Cognito::UserPoolGroup": &resources.AWSCognitoUserPoolGroup{}, + "AWS::Cognito::UserPoolIdentityProvider": &resources.AWSCognitoUserPoolIdentityProvider{}, + "AWS::Cognito::UserPoolResourceServer": &resources.AWSCognitoUserPoolResourceServer{}, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": &resources.AWSCognitoUserPoolRiskConfigurationAttachment{}, + "AWS::Cognito::UserPoolUICustomizationAttachment": &resources.AWSCognitoUserPoolUICustomizationAttachment{}, "AWS::Cognito::UserPoolUser": &resources.AWSCognitoUserPoolUser{}, "AWS::Cognito::UserPoolUserToGroupAttachment": &resources.AWSCognitoUserPoolUserToGroupAttachment{}, "AWS::Config::AggregationAuthorization": &resources.AWSConfigAggregationAuthorization{}, @@ -167,6 +172,10 @@ func AllResources() map[string]Resource { "AWS::EC2::SubnetCidrBlock": &resources.AWSEC2SubnetCidrBlock{}, "AWS::EC2::SubnetNetworkAclAssociation": &resources.AWSEC2SubnetNetworkAclAssociation{}, "AWS::EC2::SubnetRouteTableAssociation": &resources.AWSEC2SubnetRouteTableAssociation{}, + "AWS::EC2::TrafficMirrorFilter": &resources.AWSEC2TrafficMirrorFilter{}, + "AWS::EC2::TrafficMirrorFilterRule": &resources.AWSEC2TrafficMirrorFilterRule{}, + "AWS::EC2::TrafficMirrorSession": &resources.AWSEC2TrafficMirrorSession{}, + "AWS::EC2::TrafficMirrorTarget": &resources.AWSEC2TrafficMirrorTarget{}, "AWS::EC2::TransitGateway": &resources.AWSEC2TransitGateway{}, "AWS::EC2::TransitGatewayAttachment": &resources.AWSEC2TransitGatewayAttachment{}, "AWS::EC2::TransitGatewayRoute": &resources.AWSEC2TransitGatewayRoute{}, @@ -2818,6 +2827,30 @@ func (t *Template) GetAWSCognitoUserPoolClientWithName(name string) (*resources. return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolClient not found", name) } +// GetAllAWSCognitoUserPoolDomainResources retrieves all AWSCognitoUserPoolDomain items from an AWS CloudFormation template +func (t *Template) GetAllAWSCognitoUserPoolDomainResources() map[string]*resources.AWSCognitoUserPoolDomain { + results := map[string]*resources.AWSCognitoUserPoolDomain{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolDomain: + results[name] = resource + } + } + return results +} + +// GetAWSCognitoUserPoolDomainWithName retrieves all AWSCognitoUserPoolDomain items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSCognitoUserPoolDomainWithName(name string) (*resources.AWSCognitoUserPoolDomain, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolDomain: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolDomain not found", name) +} + // GetAllAWSCognitoUserPoolGroupResources retrieves all AWSCognitoUserPoolGroup items from an AWS CloudFormation template func (t *Template) GetAllAWSCognitoUserPoolGroupResources() map[string]*resources.AWSCognitoUserPoolGroup { results := map[string]*resources.AWSCognitoUserPoolGroup{} @@ -2842,6 +2875,102 @@ func (t *Template) GetAWSCognitoUserPoolGroupWithName(name string) (*resources.A return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolGroup not found", name) } +// GetAllAWSCognitoUserPoolIdentityProviderResources retrieves all AWSCognitoUserPoolIdentityProvider items from an AWS CloudFormation template +func (t *Template) GetAllAWSCognitoUserPoolIdentityProviderResources() map[string]*resources.AWSCognitoUserPoolIdentityProvider { + results := map[string]*resources.AWSCognitoUserPoolIdentityProvider{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolIdentityProvider: + results[name] = resource + } + } + return results +} + +// GetAWSCognitoUserPoolIdentityProviderWithName retrieves all AWSCognitoUserPoolIdentityProvider items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSCognitoUserPoolIdentityProviderWithName(name string) (*resources.AWSCognitoUserPoolIdentityProvider, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolIdentityProvider: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolIdentityProvider not found", name) +} + +// GetAllAWSCognitoUserPoolResourceServerResources retrieves all AWSCognitoUserPoolResourceServer items from an AWS CloudFormation template +func (t *Template) GetAllAWSCognitoUserPoolResourceServerResources() map[string]*resources.AWSCognitoUserPoolResourceServer { + results := map[string]*resources.AWSCognitoUserPoolResourceServer{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolResourceServer: + results[name] = resource + } + } + return results +} + +// GetAWSCognitoUserPoolResourceServerWithName retrieves all AWSCognitoUserPoolResourceServer items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSCognitoUserPoolResourceServerWithName(name string) (*resources.AWSCognitoUserPoolResourceServer, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolResourceServer: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolResourceServer not found", name) +} + +// GetAllAWSCognitoUserPoolRiskConfigurationAttachmentResources retrieves all AWSCognitoUserPoolRiskConfigurationAttachment items from an AWS CloudFormation template +func (t *Template) GetAllAWSCognitoUserPoolRiskConfigurationAttachmentResources() map[string]*resources.AWSCognitoUserPoolRiskConfigurationAttachment { + results := map[string]*resources.AWSCognitoUserPoolRiskConfigurationAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolRiskConfigurationAttachment: + results[name] = resource + } + } + return results +} + +// GetAWSCognitoUserPoolRiskConfigurationAttachmentWithName retrieves all AWSCognitoUserPoolRiskConfigurationAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSCognitoUserPoolRiskConfigurationAttachmentWithName(name string) (*resources.AWSCognitoUserPoolRiskConfigurationAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolRiskConfigurationAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolRiskConfigurationAttachment not found", name) +} + +// GetAllAWSCognitoUserPoolUICustomizationAttachmentResources retrieves all AWSCognitoUserPoolUICustomizationAttachment items from an AWS CloudFormation template +func (t *Template) GetAllAWSCognitoUserPoolUICustomizationAttachmentResources() map[string]*resources.AWSCognitoUserPoolUICustomizationAttachment { + results := map[string]*resources.AWSCognitoUserPoolUICustomizationAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolUICustomizationAttachment: + results[name] = resource + } + } + return results +} + +// GetAWSCognitoUserPoolUICustomizationAttachmentWithName retrieves all AWSCognitoUserPoolUICustomizationAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSCognitoUserPoolUICustomizationAttachmentWithName(name string) (*resources.AWSCognitoUserPoolUICustomizationAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSCognitoUserPoolUICustomizationAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSCognitoUserPoolUICustomizationAttachment not found", name) +} + // GetAllAWSCognitoUserPoolUserResources retrieves all AWSCognitoUserPoolUser items from an AWS CloudFormation template func (t *Template) GetAllAWSCognitoUserPoolUserResources() map[string]*resources.AWSCognitoUserPoolUser { results := map[string]*resources.AWSCognitoUserPoolUser{} @@ -4282,6 +4411,102 @@ func (t *Template) GetAWSEC2SubnetRouteTableAssociationWithName(name string) (*r return nil, fmt.Errorf("resource %q of type AWSEC2SubnetRouteTableAssociation not found", name) } +// GetAllAWSEC2TrafficMirrorFilterResources retrieves all AWSEC2TrafficMirrorFilter items from an AWS CloudFormation template +func (t *Template) GetAllAWSEC2TrafficMirrorFilterResources() map[string]*resources.AWSEC2TrafficMirrorFilter { + results := map[string]*resources.AWSEC2TrafficMirrorFilter{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorFilter: + results[name] = resource + } + } + return results +} + +// GetAWSEC2TrafficMirrorFilterWithName retrieves all AWSEC2TrafficMirrorFilter items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSEC2TrafficMirrorFilterWithName(name string) (*resources.AWSEC2TrafficMirrorFilter, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorFilter: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSEC2TrafficMirrorFilter not found", name) +} + +// GetAllAWSEC2TrafficMirrorFilterRuleResources retrieves all AWSEC2TrafficMirrorFilterRule items from an AWS CloudFormation template +func (t *Template) GetAllAWSEC2TrafficMirrorFilterRuleResources() map[string]*resources.AWSEC2TrafficMirrorFilterRule { + results := map[string]*resources.AWSEC2TrafficMirrorFilterRule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorFilterRule: + results[name] = resource + } + } + return results +} + +// GetAWSEC2TrafficMirrorFilterRuleWithName retrieves all AWSEC2TrafficMirrorFilterRule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSEC2TrafficMirrorFilterRuleWithName(name string) (*resources.AWSEC2TrafficMirrorFilterRule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorFilterRule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSEC2TrafficMirrorFilterRule not found", name) +} + +// GetAllAWSEC2TrafficMirrorSessionResources retrieves all AWSEC2TrafficMirrorSession items from an AWS CloudFormation template +func (t *Template) GetAllAWSEC2TrafficMirrorSessionResources() map[string]*resources.AWSEC2TrafficMirrorSession { + results := map[string]*resources.AWSEC2TrafficMirrorSession{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorSession: + results[name] = resource + } + } + return results +} + +// GetAWSEC2TrafficMirrorSessionWithName retrieves all AWSEC2TrafficMirrorSession items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSEC2TrafficMirrorSessionWithName(name string) (*resources.AWSEC2TrafficMirrorSession, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorSession: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSEC2TrafficMirrorSession not found", name) +} + +// GetAllAWSEC2TrafficMirrorTargetResources retrieves all AWSEC2TrafficMirrorTarget items from an AWS CloudFormation template +func (t *Template) GetAllAWSEC2TrafficMirrorTargetResources() map[string]*resources.AWSEC2TrafficMirrorTarget { + results := map[string]*resources.AWSEC2TrafficMirrorTarget{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorTarget: + results[name] = resource + } + } + return results +} + +// GetAWSEC2TrafficMirrorTargetWithName retrieves all AWSEC2TrafficMirrorTarget items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSEC2TrafficMirrorTargetWithName(name string) (*resources.AWSEC2TrafficMirrorTarget, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSEC2TrafficMirrorTarget: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSEC2TrafficMirrorTarget not found", name) +} + // GetAllAWSEC2TransitGatewayResources retrieves all AWSEC2TransitGateway items from an AWS CloudFormation template func (t *Template) GetAllAWSEC2TransitGatewayResources() map[string]*resources.AWSEC2TransitGateway { results := map[string]*resources.AWSEC2TransitGateway{} diff --git a/cloudformation/resources/aws-budgets-budget_budgetdata.go b/cloudformation/resources/aws-budgets-budget_budgetdata.go index 117ce485fd..ae528bdbd7 100644 --- a/cloudformation/resources/aws-budgets-budget_budgetdata.go +++ b/cloudformation/resources/aws-budgets-budget_budgetdata.go @@ -31,6 +31,11 @@ type AWSBudgetsBudget_BudgetData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costtypes CostTypes *AWSBudgetsBudget_CostTypes `json:"CostTypes,omitempty"` + // PlannedBudgetLimits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-plannedbudgetlimits + PlannedBudgetLimits interface{} `json:"PlannedBudgetLimits,omitempty"` + // TimePeriod AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeperiod diff --git a/cloudformation/resources/aws-cognito-userpool.go b/cloudformation/resources/aws-cognito-userpool.go index 0d5cbecfac..3776ca46ee 100644 --- a/cloudformation/resources/aws-cognito-userpool.go +++ b/cloudformation/resources/aws-cognito-userpool.go @@ -46,6 +46,11 @@ type AWSCognitoUserPool struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject EmailVerificationSubject string `json:"EmailVerificationSubject,omitempty"` + // EnabledMfas AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas + EnabledMfas []string `json:"EnabledMfas,omitempty"` + // LambdaConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig diff --git a/cloudformation/resources/aws-cognito-userpooldomain.go b/cloudformation/resources/aws-cognito-userpooldomain.go new file mode 100644 index 0000000000..48388df942 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpooldomain.go @@ -0,0 +1,133 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSCognitoUserPoolDomain AWS CloudFormation Resource (AWS::Cognito::UserPoolDomain) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html +type AWSCognitoUserPoolDomain struct { + + // CustomDomainConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig + CustomDomainConfig *AWSCognitoUserPoolDomain_CustomDomainConfigType `json:"CustomDomainConfig,omitempty"` + + // Domain AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-domain + Domain string `json:"Domain,omitempty"` + + // UserPoolId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-userpoolid + UserPoolId string `json:"UserPoolId,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 *AWSCognitoUserPoolDomain) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolDomain" +} + +// 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 *AWSCognitoUserPoolDomain) 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 *AWSCognitoUserPoolDomain) 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 *AWSCognitoUserPoolDomain) 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 *AWSCognitoUserPoolDomain) 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 *AWSCognitoUserPoolDomain) 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 *AWSCognitoUserPoolDomain) 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 AWSCognitoUserPoolDomain) MarshalJSON() ([]byte, error) { + type Properties AWSCognitoUserPoolDomain + 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 *AWSCognitoUserPoolDomain) UnmarshalJSON(b []byte) error { + type Properties AWSCognitoUserPoolDomain + 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 = AWSCognitoUserPoolDomain(*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-cognito-userpooldomain_customdomainconfigtype.go b/cloudformation/resources/aws-cognito-userpooldomain_customdomainconfigtype.go new file mode 100644 index 0000000000..e0a9c3b4c7 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpooldomain_customdomainconfigtype.go @@ -0,0 +1,63 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolDomain_CustomDomainConfigType AWS CloudFormation Resource (AWS::Cognito::UserPoolDomain.CustomDomainConfigType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html +type AWSCognitoUserPoolDomain_CustomDomainConfigType struct { + + // CertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html#cfn-cognito-userpooldomain-customdomainconfigtype-certificatearn + CertificateArn string `json:"CertificateArn,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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolDomain.CustomDomainConfigType" +} + +// 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) 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 *AWSCognitoUserPoolDomain_CustomDomainConfigType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolidentityprovider.go b/cloudformation/resources/aws-cognito-userpoolidentityprovider.go new file mode 100644 index 0000000000..cfbb4186a1 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolidentityprovider.go @@ -0,0 +1,148 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSCognitoUserPoolIdentityProvider AWS CloudFormation Resource (AWS::Cognito::UserPoolIdentityProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html +type AWSCognitoUserPoolIdentityProvider struct { + + // AttributeMapping AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping + AttributeMapping interface{} `json:"AttributeMapping,omitempty"` + + // IdpIdentifiers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers + IdpIdentifiers []string `json:"IdpIdentifiers,omitempty"` + + // ProviderDetails AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails + ProviderDetails interface{} `json:"ProviderDetails,omitempty"` + + // ProviderName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providername + ProviderName string `json:"ProviderName,omitempty"` + + // ProviderType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype + ProviderType string `json:"ProviderType,omitempty"` + + // UserPoolId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid + UserPoolId string `json:"UserPoolId,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 *AWSCognitoUserPoolIdentityProvider) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolIdentityProvider" +} + +// 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 *AWSCognitoUserPoolIdentityProvider) 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 *AWSCognitoUserPoolIdentityProvider) 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 *AWSCognitoUserPoolIdentityProvider) 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 *AWSCognitoUserPoolIdentityProvider) 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 *AWSCognitoUserPoolIdentityProvider) 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 *AWSCognitoUserPoolIdentityProvider) 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 AWSCognitoUserPoolIdentityProvider) MarshalJSON() ([]byte, error) { + type Properties AWSCognitoUserPoolIdentityProvider + 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 *AWSCognitoUserPoolIdentityProvider) UnmarshalJSON(b []byte) error { + type Properties AWSCognitoUserPoolIdentityProvider + 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 = AWSCognitoUserPoolIdentityProvider(*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-cognito-userpoolresourceserver.go b/cloudformation/resources/aws-cognito-userpoolresourceserver.go new file mode 100644 index 0000000000..d308bd8b83 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolresourceserver.go @@ -0,0 +1,138 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSCognitoUserPoolResourceServer AWS CloudFormation Resource (AWS::Cognito::UserPoolResourceServer) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html +type AWSCognitoUserPoolResourceServer struct { + + // Identifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-identifier + Identifier string `json:"Identifier,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-name + Name string `json:"Name,omitempty"` + + // Scopes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-scopes + Scopes []AWSCognitoUserPoolResourceServer_ResourceServerScopeType `json:"Scopes,omitempty"` + + // UserPoolId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-userpoolid + UserPoolId string `json:"UserPoolId,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 *AWSCognitoUserPoolResourceServer) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolResourceServer" +} + +// 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 *AWSCognitoUserPoolResourceServer) 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 *AWSCognitoUserPoolResourceServer) 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 *AWSCognitoUserPoolResourceServer) 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 *AWSCognitoUserPoolResourceServer) 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 *AWSCognitoUserPoolResourceServer) 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 *AWSCognitoUserPoolResourceServer) 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 AWSCognitoUserPoolResourceServer) MarshalJSON() ([]byte, error) { + type Properties AWSCognitoUserPoolResourceServer + 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 *AWSCognitoUserPoolResourceServer) UnmarshalJSON(b []byte) error { + type Properties AWSCognitoUserPoolResourceServer + 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 = AWSCognitoUserPoolResourceServer(*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-cognito-userpoolresourceserver_resourceserverscopetype.go b/cloudformation/resources/aws-cognito-userpoolresourceserver_resourceserverscopetype.go new file mode 100644 index 0000000000..8ac98424e8 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolresourceserver_resourceserverscopetype.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolResourceServer_ResourceServerScopeType AWS CloudFormation Resource (AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html +type AWSCognitoUserPoolResourceServer_ResourceServerScopeType struct { + + // ScopeDescription AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopedescription + ScopeDescription string `json:"ScopeDescription,omitempty"` + + // ScopeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopename + ScopeName string `json:"ScopeName,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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" +} + +// 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) 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 *AWSCognitoUserPoolResourceServer_ResourceServerScopeType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment.go new file mode 100644 index 0000000000..65c1a8f00d --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment.go @@ -0,0 +1,143 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSCognitoUserPoolRiskConfigurationAttachment AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html +type AWSCognitoUserPoolRiskConfigurationAttachment struct { + + // AccountTakeoverRiskConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfiguration + AccountTakeoverRiskConfiguration *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType `json:"AccountTakeoverRiskConfiguration,omitempty"` + + // ClientId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-clientid + ClientId string `json:"ClientId,omitempty"` + + // CompromisedCredentialsRiskConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfiguration + CompromisedCredentialsRiskConfiguration *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType `json:"CompromisedCredentialsRiskConfiguration,omitempty"` + + // RiskExceptionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfiguration + RiskExceptionConfiguration *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType `json:"RiskExceptionConfiguration,omitempty"` + + // UserPoolId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-userpoolid + UserPoolId string `json:"UserPoolId,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 *AWSCognitoUserPoolRiskConfigurationAttachment) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 *AWSCognitoUserPoolRiskConfigurationAttachment) 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 AWSCognitoUserPoolRiskConfigurationAttachment) MarshalJSON() ([]byte, error) { + type Properties AWSCognitoUserPoolRiskConfigurationAttachment + 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 *AWSCognitoUserPoolRiskConfigurationAttachment) UnmarshalJSON(b []byte) error { + type Properties AWSCognitoUserPoolRiskConfigurationAttachment + 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 = AWSCognitoUserPoolRiskConfigurationAttachment(*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-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go new file mode 100644 index 0000000000..2a46911478 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractionstype.go @@ -0,0 +1,73 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType struct { + + // HighAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-highaction + HighAction *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType `json:"HighAction,omitempty"` + + // LowAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-lowaction + LowAction *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType `json:"LowAction,omitempty"` + + // MediumAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-mediumaction + MediumAction *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType `json:"MediumAction,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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go new file mode 100644 index 0000000000..1b682411cf --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoveractiontype.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType struct { + + // EventAction AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-eventaction + EventAction string `json:"EventAction,omitempty"` + + // Notify AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-notify + Notify bool `json:"Notify"` + + // _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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go new file mode 100644 index 0000000000..976bb20df9 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_accounttakeoverriskconfigurationtype.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-actions + Actions *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverActionsType `json:"Actions,omitempty"` + + // NotifyConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-notifyconfiguration + NotifyConfiguration *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType `json:"NotifyConfiguration,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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_AccountTakeoverRiskConfigurationType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go new file mode 100644 index 0000000000..a3467a2fe5 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsactionstype.go @@ -0,0 +1,63 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType struct { + + // EventAction AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype-eventaction + EventAction string `json:"EventAction,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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go new file mode 100644 index 0000000000..04791e1fae --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_compromisedcredentialsriskconfigurationtype.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-actions + Actions *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsActionsType `json:"Actions,omitempty"` + + // EventFilter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-eventfilter + EventFilter []string `json:"EventFilter,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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_CompromisedCredentialsRiskConfigurationType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go new file mode 100644 index 0000000000..3046b9175a --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyconfigurationtype.go @@ -0,0 +1,88 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType struct { + + // BlockEmail AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-blockemail + BlockEmail *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType `json:"BlockEmail,omitempty"` + + // From AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-from + From string `json:"From,omitempty"` + + // MfaEmail AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-mfaemail + MfaEmail *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType `json:"MfaEmail,omitempty"` + + // NoActionEmail AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-noactionemail + NoActionEmail *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType `json:"NoActionEmail,omitempty"` + + // ReplyTo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto + ReplyTo string `json:"ReplyTo,omitempty"` + + // SourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-sourcearn + SourceArn string `json:"SourceArn,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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyConfigurationType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go new file mode 100644 index 0000000000..69f11162ef --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_notifyemailtype.go @@ -0,0 +1,73 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType struct { + + // HtmlBody AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-htmlbody + HtmlBody string `json:"HtmlBody,omitempty"` + + // Subject AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-subject + Subject string `json:"Subject,omitempty"` + + // TextBody AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-textbody + TextBody string `json:"TextBody,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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_NotifyEmailType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go new file mode 100644 index 0000000000..6ea0405b06 --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpoolriskconfigurationattachment_riskexceptionconfigurationtype.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType AWS CloudFormation Resource (AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html +type AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType struct { + + // BlockedIPRangeList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-blockediprangelist + BlockedIPRangeList []string `json:"BlockedIPRangeList,omitempty"` + + // SkippedIPRangeList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-skippediprangelist + SkippedIPRangeList []string `json:"SkippedIPRangeList,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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" +} + +// 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) 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 *AWSCognitoUserPoolRiskConfigurationAttachment_RiskExceptionConfigurationType) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-cognito-userpooluicustomizationattachment.go b/cloudformation/resources/aws-cognito-userpooluicustomizationattachment.go new file mode 100644 index 0000000000..36ce4ca33e --- /dev/null +++ b/cloudformation/resources/aws-cognito-userpooluicustomizationattachment.go @@ -0,0 +1,133 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSCognitoUserPoolUICustomizationAttachment AWS CloudFormation Resource (AWS::Cognito::UserPoolUICustomizationAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html +type AWSCognitoUserPoolUICustomizationAttachment struct { + + // CSS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-css + CSS string `json:"CSS,omitempty"` + + // ClientId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid + ClientId string `json:"ClientId,omitempty"` + + // UserPoolId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-userpoolid + UserPoolId string `json:"UserPoolId,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 *AWSCognitoUserPoolUICustomizationAttachment) AWSCloudFormationType() string { + return "AWS::Cognito::UserPoolUICustomizationAttachment" +} + +// 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 *AWSCognitoUserPoolUICustomizationAttachment) 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 AWSCognitoUserPoolUICustomizationAttachment) MarshalJSON() ([]byte, error) { + type Properties AWSCognitoUserPoolUICustomizationAttachment + 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 *AWSCognitoUserPoolUICustomizationAttachment) UnmarshalJSON(b []byte) error { + type Properties AWSCognitoUserPoolUICustomizationAttachment + 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 = AWSCognitoUserPoolUICustomizationAttachment(*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-ec2-trafficmirrorfilter.go b/cloudformation/resources/aws-ec2-trafficmirrorfilter.go new file mode 100644 index 0000000000..58eb88e153 --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrorfilter.go @@ -0,0 +1,133 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSEC2TrafficMirrorFilter AWS CloudFormation Resource (AWS::EC2::TrafficMirrorFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html +type AWSEC2TrafficMirrorFilter struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-description + Description string `json:"Description,omitempty"` + + // NetworkServices AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-networkservices + NetworkServices []string `json:"NetworkServices,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-tags + Tags []Tag `json:"Tags,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 *AWSEC2TrafficMirrorFilter) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorFilter" +} + +// 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 *AWSEC2TrafficMirrorFilter) 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 *AWSEC2TrafficMirrorFilter) 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 *AWSEC2TrafficMirrorFilter) 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 *AWSEC2TrafficMirrorFilter) 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 *AWSEC2TrafficMirrorFilter) 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 *AWSEC2TrafficMirrorFilter) 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 AWSEC2TrafficMirrorFilter) MarshalJSON() ([]byte, error) { + type Properties AWSEC2TrafficMirrorFilter + 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 *AWSEC2TrafficMirrorFilter) UnmarshalJSON(b []byte) error { + type Properties AWSEC2TrafficMirrorFilter + 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 = AWSEC2TrafficMirrorFilter(*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-ec2-trafficmirrorfilterrule.go b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go new file mode 100644 index 0000000000..c37451a272 --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule.go @@ -0,0 +1,168 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSEC2TrafficMirrorFilterRule AWS CloudFormation Resource (AWS::EC2::TrafficMirrorFilterRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html +type AWSEC2TrafficMirrorFilterRule struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-description + Description string `json:"Description,omitempty"` + + // DestinationCidrBlock AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationcidrblock + DestinationCidrBlock string `json:"DestinationCidrBlock,omitempty"` + + // 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"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-protocol + Protocol int `json:"Protocol,omitempty"` + + // RuleAction AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-ruleaction + RuleAction string `json:"RuleAction,omitempty"` + + // RuleNumber AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-rulenumber + RuleNumber int `json:"RuleNumber"` + + // SourceCidrBlock AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourcecidrblock + SourceCidrBlock string `json:"SourceCidrBlock,omitempty"` + + // 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"` + + // TrafficDirection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficdirection + TrafficDirection string `json:"TrafficDirection,omitempty"` + + // TrafficMirrorFilterId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorfilterid + TrafficMirrorFilterId string `json:"TrafficMirrorFilterId,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 *AWSEC2TrafficMirrorFilterRule) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorFilterRule" +} + +// 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) 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) 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) 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) 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) 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) 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 AWSEC2TrafficMirrorFilterRule) MarshalJSON() ([]byte, error) { + type Properties AWSEC2TrafficMirrorFilterRule + 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 *AWSEC2TrafficMirrorFilterRule) UnmarshalJSON(b []byte) error { + type Properties AWSEC2TrafficMirrorFilterRule + 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 = AWSEC2TrafficMirrorFilterRule(*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-ec2-trafficmirrorfilterrule_trafficmirrorportrangerequest.go b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrangerequest.go new file mode 100644 index 0000000000..a800e857ad --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrorfilterrule_trafficmirrorportrangerequest.go @@ -0,0 +1,68 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRangeRequest AWS CloudFormation Resource (AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html +type AWSEC2TrafficMirrorFilterRule_TrafficMirrorPortRangeRequest struct { + + // FromPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest-fromport + FromPort int `json:"FromPort"` + + // ToPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest-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_TrafficMirrorPortRangeRequest) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" +} + +// 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_TrafficMirrorPortRangeRequest) 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_TrafficMirrorPortRangeRequest) 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_TrafficMirrorPortRangeRequest) 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_TrafficMirrorPortRangeRequest) 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_TrafficMirrorPortRangeRequest) 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_TrafficMirrorPortRangeRequest) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-ec2-trafficmirrorsession.go b/cloudformation/resources/aws-ec2-trafficmirrorsession.go new file mode 100644 index 0000000000..7685f09cf8 --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrorsession.go @@ -0,0 +1,158 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSEC2TrafficMirrorSession AWS CloudFormation Resource (AWS::EC2::TrafficMirrorSession) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html +type AWSEC2TrafficMirrorSession struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description + Description string `json:"Description,omitempty"` + + // NetworkInterfaceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // PacketLength AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength + PacketLength int `json:"PacketLength,omitempty"` + + // SessionNumber AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-sessionnumber + SessionNumber int `json:"SessionNumber"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags + Tags []Tag `json:"Tags,omitempty"` + + // TrafficMirrorFilterId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid + TrafficMirrorFilterId string `json:"TrafficMirrorFilterId,omitempty"` + + // TrafficMirrorTargetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrortargetid + TrafficMirrorTargetId string `json:"TrafficMirrorTargetId,omitempty"` + + // VirtualNetworkId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid + VirtualNetworkId int `json:"VirtualNetworkId,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 *AWSEC2TrafficMirrorSession) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorSession" +} + +// 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 *AWSEC2TrafficMirrorSession) 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 *AWSEC2TrafficMirrorSession) 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 *AWSEC2TrafficMirrorSession) 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 *AWSEC2TrafficMirrorSession) 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 *AWSEC2TrafficMirrorSession) 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 *AWSEC2TrafficMirrorSession) 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 AWSEC2TrafficMirrorSession) MarshalJSON() ([]byte, error) { + type Properties AWSEC2TrafficMirrorSession + 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 *AWSEC2TrafficMirrorSession) UnmarshalJSON(b []byte) error { + type Properties AWSEC2TrafficMirrorSession + 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 = AWSEC2TrafficMirrorSession(*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-ec2-trafficmirrortarget.go b/cloudformation/resources/aws-ec2-trafficmirrortarget.go new file mode 100644 index 0000000000..530962b7d8 --- /dev/null +++ b/cloudformation/resources/aws-ec2-trafficmirrortarget.go @@ -0,0 +1,138 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSEC2TrafficMirrorTarget AWS CloudFormation Resource (AWS::EC2::TrafficMirrorTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html +type AWSEC2TrafficMirrorTarget struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description + Description string `json:"Description,omitempty"` + + // NetworkInterfaceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // NetworkLoadBalancerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkloadbalancerarn + NetworkLoadBalancerArn string `json:"NetworkLoadBalancerArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-tags + Tags []Tag `json:"Tags,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 *AWSEC2TrafficMirrorTarget) AWSCloudFormationType() string { + return "AWS::EC2::TrafficMirrorTarget" +} + +// 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 *AWSEC2TrafficMirrorTarget) 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 *AWSEC2TrafficMirrorTarget) 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 *AWSEC2TrafficMirrorTarget) 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 *AWSEC2TrafficMirrorTarget) 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 *AWSEC2TrafficMirrorTarget) 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 *AWSEC2TrafficMirrorTarget) 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 AWSEC2TrafficMirrorTarget) MarshalJSON() ([]byte, error) { + type Properties AWSEC2TrafficMirrorTarget + 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 *AWSEC2TrafficMirrorTarget) UnmarshalJSON(b []byte) error { + type Properties AWSEC2TrafficMirrorTarget + 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 = AWSEC2TrafficMirrorTarget(*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-events-eventbuspolicy.go b/cloudformation/resources/aws-events-eventbuspolicy.go index 9bae5307e2..f97ae9ac3f 100644 --- a/cloudformation/resources/aws-events-eventbuspolicy.go +++ b/cloudformation/resources/aws-events-eventbuspolicy.go @@ -21,6 +21,11 @@ type AWSEventsEventBusPolicy struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition Condition *AWSEventsEventBusPolicy_Condition `json:"Condition,omitempty"` + // EventBusName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname + EventBusName string `json:"EventBusName,omitempty"` + // Principal AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal diff --git a/cloudformation/resources/aws-pinpoint-app.go b/cloudformation/resources/aws-pinpoint-app.go index c16b6ddf6c..6773a44ce4 100644 --- a/cloudformation/resources/aws-pinpoint-app.go +++ b/cloudformation/resources/aws-pinpoint-app.go @@ -16,6 +16,11 @@ type AWSPinpointApp struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-tags + Tags interface{} `json:"Tags,omitempty"` + // _deletionPolicy represents a CloudFormation DeletionPolicy _deletionPolicy policies.DeletionPolicy diff --git a/cloudformation/resources/aws-pinpoint-campaign.go b/cloudformation/resources/aws-pinpoint-campaign.go index 4e27875c37..e37516d35c 100644 --- a/cloudformation/resources/aws-pinpoint-campaign.go +++ b/cloudformation/resources/aws-pinpoint-campaign.go @@ -71,6 +71,11 @@ type AWSPinpointCampaign struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentversion SegmentVersion int `json:"SegmentVersion,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-tags + Tags interface{} `json:"Tags,omitempty"` + // TreatmentDescription AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentdescription diff --git a/cloudformation/resources/aws-pinpoint-segment.go b/cloudformation/resources/aws-pinpoint-segment.go index c6da89aea0..746285ef8c 100644 --- a/cloudformation/resources/aws-pinpoint-segment.go +++ b/cloudformation/resources/aws-pinpoint-segment.go @@ -31,6 +31,11 @@ type AWSPinpointSegment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-segmentgroups SegmentGroups *AWSPinpointSegment_SegmentGroups `json:"SegmentGroups,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-tags + Tags interface{} `json:"Tags,omitempty"` + // _deletionPolicy represents a CloudFormation DeletionPolicy _deletionPolicy policies.DeletionPolicy diff --git a/go.mod b/go.mod index 3a91898ad9..52a99df026 100644 --- a/go.mod +++ b/go.mod @@ -22,3 +22,5 @@ require ( gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/yaml.v2 v2.2.2 // indirect ) + +go 1.13 diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 923c4fb0fd..34e2517098 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -8152,6 +8152,9 @@ var CloudformationSchema = `{ "CostTypes": { "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" }, + "PlannedBudgetLimits": { + "type": "object" + }, "TimePeriod": { "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" }, @@ -12079,6 +12082,12 @@ var CloudformationSchema = `{ "EmailVerificationSubject": { "type": "string" }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, "LambdaConfig": { "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" }, @@ -12496,73 +12505,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "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": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12594,45 +12537,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" }, - "MessageAction": { + "Domain": { "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, "UserPoolId": { "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" } }, "required": [ + "Domain", "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::Cognito::UserPoolDomain" ], "type": "string" } @@ -12643,19 +12566,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12687,26 +12607,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Description": { + "type": "string" + }, "GroupName": { "type": "string" }, - "UserPoolId": { + "Precedence": { + "type": "number" + }, + "RoleArn": { "type": "string" }, - "Username": { + "UserPoolId": { "type": "string" } }, "required": [ - "GroupName", - "UserPoolId", - "Username" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Cognito::UserPoolGroup" ], "type": "string" } @@ -12717,7 +12641,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Config::AggregationAuthorization": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12749,91 +12673,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "AttributeMapping": { + "type": "object" }, - { + "IdpIdentifiers": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" }, - "InputParameters": { + "ProviderDetails": { "type": "object" }, - "MaximumExecutionFrequency": { + "ProviderName": { "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + "ProviderType": { + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + "UserPoolId": { + "type": "string" } }, "required": [ - "Source" + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" } @@ -12844,69 +12715,702 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::Cognito::UserPoolResourceServer": { + "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": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "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": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "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": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "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": { + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "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": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "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": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "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": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19157,7 +19661,65 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { "type": "string" }, "SubnetId": { @@ -19165,14 +19727,14 @@ var CloudformationSchema = `{ } }, "required": [ - "NetworkAclId", + "RouteTableId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" } @@ -19183,7 +19745,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19215,22 +19777,209 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { + "Description": { "type": "string" }, - "SubnetId": { + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" ], "type": "string" } @@ -19241,6 +19990,68 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { @@ -25785,6 +26596,9 @@ var CloudformationSchema = `{ "Condition": { "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, + "EventBusName": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -40439,6 +41253,9 @@ var CloudformationSchema = `{ "properties": { "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -40710,6 +41527,9 @@ var CloudformationSchema = `{ "SegmentVersion": { "type": "number" }, + "Tags": { + "type": "object" + }, "TreatmentDescription": { "type": "string" }, @@ -41307,6 +42127,9 @@ var CloudformationSchema = `{ }, "SegmentGroups": { "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -52838,9 +53661,24 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Cognito::UserPoolClient" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolUser" }, @@ -53021,6 +53859,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, { "$ref": "#/definitions/AWS::EC2::TransitGateway" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 927037a124..60b3859e0f 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -8149,6 +8149,9 @@ "CostTypes": { "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" }, + "PlannedBudgetLimits": { + "type": "object" + }, "TimePeriod": { "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" }, @@ -12076,6 +12079,12 @@ "EmailVerificationSubject": { "type": "string" }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, "LambdaConfig": { "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" }, @@ -12493,73 +12502,7 @@ }, "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "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": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12591,45 +12534,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" }, - "MessageAction": { + "Domain": { "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, "UserPoolId": { "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" } }, "required": [ + "Domain", "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::Cognito::UserPoolDomain" ], "type": "string" } @@ -12640,19 +12563,16 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12684,26 +12604,30 @@ "Properties": { "additionalProperties": false, "properties": { + "Description": { + "type": "string" + }, "GroupName": { "type": "string" }, - "UserPoolId": { + "Precedence": { + "type": "number" + }, + "RoleArn": { "type": "string" }, - "Username": { + "UserPoolId": { "type": "string" } }, "required": [ - "GroupName", - "UserPoolId", - "Username" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Cognito::UserPoolGroup" ], "type": "string" } @@ -12714,7 +12638,7 @@ ], "type": "object" }, - "AWS::Config::AggregationAuthorization": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12746,91 +12670,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "AttributeMapping": { + "type": "object" }, - { + "IdpIdentifiers": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" }, - "InputParameters": { + "ProviderDetails": { "type": "object" }, - "MaximumExecutionFrequency": { + "ProviderName": { "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + "ProviderType": { + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + "UserPoolId": { + "type": "string" } }, "required": [ - "Source" + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" } @@ -12841,69 +12712,702 @@ ], "type": "object" }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::Cognito::UserPoolResourceServer": { + "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": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "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": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "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": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "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": { + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "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": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "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": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "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": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19154,7 +19658,65 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { "type": "string" }, "SubnetId": { @@ -19162,14 +19724,14 @@ } }, "required": [ - "NetworkAclId", + "RouteTableId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" } @@ -19180,7 +19742,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19212,22 +19774,209 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { + "Description": { "type": "string" }, - "SubnetId": { + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" ], "type": "string" } @@ -19238,6 +19987,68 @@ ], "type": "object" }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { @@ -25782,6 +26593,9 @@ "Condition": { "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, + "EventBusName": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -40436,6 +41250,9 @@ "properties": { "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -40707,6 +41524,9 @@ "SegmentVersion": { "type": "number" }, + "Tags": { + "type": "object" + }, "TreatmentDescription": { "type": "string" }, @@ -41304,6 +42124,9 @@ }, "SegmentGroups": { "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -52835,9 +53658,24 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolClient" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolUser" }, @@ -53018,6 +53856,18 @@ { "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, { "$ref": "#/definitions/AWS::EC2::TransitGateway" }, diff --git a/schema/sam.go b/schema/sam.go index e7933be0ca..717c93aa9a 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -8152,6 +8152,9 @@ var SamSchema = `{ "CostTypes": { "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" }, + "PlannedBudgetLimits": { + "type": "object" + }, "TimePeriod": { "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" }, @@ -12079,6 +12082,12 @@ var SamSchema = `{ "EmailVerificationSubject": { "type": "string" }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, "LambdaConfig": { "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" }, @@ -12496,73 +12505,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "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": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12594,45 +12537,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" }, - "MessageAction": { + "Domain": { "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, "UserPoolId": { "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" } }, "required": [ + "Domain", "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::Cognito::UserPoolDomain" ], "type": "string" } @@ -12643,19 +12566,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12687,26 +12607,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Description": { + "type": "string" + }, "GroupName": { "type": "string" }, - "UserPoolId": { + "Precedence": { + "type": "number" + }, + "RoleArn": { "type": "string" }, - "Username": { + "UserPoolId": { "type": "string" } }, "required": [ - "GroupName", - "UserPoolId", - "Username" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Cognito::UserPoolGroup" ], "type": "string" } @@ -12717,7 +12641,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Config::AggregationAuthorization": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12749,91 +12673,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "AttributeMapping": { + "type": "object" }, - { + "IdpIdentifiers": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" }, - "InputParameters": { + "ProviderDetails": { "type": "object" }, - "MaximumExecutionFrequency": { + "ProviderName": { "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + "ProviderType": { + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + "UserPoolId": { + "type": "string" } }, "required": [ - "Source" + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" } @@ -12844,69 +12715,702 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::Cognito::UserPoolResourceServer": { + "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": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "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": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "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": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "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": { + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "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": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "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": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "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": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19157,7 +19661,65 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { "type": "string" }, "SubnetId": { @@ -19165,14 +19727,14 @@ var SamSchema = `{ } }, "required": [ - "NetworkAclId", + "RouteTableId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" } @@ -19183,7 +19745,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19215,22 +19777,209 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { + "Description": { "type": "string" }, - "SubnetId": { + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" ], "type": "string" } @@ -19241,6 +19990,68 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { @@ -25785,6 +26596,9 @@ var SamSchema = `{ "Condition": { "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, + "EventBusName": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -40439,6 +41253,9 @@ var SamSchema = `{ "properties": { "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -40710,6 +41527,9 @@ var SamSchema = `{ "SegmentVersion": { "type": "number" }, + "Tags": { + "type": "object" + }, "TreatmentDescription": { "type": "string" }, @@ -41307,6 +42127,9 @@ var SamSchema = `{ }, "SegmentGroups": { "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -54065,9 +54888,24 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Cognito::UserPoolClient" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolUser" }, @@ -54248,6 +55086,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, { "$ref": "#/definitions/AWS::EC2::TransitGateway" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 1ef92c7b18..e11ca57db1 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -8149,6 +8149,9 @@ "CostTypes": { "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" }, + "PlannedBudgetLimits": { + "type": "object" + }, "TimePeriod": { "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" }, @@ -12076,6 +12079,12 @@ "EmailVerificationSubject": { "type": "string" }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, "LambdaConfig": { "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" }, @@ -12493,73 +12502,7 @@ }, "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "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": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12591,45 +12534,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" }, - "MessageAction": { + "Domain": { "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, "UserPoolId": { "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" } }, "required": [ + "Domain", "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::Cognito::UserPoolDomain" ], "type": "string" } @@ -12640,19 +12563,16 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12684,26 +12604,30 @@ "Properties": { "additionalProperties": false, "properties": { + "Description": { + "type": "string" + }, "GroupName": { "type": "string" }, - "UserPoolId": { + "Precedence": { + "type": "number" + }, + "RoleArn": { "type": "string" }, - "Username": { + "UserPoolId": { "type": "string" } }, "required": [ - "GroupName", - "UserPoolId", - "Username" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Cognito::UserPoolGroup" ], "type": "string" } @@ -12714,7 +12638,7 @@ ], "type": "object" }, - "AWS::Config::AggregationAuthorization": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12746,91 +12670,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "AttributeMapping": { + "type": "object" }, - { + "IdpIdentifiers": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" }, - "InputParameters": { + "ProviderDetails": { "type": "object" }, - "MaximumExecutionFrequency": { + "ProviderName": { "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + "ProviderType": { + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + "UserPoolId": { + "type": "string" } }, "required": [ - "Source" + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" } @@ -12841,69 +12712,702 @@ ], "type": "object" }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::Cognito::UserPoolResourceServer": { + "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": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "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": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "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": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "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": { + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "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": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "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": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "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": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19154,7 +19658,65 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { "type": "string" }, "SubnetId": { @@ -19162,14 +19724,14 @@ } }, "required": [ - "NetworkAclId", + "RouteTableId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" } @@ -19180,7 +19742,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -19212,22 +19774,209 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { + "Description": { "type": "string" }, - "SubnetId": { + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRangeRequest": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" ], "type": "string" } @@ -19238,6 +19987,68 @@ ], "type": "object" }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { @@ -25782,6 +26593,9 @@ "Condition": { "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, + "EventBusName": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -40436,6 +41250,9 @@ "properties": { "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -40707,6 +41524,9 @@ "SegmentVersion": { "type": "number" }, + "Tags": { + "type": "object" + }, "TreatmentDescription": { "type": "string" }, @@ -41304,6 +42124,9 @@ }, "SegmentGroups": { "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" } }, "required": [ @@ -54062,9 +54885,24 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolClient" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, { "$ref": "#/definitions/AWS::Cognito::UserPoolUser" }, @@ -54245,6 +55083,18 @@ { "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, { "$ref": "#/definitions/AWS::EC2::TransitGateway" },