diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go index 2f0e1e24ef..6f78629923 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_crlconfiguration.go @@ -28,6 +28,11 @@ type CertificateAuthority_CrlConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname S3BucketName string `json:"S3BucketName,omitempty"` + // S3ObjectAcl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-s3objectacl + S3ObjectAcl string `json:"S3ObjectAcl,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/all.go b/cloudformation/all.go index d63571049a..bcc10d4e12 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -46,6 +46,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/codestarnotifications" "github.com/awslabs/goformation/v4/cloudformation/cognito" "github.com/awslabs/goformation/v4/cloudformation/config" + "github.com/awslabs/goformation/v4/cloudformation/cur" "github.com/awslabs/goformation/v4/cloudformation/customerprofiles" "github.com/awslabs/goformation/v4/cloudformation/databrew" "github.com/awslabs/goformation/v4/cloudformation/datapipeline" @@ -266,6 +267,7 @@ func AllResources() map[string]Resource { "AWS::CE::AnomalyMonitor": &ce.AnomalyMonitor{}, "AWS::CE::AnomalySubscription": &ce.AnomalySubscription{}, "AWS::CE::CostCategory": &ce.CostCategory{}, + "AWS::CUR::ReportDefinition": &cur.ReportDefinition{}, "AWS::Cassandra::Keyspace": &cassandra.Keyspace{}, "AWS::Cassandra::Table": &cassandra.Table{}, "AWS::CertificateManager::Account": &certificatemanager.Account{}, @@ -3289,6 +3291,30 @@ func (t *Template) GetCECostCategoryWithName(name string) (*ce.CostCategory, err return nil, fmt.Errorf("resource %q of type ce.CostCategory not found", name) } +// GetAllCURReportDefinitionResources retrieves all cur.ReportDefinition items from an AWS CloudFormation template +func (t *Template) GetAllCURReportDefinitionResources() map[string]*cur.ReportDefinition { + results := map[string]*cur.ReportDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cur.ReportDefinition: + results[name] = resource + } + } + return results +} + +// GetCURReportDefinitionWithName retrieves all cur.ReportDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCURReportDefinitionWithName(name string) (*cur.ReportDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cur.ReportDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cur.ReportDefinition not found", name) +} + // GetAllCassandraKeyspaceResources retrieves all cassandra.Keyspace items from an AWS CloudFormation template func (t *Template) GetAllCassandraKeyspaceResources() map[string]*cassandra.Keyspace { results := map[string]*cassandra.Keyspace{} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go b/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go index d458259738..f3cc0e2396 100644 --- a/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_componentmonitoringsetting.go @@ -14,7 +14,7 @@ type Application_ComponentMonitoringSetting struct { ComponentARN string `json:"ComponentARN,omitempty"` // ComponentConfigurationMode AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentconfigurationmode ComponentConfigurationMode string `json:"ComponentConfigurationMode,omitempty"` @@ -34,7 +34,7 @@ type Application_ComponentMonitoringSetting struct { DefaultOverwriteComponentConfiguration *Application_ComponentConfiguration `json:"DefaultOverwriteComponentConfiguration,omitempty"` // Tier AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-tier Tier string `json:"Tier,omitempty"` diff --git a/cloudformation/cloudfront/aws-cloudfront-function_functionmetadata.go b/cloudformation/cloudfront/aws-cloudfront-function_functionmetadata.go index e72b28f3b0..74006fe214 100644 --- a/cloudformation/cloudfront/aws-cloudfront-function_functionmetadata.go +++ b/cloudformation/cloudfront/aws-cloudfront-function_functionmetadata.go @@ -9,7 +9,7 @@ import ( type Function_FunctionMetadata struct { // FunctionARN AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionmetadata.html#cfn-cloudfront-function-functionmetadata-functionarn FunctionARN string `json:"FunctionARN,omitempty"` diff --git a/cloudformation/cur/aws-cur-reportdefinition.go b/cloudformation/cur/aws-cur-reportdefinition.go new file mode 100644 index 0000000000..b62119e444 --- /dev/null +++ b/cloudformation/cur/aws-cur-reportdefinition.go @@ -0,0 +1,161 @@ +package cur + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReportDefinition AWS CloudFormation Resource (AWS::CUR::ReportDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html +type ReportDefinition struct { + + // AdditionalArtifacts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-additionalartifacts + AdditionalArtifacts []string `json:"AdditionalArtifacts,omitempty"` + + // AdditionalSchemaElements AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-additionalschemaelements + AdditionalSchemaElements []string `json:"AdditionalSchemaElements,omitempty"` + + // BillingViewArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-billingviewarn + BillingViewArn string `json:"BillingViewArn,omitempty"` + + // Compression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-compression + Compression string `json:"Compression,omitempty"` + + // Format AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-format + Format string `json:"Format,omitempty"` + + // RefreshClosedReports AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-refreshclosedreports + RefreshClosedReports bool `json:"RefreshClosedReports"` + + // ReportName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-reportname + ReportName string `json:"ReportName,omitempty"` + + // ReportVersioning AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-reportversioning + ReportVersioning string `json:"ReportVersioning,omitempty"` + + // S3Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-s3bucket + S3Bucket string `json:"S3Bucket,omitempty"` + + // S3Prefix AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-s3prefix + S3Prefix string `json:"S3Prefix,omitempty"` + + // S3Region AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-s3region + S3Region string `json:"S3Region,omitempty"` + + // TimeUnit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html#cfn-cur-reportdefinition-timeunit + TimeUnit string `json:"TimeUnit,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReportDefinition) AWSCloudFormationType() string { + return "AWS::CUR::ReportDefinition" +} + +// 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 ReportDefinition) MarshalJSON() ([]byte, error) { + type Properties ReportDefinition + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *ReportDefinition) UnmarshalJSON(b []byte) error { + type Properties ReportDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ReportDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ecr/aws-ecr-repository.go b/cloudformation/ecr/aws-ecr-repository.go index 2633146f19..9916697c1a 100644 --- a/cloudformation/ecr/aws-ecr-repository.go +++ b/cloudformation/ecr/aws-ecr-repository.go @@ -16,12 +16,12 @@ type Repository struct { // EncryptionConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-encryptionconfiguration - EncryptionConfiguration interface{} `json:"EncryptionConfiguration,omitempty"` + EncryptionConfiguration *Repository_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` // ImageScanningConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-imagescanningconfiguration - ImageScanningConfiguration interface{} `json:"ImageScanningConfiguration,omitempty"` + ImageScanningConfiguration *Repository_ImageScanningConfiguration `json:"ImageScanningConfiguration,omitempty"` // ImageTagMutability AWS CloudFormation Property // Required: false diff --git a/cloudformation/ecr/aws-ecr-repository_encryptionconfiguration.go b/cloudformation/ecr/aws-ecr-repository_encryptionconfiguration.go new file mode 100644 index 0000000000..bd23c562d6 --- /dev/null +++ b/cloudformation/ecr/aws-ecr-repository_encryptionconfiguration.go @@ -0,0 +1,40 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Repository_EncryptionConfiguration AWS CloudFormation Resource (AWS::ECR::Repository.EncryptionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html +type Repository_EncryptionConfiguration struct { + + // EncryptionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html#cfn-ecr-repository-encryptionconfiguration-encryptiontype + EncryptionType string `json:"EncryptionType,omitempty"` + + // KmsKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html#cfn-ecr-repository-encryptionconfiguration-kmskey + KmsKey string `json:"KmsKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Repository_EncryptionConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::Repository.EncryptionConfiguration" +} diff --git a/cloudformation/ecr/aws-ecr-repository_imagescanningconfiguration.go b/cloudformation/ecr/aws-ecr-repository_imagescanningconfiguration.go new file mode 100644 index 0000000000..086fe3c8da --- /dev/null +++ b/cloudformation/ecr/aws-ecr-repository_imagescanningconfiguration.go @@ -0,0 +1,35 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Repository_ImageScanningConfiguration AWS CloudFormation Resource (AWS::ECR::Repository.ImageScanningConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html +type Repository_ImageScanningConfiguration struct { + + // ScanOnPush AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html#cfn-ecr-repository-imagescanningconfiguration-scanonpush + ScanOnPush bool `json:"ScanOnPush,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Repository_ImageScanningConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::Repository.ImageScanningConfiguration" +} diff --git a/cloudformation/frauddetector/aws-frauddetector-detector.go b/cloudformation/frauddetector/aws-frauddetector-detector.go index b1e669d43c..fffbb3aebd 100644 --- a/cloudformation/frauddetector/aws-frauddetector-detector.go +++ b/cloudformation/frauddetector/aws-frauddetector-detector.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html type Detector struct { + // AssociatedModels AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html#cfn-frauddetector-detector-associatedmodels + AssociatedModels []Detector_Model `json:"AssociatedModels,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html#cfn-frauddetector-detector-description diff --git a/cloudformation/frauddetector/aws-frauddetector-detector_model.go b/cloudformation/frauddetector/aws-frauddetector-detector_model.go new file mode 100644 index 0000000000..8e2de52f02 --- /dev/null +++ b/cloudformation/frauddetector/aws-frauddetector-detector_model.go @@ -0,0 +1,35 @@ +package frauddetector + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Detector_Model AWS CloudFormation Resource (AWS::FraudDetector::Detector.Model) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-frauddetector-detector-model.html +type Detector_Model struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-frauddetector-detector-model.html#cfn-frauddetector-detector-model-arn + Arn string `json:"Arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Detector_Model) AWSCloudFormationType() string { + return "AWS::FraudDetector::Detector.Model" +} diff --git a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go index 9caacd3a6f..065000ca23 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_lustreconfiguration.go @@ -28,6 +28,11 @@ type FileSystem_LustreConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-dailyautomaticbackupstarttime DailyAutomaticBackupStartTime string `json:"DailyAutomaticBackupStartTime,omitempty"` + // DataCompressionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-datacompressiontype + DataCompressionType string `json:"DataCompressionType,omitempty"` + // DeploymentType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-deploymenttype diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 15e183a290..d13107c3f3 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -475,6 +475,9 @@ var CloudformationSchema = `{ }, "S3BucketName": { "type": "string" + }, + "S3ObjectAcl": { + "type": "string" } }, "type": "object" @@ -12015,6 +12018,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], "type": "object" }, "AWS::ApplicationInsights::Application.ConfigurationDetails": { @@ -15875,6 +15882,115 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CUR::ReportDefinition": { + "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": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { @@ -18378,9 +18494,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "FunctionARN" - ], "type": "object" }, "AWS::CloudFront::KeyGroup": { @@ -38982,10 +39095,10 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "EncryptionConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" }, "ImageScanningConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" }, "ImageTagMutability": { "type": "string" @@ -39028,6 +39141,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { @@ -48258,6 +48395,9 @@ var CloudformationSchema = `{ "DailyAutomaticBackupStartTime": { "type": "string" }, + "DataCompressionType": { + "type": "string" + }, "DeploymentType": { "type": "string" }, @@ -48481,6 +48621,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -48687,6 +48833,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FraudDetector::Detector.Outcome": { "additionalProperties": false, "properties": { @@ -107678,6 +107833,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CE::CostCategory" }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, { "$ref": "#/definitions/AWS::Cassandra::Keyspace" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index c39147b48a..54812b06a9 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -472,6 +472,9 @@ }, "S3BucketName": { "type": "string" + }, + "S3ObjectAcl": { + "type": "string" } }, "type": "object" @@ -12012,6 +12015,10 @@ "type": "string" } }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], "type": "object" }, "AWS::ApplicationInsights::Application.ConfigurationDetails": { @@ -15872,6 +15879,115 @@ ], "type": "object" }, + "AWS::CUR::ReportDefinition": { + "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": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { @@ -18375,9 +18491,6 @@ "type": "string" } }, - "required": [ - "FunctionARN" - ], "type": "object" }, "AWS::CloudFront::KeyGroup": { @@ -38979,10 +39092,10 @@ "additionalProperties": false, "properties": { "EncryptionConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" }, "ImageScanningConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" }, "ImageTagMutability": { "type": "string" @@ -39025,6 +39138,30 @@ ], "type": "object" }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { @@ -48255,6 +48392,9 @@ "DailyAutomaticBackupStartTime": { "type": "string" }, + "DataCompressionType": { + "type": "string" + }, "DeploymentType": { "type": "string" }, @@ -48478,6 +48618,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -48684,6 +48830,15 @@ }, "type": "object" }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FraudDetector::Detector.Outcome": { "additionalProperties": false, "properties": { @@ -107675,6 +107830,9 @@ { "$ref": "#/definitions/AWS::CE::CostCategory" }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, { "$ref": "#/definitions/AWS::Cassandra::Keyspace" }, diff --git a/schema/sam.go b/schema/sam.go index e2cf6338b0..1d02f3473b 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -475,6 +475,9 @@ var SamSchema = `{ }, "S3BucketName": { "type": "string" + }, + "S3ObjectAcl": { + "type": "string" } }, "type": "object" @@ -12015,6 +12018,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], "type": "object" }, "AWS::ApplicationInsights::Application.ConfigurationDetails": { @@ -15875,6 +15882,115 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CUR::ReportDefinition": { + "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": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { @@ -18378,9 +18494,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "FunctionARN" - ], "type": "object" }, "AWS::CloudFront::KeyGroup": { @@ -38982,10 +39095,10 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "EncryptionConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" }, "ImageScanningConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" }, "ImageTagMutability": { "type": "string" @@ -39028,6 +39141,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { @@ -48258,6 +48395,9 @@ var SamSchema = `{ "DailyAutomaticBackupStartTime": { "type": "string" }, + "DataCompressionType": { + "type": "string" + }, "DeploymentType": { "type": "string" }, @@ -48481,6 +48621,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -48687,6 +48833,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FraudDetector::Detector.Outcome": { "additionalProperties": false, "properties": { @@ -109522,6 +109677,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CE::CostCategory" }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, { "$ref": "#/definitions/AWS::Cassandra::Keyspace" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 1f8ffb8b44..407fdb8ebf 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -472,6 +472,9 @@ }, "S3BucketName": { "type": "string" + }, + "S3ObjectAcl": { + "type": "string" } }, "type": "object" @@ -12012,6 +12015,10 @@ "type": "string" } }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], "type": "object" }, "AWS::ApplicationInsights::Application.ConfigurationDetails": { @@ -15872,6 +15879,115 @@ ], "type": "object" }, + "AWS::CUR::ReportDefinition": { + "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": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { @@ -18375,9 +18491,6 @@ "type": "string" } }, - "required": [ - "FunctionARN" - ], "type": "object" }, "AWS::CloudFront::KeyGroup": { @@ -38979,10 +39092,10 @@ "additionalProperties": false, "properties": { "EncryptionConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" }, "ImageScanningConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" }, "ImageTagMutability": { "type": "string" @@ -39025,6 +39138,30 @@ ], "type": "object" }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { @@ -48255,6 +48392,9 @@ "DailyAutomaticBackupStartTime": { "type": "string" }, + "DataCompressionType": { + "type": "string" + }, "DeploymentType": { "type": "string" }, @@ -48478,6 +48618,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -48684,6 +48830,15 @@ }, "type": "object" }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::FraudDetector::Detector.Outcome": { "additionalProperties": false, "properties": { @@ -109519,6 +109674,9 @@ { "$ref": "#/definitions/AWS::CE::CostCategory" }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, { "$ref": "#/definitions/AWS::Cassandra::Keyspace" },