From 7518bf624060ff0792b70a32971fc4aa18fc4105 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 Mar 2024 08:56:02 +0100 Subject: [PATCH] fix(schema): CloudFormation Updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RĂºben Fonseca --- cloudformation/all.go | 125 ++ .../aws-appintegrations-application.go | 138 ++ ...ons-application_applicationsourceconfig.go | 37 + ...egrations-application_externalurlconfig.go | 42 + .../aws-codeartifact-packagegroup.go | 148 ++ ...tifact-packagegroup_originconfiguration.go | 37 + ...-codeartifact-packagegroup_restrictions.go | 47 + ...deartifact-packagegroup_restrictiontype.go | 42 + .../connect/aws-connect-securityprofile.go | 15 + ...aws-connect-securityprofile_application.go | 42 + cloudformation/datasync/aws-datasync-task.go | 5 + .../datasync/aws-datasync-task_destination.go | 2 +- .../aws-datasync-task_manifestconfig.go | 47 + ...ws-datasync-task_manifestconfigsources3.go | 52 + .../datasync/aws-datasync-task_source.go | 37 + ...sync-task_taskreportconfigdestinations3.go | 47 + ...namodb-globaltable_replicaspecification.go | 10 + ...-globaltable_replicastreamspecification.go | 37 + ...aws-dynamodb-globaltable_resourcepolicy.go | 37 + cloudformation/dynamodb/aws-dynamodb-table.go | 5 + .../aws-dynamodb-table_resourcepolicy.go | 37 + .../aws-dynamodb-table_streamspecification.go | 5 + cloudformation/ec2/aws-ec2-instance.go | 82 +- .../aws-ec2-instance_associationparameter.go | 6 +- .../aws-ec2-instance_blockdevicemapping.go | 12 +- cloudformation/ec2/aws-ec2-instance_ebs.go | 16 +- .../ec2/aws-ec2-instance_networkinterface.go | 28 +- ...-instance_privateipaddressspecification.go | 6 +- .../ec2/aws-ec2-instance_ssmassociation.go | 6 +- cloudformation/ec2/aws-ec2-instance_volume.go | 6 +- cloudformation/glue/aws-glue-crawler.go | 5 + ...glue-crawler_lakeformationconfiguration.go | 42 + ...aws-iotsitewise-gateway_gatewayplatform.go | 5 + .../aws-iotsitewise-gateway_siemensie.go | 37 + .../aws-kafkaconnect-connector.go | 6 + cloudformation/kendra/aws-kendra-faq.go | 5 + .../aws-resiliencehub-resiliencypolicy.go | 2 +- ...esiliencehub-resiliencypolicy_policymap.go | 52 + .../aws-securityhub-delegatedadmin.go | 117 + .../securityhub/aws-securityhub-insight.go | 127 ++ ...tyhub-insight_awssecurityfindingfilters.go | 532 +++++ .../aws-securityhub-insight_booleanfilter.go | 37 + .../aws-securityhub-insight_datefilter.go | 47 + .../aws-securityhub-insight_daterange.go | 42 + .../aws-securityhub-insight_ipfilter.go | 37 + .../aws-securityhub-insight_mapfilter.go | 47 + .../aws-securityhub-insight_numberfilter.go | 47 + .../aws-securityhub-insight_stringfilter.go | 42 + .../aws-securityhub-productsubscription.go | 117 + schema/cdk.go | 1977 ++++++++++++++--- schema/cdk.schema.json | 1977 ++++++++++++++--- schema/cloudformation.go | 1977 ++++++++++++++--- schema/cloudformation.schema.json | 1977 ++++++++++++++--- schema/sam.go | 1403 +++++++++++- schema/sam.schema.json | 1403 +++++++++++- 55 files changed, 11835 insertions(+), 1381 deletions(-) create mode 100644 cloudformation/appintegrations/aws-appintegrations-application.go create mode 100644 cloudformation/appintegrations/aws-appintegrations-application_applicationsourceconfig.go create mode 100644 cloudformation/appintegrations/aws-appintegrations-application_externalurlconfig.go create mode 100644 cloudformation/codeartifact/aws-codeartifact-packagegroup.go create mode 100644 cloudformation/codeartifact/aws-codeartifact-packagegroup_originconfiguration.go create mode 100644 cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictions.go create mode 100644 cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictiontype.go create mode 100644 cloudformation/connect/aws-connect-securityprofile_application.go create mode 100644 cloudformation/datasync/aws-datasync-task_manifestconfig.go create mode 100644 cloudformation/datasync/aws-datasync-task_manifestconfigsources3.go create mode 100644 cloudformation/datasync/aws-datasync-task_source.go create mode 100644 cloudformation/datasync/aws-datasync-task_taskreportconfigdestinations3.go create mode 100644 cloudformation/dynamodb/aws-dynamodb-globaltable_replicastreamspecification.go create mode 100644 cloudformation/dynamodb/aws-dynamodb-globaltable_resourcepolicy.go create mode 100644 cloudformation/dynamodb/aws-dynamodb-table_resourcepolicy.go create mode 100644 cloudformation/glue/aws-glue-crawler_lakeformationconfiguration.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-gateway_siemensie.go create mode 100644 cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy_policymap.go create mode 100644 cloudformation/securityhub/aws-securityhub-delegatedadmin.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_awssecurityfindingfilters.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_booleanfilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_datefilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_daterange.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_ipfilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_mapfilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_numberfilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-insight_stringfilter.go create mode 100644 cloudformation/securityhub/aws-securityhub-productsubscription.go diff --git a/cloudformation/all.go b/cloudformation/all.go index cd72c30994..0d358ee1cd 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -304,6 +304,7 @@ func AllResources() map[string]Resource { "AWS::AppFlow::Connector": &appflow.Connector{}, "AWS::AppFlow::ConnectorProfile": &appflow.ConnectorProfile{}, "AWS::AppFlow::Flow": &appflow.Flow{}, + "AWS::AppIntegrations::Application": &appintegrations.Application{}, "AWS::AppIntegrations::DataIntegration": &appintegrations.DataIntegration{}, "AWS::AppIntegrations::EventIntegration": &appintegrations.EventIntegration{}, "AWS::AppMesh::GatewayRoute": &appmesh.GatewayRoute{}, @@ -437,6 +438,7 @@ func AllResources() map[string]Resource { "AWS::CloudWatch::InsightRule": &cloudwatch.InsightRule{}, "AWS::CloudWatch::MetricStream": &cloudwatch.MetricStream{}, "AWS::CodeArtifact::Domain": &codeartifact.Domain{}, + "AWS::CodeArtifact::PackageGroup": &codeartifact.PackageGroup{}, "AWS::CodeArtifact::Repository": &codeartifact.Repository{}, "AWS::CodeBuild::Fleet": &codebuild.Fleet{}, "AWS::CodeBuild::Project": &codebuild.Project{}, @@ -1340,7 +1342,10 @@ func AllResources() map[string]Resource { "AWS::SecretsManager::Secret": &secretsmanager.Secret{}, "AWS::SecretsManager::SecretTargetAttachment": &secretsmanager.SecretTargetAttachment{}, "AWS::SecurityHub::AutomationRule": &securityhub.AutomationRule{}, + "AWS::SecurityHub::DelegatedAdmin": &securityhub.DelegatedAdmin{}, "AWS::SecurityHub::Hub": &securityhub.Hub{}, + "AWS::SecurityHub::Insight": &securityhub.Insight{}, + "AWS::SecurityHub::ProductSubscription": &securityhub.ProductSubscription{}, "AWS::SecurityHub::Standard": &securityhub.Standard{}, "AWS::Serverless::Api": &serverless.Api{}, "AWS::Serverless::Application": &serverless.Application{}, @@ -2905,6 +2910,30 @@ func (t *Template) GetAppFlowFlowWithName(name string) (*appflow.Flow, error) { return nil, fmt.Errorf("resource %q of type appflow.Flow not found", name) } +// GetAllAppIntegrationsApplicationResources retrieves all appintegrations.Application items from an AWS CloudFormation template +func (t *Template) GetAllAppIntegrationsApplicationResources() map[string]*appintegrations.Application { + results := map[string]*appintegrations.Application{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appintegrations.Application: + results[name] = resource + } + } + return results +} + +// GetAppIntegrationsApplicationWithName retrieves all appintegrations.Application items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppIntegrationsApplicationWithName(name string) (*appintegrations.Application, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appintegrations.Application: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appintegrations.Application not found", name) +} + // GetAllAppIntegrationsDataIntegrationResources retrieves all appintegrations.DataIntegration items from an AWS CloudFormation template func (t *Template) GetAllAppIntegrationsDataIntegrationResources() map[string]*appintegrations.DataIntegration { results := map[string]*appintegrations.DataIntegration{} @@ -6097,6 +6126,30 @@ func (t *Template) GetCodeArtifactDomainWithName(name string) (*codeartifact.Dom return nil, fmt.Errorf("resource %q of type codeartifact.Domain not found", name) } +// GetAllCodeArtifactPackageGroupResources retrieves all codeartifact.PackageGroup items from an AWS CloudFormation template +func (t *Template) GetAllCodeArtifactPackageGroupResources() map[string]*codeartifact.PackageGroup { + results := map[string]*codeartifact.PackageGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *codeartifact.PackageGroup: + results[name] = resource + } + } + return results +} + +// GetCodeArtifactPackageGroupWithName retrieves all codeartifact.PackageGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCodeArtifactPackageGroupWithName(name string) (*codeartifact.PackageGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *codeartifact.PackageGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type codeartifact.PackageGroup not found", name) +} + // GetAllCodeArtifactRepositoryResources retrieves all codeartifact.Repository items from an AWS CloudFormation template func (t *Template) GetAllCodeArtifactRepositoryResources() map[string]*codeartifact.Repository { results := map[string]*codeartifact.Repository{} @@ -27769,6 +27822,30 @@ func (t *Template) GetSecurityHubAutomationRuleWithName(name string) (*securityh return nil, fmt.Errorf("resource %q of type securityhub.AutomationRule not found", name) } +// GetAllSecurityHubDelegatedAdminResources retrieves all securityhub.DelegatedAdmin items from an AWS CloudFormation template +func (t *Template) GetAllSecurityHubDelegatedAdminResources() map[string]*securityhub.DelegatedAdmin { + results := map[string]*securityhub.DelegatedAdmin{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *securityhub.DelegatedAdmin: + results[name] = resource + } + } + return results +} + +// GetSecurityHubDelegatedAdminWithName retrieves all securityhub.DelegatedAdmin items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSecurityHubDelegatedAdminWithName(name string) (*securityhub.DelegatedAdmin, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *securityhub.DelegatedAdmin: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type securityhub.DelegatedAdmin not found", name) +} + // GetAllSecurityHubHubResources retrieves all securityhub.Hub items from an AWS CloudFormation template func (t *Template) GetAllSecurityHubHubResources() map[string]*securityhub.Hub { results := map[string]*securityhub.Hub{} @@ -27793,6 +27870,54 @@ func (t *Template) GetSecurityHubHubWithName(name string) (*securityhub.Hub, err return nil, fmt.Errorf("resource %q of type securityhub.Hub not found", name) } +// GetAllSecurityHubInsightResources retrieves all securityhub.Insight items from an AWS CloudFormation template +func (t *Template) GetAllSecurityHubInsightResources() map[string]*securityhub.Insight { + results := map[string]*securityhub.Insight{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *securityhub.Insight: + results[name] = resource + } + } + return results +} + +// GetSecurityHubInsightWithName retrieves all securityhub.Insight items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSecurityHubInsightWithName(name string) (*securityhub.Insight, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *securityhub.Insight: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type securityhub.Insight not found", name) +} + +// GetAllSecurityHubProductSubscriptionResources retrieves all securityhub.ProductSubscription items from an AWS CloudFormation template +func (t *Template) GetAllSecurityHubProductSubscriptionResources() map[string]*securityhub.ProductSubscription { + results := map[string]*securityhub.ProductSubscription{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *securityhub.ProductSubscription: + results[name] = resource + } + } + return results +} + +// GetSecurityHubProductSubscriptionWithName retrieves all securityhub.ProductSubscription items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSecurityHubProductSubscriptionWithName(name string) (*securityhub.ProductSubscription, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *securityhub.ProductSubscription: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type securityhub.ProductSubscription not found", name) +} + // GetAllSecurityHubStandardResources retrieves all securityhub.Standard items from an AWS CloudFormation template func (t *Template) GetAllSecurityHubStandardResources() map[string]*securityhub.Standard { results := map[string]*securityhub.Standard{} diff --git a/cloudformation/appintegrations/aws-appintegrations-application.go b/cloudformation/appintegrations/aws-appintegrations-application.go new file mode 100644 index 0000000000..90f6820d2d --- /dev/null +++ b/cloudformation/appintegrations/aws-appintegrations-application.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appintegrations + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Application AWS CloudFormation Resource (AWS::AppIntegrations::Application) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html +type Application struct { + + // ApplicationSourceConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-applicationsourceconfig + ApplicationSourceConfig *Application_ApplicationSourceConfig `json:"ApplicationSourceConfig"` + + // Description AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-description + Description string `json:"Description"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-name + Name string `json:"Name"` + + // Namespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-namespace + Namespace *string `json:"Namespace,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application) AWSCloudFormationType() string { + return "AWS::AppIntegrations::Application" +} + +// 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 Application) MarshalJSON() ([]byte, error) { + type Properties Application + 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 *Application) UnmarshalJSON(b []byte) error { + type Properties Application + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Application(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/appintegrations/aws-appintegrations-application_applicationsourceconfig.go b/cloudformation/appintegrations/aws-appintegrations-application_applicationsourceconfig.go new file mode 100644 index 0000000000..74993f0dc8 --- /dev/null +++ b/cloudformation/appintegrations/aws-appintegrations-application_applicationsourceconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appintegrations + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Application_ApplicationSourceConfig AWS CloudFormation Resource (AWS::AppIntegrations::Application.ApplicationSourceConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationsourceconfig.html +type Application_ApplicationSourceConfig struct { + + // ExternalUrlConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationsourceconfig.html#cfn-appintegrations-application-applicationsourceconfig-externalurlconfig + ExternalUrlConfig *Application_ExternalUrlConfig `json:"ExternalUrlConfig"` + + // 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 *Application_ApplicationSourceConfig) AWSCloudFormationType() string { + return "AWS::AppIntegrations::Application.ApplicationSourceConfig" +} diff --git a/cloudformation/appintegrations/aws-appintegrations-application_externalurlconfig.go b/cloudformation/appintegrations/aws-appintegrations-application_externalurlconfig.go new file mode 100644 index 0000000000..55233b4b2a --- /dev/null +++ b/cloudformation/appintegrations/aws-appintegrations-application_externalurlconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appintegrations + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Application_ExternalUrlConfig AWS CloudFormation Resource (AWS::AppIntegrations::Application.ExternalUrlConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html +type Application_ExternalUrlConfig struct { + + // AccessUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html#cfn-appintegrations-application-externalurlconfig-accessurl + AccessUrl string `json:"AccessUrl"` + + // ApprovedOrigins AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html#cfn-appintegrations-application-externalurlconfig-approvedorigins + ApprovedOrigins []string `json:"ApprovedOrigins"` + + // 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 *Application_ExternalUrlConfig) AWSCloudFormationType() string { + return "AWS::AppIntegrations::Application.ExternalUrlConfig" +} diff --git a/cloudformation/codeartifact/aws-codeartifact-packagegroup.go b/cloudformation/codeartifact/aws-codeartifact-packagegroup.go new file mode 100644 index 0000000000..a38b09ff1b --- /dev/null +++ b/cloudformation/codeartifact/aws-codeartifact-packagegroup.go @@ -0,0 +1,148 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codeartifact + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// PackageGroup AWS CloudFormation Resource (AWS::CodeArtifact::PackageGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html +type PackageGroup struct { + + // ContactInfo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-contactinfo + ContactInfo *string `json:"ContactInfo,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-description + Description *string `json:"Description,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-domainname + DomainName string `json:"DomainName"` + + // DomainOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-domainowner + DomainOwner *string `json:"DomainOwner,omitempty"` + + // OriginConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-originconfiguration + OriginConfiguration *PackageGroup_OriginConfiguration `json:"OriginConfiguration,omitempty"` + + // Pattern AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-pattern + Pattern string `json:"Pattern"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PackageGroup) AWSCloudFormationType() string { + return "AWS::CodeArtifact::PackageGroup" +} + +// 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 PackageGroup) MarshalJSON() ([]byte, error) { + type Properties PackageGroup + 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 *PackageGroup) UnmarshalJSON(b []byte) error { + type Properties PackageGroup + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PackageGroup(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/codeartifact/aws-codeartifact-packagegroup_originconfiguration.go b/cloudformation/codeartifact/aws-codeartifact-packagegroup_originconfiguration.go new file mode 100644 index 0000000000..845c05ddc5 --- /dev/null +++ b/cloudformation/codeartifact/aws-codeartifact-packagegroup_originconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codeartifact + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// PackageGroup_OriginConfiguration AWS CloudFormation Resource (AWS::CodeArtifact::PackageGroup.OriginConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-originconfiguration.html +type PackageGroup_OriginConfiguration struct { + + // Restrictions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-originconfiguration.html#cfn-codeartifact-packagegroup-originconfiguration-restrictions + Restrictions *PackageGroup_Restrictions `json:"Restrictions"` + + // 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 *PackageGroup_OriginConfiguration) AWSCloudFormationType() string { + return "AWS::CodeArtifact::PackageGroup.OriginConfiguration" +} diff --git a/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictions.go b/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictions.go new file mode 100644 index 0000000000..afe8f855db --- /dev/null +++ b/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictions.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codeartifact + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// PackageGroup_Restrictions AWS CloudFormation Resource (AWS::CodeArtifact::PackageGroup.Restrictions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html +type PackageGroup_Restrictions struct { + + // ExternalUpstream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-externalupstream + ExternalUpstream *PackageGroup_RestrictionType `json:"ExternalUpstream,omitempty"` + + // InternalUpstream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-internalupstream + InternalUpstream *PackageGroup_RestrictionType `json:"InternalUpstream,omitempty"` + + // Publish AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-publish + Publish *PackageGroup_RestrictionType `json:"Publish,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 *PackageGroup_Restrictions) AWSCloudFormationType() string { + return "AWS::CodeArtifact::PackageGroup.Restrictions" +} diff --git a/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictiontype.go b/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictiontype.go new file mode 100644 index 0000000000..05dc416f48 --- /dev/null +++ b/cloudformation/codeartifact/aws-codeartifact-packagegroup_restrictiontype.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codeartifact + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// PackageGroup_RestrictionType AWS CloudFormation Resource (AWS::CodeArtifact::PackageGroup.RestrictionType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html +type PackageGroup_RestrictionType struct { + + // Repositories AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html#cfn-codeartifact-packagegroup-restrictiontype-repositories + Repositories []string `json:"Repositories,omitempty"` + + // RestrictionMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html#cfn-codeartifact-packagegroup-restrictiontype-restrictionmode + RestrictionMode string `json:"RestrictionMode"` + + // 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 *PackageGroup_RestrictionType) AWSCloudFormationType() string { + return "AWS::CodeArtifact::PackageGroup.RestrictionType" +} diff --git a/cloudformation/connect/aws-connect-securityprofile.go b/cloudformation/connect/aws-connect-securityprofile.go index e916bfd3ec..77e356d985 100644 --- a/cloudformation/connect/aws-connect-securityprofile.go +++ b/cloudformation/connect/aws-connect-securityprofile.go @@ -14,16 +14,31 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html type SecurityProfile struct { + // AllowedAccessControlHierarchyGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-allowedaccesscontrolhierarchygroupid + AllowedAccessControlHierarchyGroupId *string `json:"AllowedAccessControlHierarchyGroupId,omitempty"` + // AllowedAccessControlTags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-allowedaccesscontroltags AllowedAccessControlTags []tags.Tag `json:"AllowedAccessControlTags,omitempty"` + // Applications AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-applications + Applications []SecurityProfile_Application `json:"Applications,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-description Description *string `json:"Description,omitempty"` + // HierarchyRestrictedResources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-hierarchyrestrictedresources + HierarchyRestrictedResources []string `json:"HierarchyRestrictedResources,omitempty"` + // InstanceArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-instancearn diff --git a/cloudformation/connect/aws-connect-securityprofile_application.go b/cloudformation/connect/aws-connect-securityprofile_application.go new file mode 100644 index 0000000000..eff7a53e75 --- /dev/null +++ b/cloudformation/connect/aws-connect-securityprofile_application.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package connect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// SecurityProfile_Application AWS CloudFormation Resource (AWS::Connect::SecurityProfile.Application) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-securityprofile-application.html +type SecurityProfile_Application struct { + + // ApplicationPermissions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-securityprofile-application.html#cfn-connect-securityprofile-application-applicationpermissions + ApplicationPermissions []string `json:"ApplicationPermissions"` + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-securityprofile-application.html#cfn-connect-securityprofile-application-namespace + Namespace string `json:"Namespace"` + + // 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 *SecurityProfile_Application) AWSCloudFormationType() string { + return "AWS::Connect::SecurityProfile.Application" +} diff --git a/cloudformation/datasync/aws-datasync-task.go b/cloudformation/datasync/aws-datasync-task.go index 2a85007308..bc0cb7e477 100644 --- a/cloudformation/datasync/aws-datasync-task.go +++ b/cloudformation/datasync/aws-datasync-task.go @@ -34,6 +34,11 @@ type Task struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-includes Includes []Task_FilterRule `json:"Includes,omitempty"` + // ManifestConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-manifestconfig + ManifestConfig *Task_ManifestConfig `json:"ManifestConfig,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-name diff --git a/cloudformation/datasync/aws-datasync-task_destination.go b/cloudformation/datasync/aws-datasync-task_destination.go index 5ffda59881..2f46e84746 100644 --- a/cloudformation/datasync/aws-datasync-task_destination.go +++ b/cloudformation/datasync/aws-datasync-task_destination.go @@ -13,7 +13,7 @@ type Task_Destination struct { // S3 AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-destination.html#cfn-datasync-task-destination-s3 - S3 *Task_S3 `json:"S3,omitempty"` + S3 *Task_TaskReportConfigDestinationS3 `json:"S3,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/datasync/aws-datasync-task_manifestconfig.go b/cloudformation/datasync/aws-datasync-task_manifestconfig.go new file mode 100644 index 0000000000..e3e0797aba --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_manifestconfig.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Task_ManifestConfig AWS CloudFormation Resource (AWS::DataSync::Task.ManifestConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html +type Task_ManifestConfig struct { + + // Action AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html#cfn-datasync-task-manifestconfig-action + Action *string `json:"Action,omitempty"` + + // Format AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html#cfn-datasync-task-manifestconfig-format + Format *string `json:"Format,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html#cfn-datasync-task-manifestconfig-source + Source *Task_Source `json:"Source"` + + // 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 *Task_ManifestConfig) AWSCloudFormationType() string { + return "AWS::DataSync::Task.ManifestConfig" +} diff --git a/cloudformation/datasync/aws-datasync-task_manifestconfigsources3.go b/cloudformation/datasync/aws-datasync-task_manifestconfigsources3.go new file mode 100644 index 0000000000..2cd8e1451d --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_manifestconfigsources3.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Task_ManifestConfigSourceS3 AWS CloudFormation Resource (AWS::DataSync::Task.ManifestConfigSourceS3) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html +type Task_ManifestConfigSourceS3 struct { + + // BucketAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-bucketaccessrolearn + BucketAccessRoleArn *string `json:"BucketAccessRoleArn,omitempty"` + + // ManifestObjectPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectpath + ManifestObjectPath *string `json:"ManifestObjectPath,omitempty"` + + // ManifestObjectVersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectversionid + ManifestObjectVersionId *string `json:"ManifestObjectVersionId,omitempty"` + + // S3BucketArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-s3bucketarn + S3BucketArn *string `json:"S3BucketArn,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 *Task_ManifestConfigSourceS3) AWSCloudFormationType() string { + return "AWS::DataSync::Task.ManifestConfigSourceS3" +} diff --git a/cloudformation/datasync/aws-datasync-task_source.go b/cloudformation/datasync/aws-datasync-task_source.go new file mode 100644 index 0000000000..0359224bb4 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_source.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Task_Source AWS CloudFormation Resource (AWS::DataSync::Task.Source) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html +type Task_Source struct { + + // S3 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html#cfn-datasync-task-source-s3 + S3 *Task_ManifestConfigSourceS3 `json:"S3,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 *Task_Source) AWSCloudFormationType() string { + return "AWS::DataSync::Task.Source" +} diff --git a/cloudformation/datasync/aws-datasync-task_taskreportconfigdestinations3.go b/cloudformation/datasync/aws-datasync-task_taskreportconfigdestinations3.go new file mode 100644 index 0000000000..788f9caadc --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_taskreportconfigdestinations3.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Task_TaskReportConfigDestinationS3 AWS CloudFormation Resource (AWS::DataSync::Task.TaskReportConfigDestinationS3) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html +type Task_TaskReportConfigDestinationS3 struct { + + // BucketAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html#cfn-datasync-task-taskreportconfigdestinations3-bucketaccessrolearn + BucketAccessRoleArn *string `json:"BucketAccessRoleArn,omitempty"` + + // S3BucketArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html#cfn-datasync-task-taskreportconfigdestinations3-s3bucketarn + S3BucketArn *string `json:"S3BucketArn,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html#cfn-datasync-task-taskreportconfigdestinations3-subdirectory + Subdirectory *string `json:"Subdirectory,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 *Task_TaskReportConfigDestinationS3) AWSCloudFormationType() string { + return "AWS::DataSync::Task.TaskReportConfigDestinationS3" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-globaltable_replicaspecification.go b/cloudformation/dynamodb/aws-dynamodb-globaltable_replicaspecification.go index 18724303b4..a5b88856bb 100644 --- a/cloudformation/dynamodb/aws-dynamodb-globaltable_replicaspecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-globaltable_replicaspecification.go @@ -46,6 +46,16 @@ type GlobalTable_ReplicaSpecification struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-region Region string `json:"Region"` + // ReplicaStreamSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification + ReplicaStreamSpecification *GlobalTable_ReplicaStreamSpecification `json:"ReplicaStreamSpecification,omitempty"` + + // ResourcePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-resourcepolicy + ResourcePolicy *GlobalTable_ResourcePolicy `json:"ResourcePolicy,omitempty"` + // SSESpecification AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-ssespecification diff --git a/cloudformation/dynamodb/aws-dynamodb-globaltable_replicastreamspecification.go b/cloudformation/dynamodb/aws-dynamodb-globaltable_replicastreamspecification.go new file mode 100644 index 0000000000..9d7ff90f03 --- /dev/null +++ b/cloudformation/dynamodb/aws-dynamodb-globaltable_replicastreamspecification.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dynamodb + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// GlobalTable_ReplicaStreamSpecification AWS CloudFormation Resource (AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html +type GlobalTable_ReplicaStreamSpecification struct { + + // ResourcePolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html#cfn-dynamodb-globaltable-replicastreamspecification-resourcepolicy + ResourcePolicy *GlobalTable_ResourcePolicy `json:"ResourcePolicy"` + + // 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 *GlobalTable_ReplicaStreamSpecification) AWSCloudFormationType() string { + return "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-globaltable_resourcepolicy.go b/cloudformation/dynamodb/aws-dynamodb-globaltable_resourcepolicy.go new file mode 100644 index 0000000000..0b15b37d4e --- /dev/null +++ b/cloudformation/dynamodb/aws-dynamodb-globaltable_resourcepolicy.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dynamodb + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// GlobalTable_ResourcePolicy AWS CloudFormation Resource (AWS::DynamoDB::GlobalTable.ResourcePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html +type GlobalTable_ResourcePolicy struct { + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html#cfn-dynamodb-globaltable-resourcepolicy-policydocument + PolicyDocument interface{} `json:"PolicyDocument"` + + // 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 *GlobalTable_ResourcePolicy) AWSCloudFormationType() string { + return "AWS::DynamoDB::GlobalTable.ResourcePolicy" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-table.go b/cloudformation/dynamodb/aws-dynamodb-table.go index 60d619a8c1..f5c15eaf29 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table.go +++ b/cloudformation/dynamodb/aws-dynamodb-table.go @@ -69,6 +69,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput ProvisionedThroughput *Table_ProvisionedThroughput `json:"ProvisionedThroughput,omitempty"` + // ResourcePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-resourcepolicy + ResourcePolicy *Table_ResourcePolicy `json:"ResourcePolicy,omitempty"` + // SSESpecification AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification diff --git a/cloudformation/dynamodb/aws-dynamodb-table_resourcepolicy.go b/cloudformation/dynamodb/aws-dynamodb-table_resourcepolicy.go new file mode 100644 index 0000000000..2e87fc8f4e --- /dev/null +++ b/cloudformation/dynamodb/aws-dynamodb-table_resourcepolicy.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dynamodb + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_ResourcePolicy AWS CloudFormation Resource (AWS::DynamoDB::Table.ResourcePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html +type Table_ResourcePolicy struct { + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html#cfn-dynamodb-table-resourcepolicy-policydocument + PolicyDocument interface{} `json:"PolicyDocument"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_ResourcePolicy) AWSCloudFormationType() string { + return "AWS::DynamoDB::Table.ResourcePolicy" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go b/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go index e24232f5e6..2fb6047ffe 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_streamspecification.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html type Table_StreamSpecification struct { + // ResourcePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-resourcepolicy + ResourcePolicy *Table_ResourcePolicy `json:"ResourcePolicy,omitempty"` + // StreamViewType AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-streamviewtype diff --git a/cloudformation/ec2/aws-ec2-instance.go b/cloudformation/ec2/aws-ec2-instance.go index 2ae2acef4a..1f675e0166 100644 --- a/cloudformation/ec2/aws-ec2-instance.go +++ b/cloudformation/ec2/aws-ec2-instance.go @@ -11,207 +11,207 @@ import ( ) // Instance AWS CloudFormation Resource (AWS::EC2::Instance) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html type Instance struct { // AdditionalInfo AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-additionalinfo + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-additionalinfo AdditionalInfo *string `json:"AdditionalInfo,omitempty"` // Affinity AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-affinity + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-affinity Affinity *string `json:"Affinity,omitempty"` // AvailabilityZone AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-availabilityzone + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-availabilityzone AvailabilityZone *string `json:"AvailabilityZone,omitempty"` // BlockDeviceMappings AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-blockdevicemappings BlockDeviceMappings []Instance_BlockDeviceMapping `json:"BlockDeviceMappings,omitempty"` // CpuOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-cpuoptions CpuOptions *Instance_CpuOptions `json:"CpuOptions,omitempty"` // CreditSpecification AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-creditspecification CreditSpecification *Instance_CreditSpecification `json:"CreditSpecification,omitempty"` // DisableApiTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-disableapitermination + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-disableapitermination DisableApiTermination *bool `json:"DisableApiTermination,omitempty"` // EbsOptimized AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ebsoptimized + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ebsoptimized EbsOptimized *bool `json:"EbsOptimized,omitempty"` // ElasticGpuSpecifications AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications ElasticGpuSpecifications []Instance_ElasticGpuSpecification `json:"ElasticGpuSpecifications,omitempty"` // ElasticInferenceAccelerators AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators ElasticInferenceAccelerators []Instance_ElasticInferenceAccelerator `json:"ElasticInferenceAccelerators,omitempty"` // EnclaveOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-enclaveoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-enclaveoptions EnclaveOptions *Instance_EnclaveOptions `json:"EnclaveOptions,omitempty"` // HibernationOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hibernationoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hibernationoptions HibernationOptions *Instance_HibernationOptions `json:"HibernationOptions,omitempty"` // HostId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostid HostId *string `json:"HostId,omitempty"` // HostResourceGroupArn AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn HostResourceGroupArn *string `json:"HostResourceGroupArn,omitempty"` // IamInstanceProfile AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile IamInstanceProfile *string `json:"IamInstanceProfile,omitempty"` // ImageId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-imageid ImageId *string `json:"ImageId,omitempty"` // InstanceInitiatedShutdownBehavior AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior InstanceInitiatedShutdownBehavior *string `json:"InstanceInitiatedShutdownBehavior,omitempty"` // InstanceType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instancetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instancetype InstanceType *string `json:"InstanceType,omitempty"` // Ipv6AddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresscount + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresscount Ipv6AddressCount *int `json:"Ipv6AddressCount,omitempty"` // Ipv6Addresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresses Ipv6Addresses []Instance_InstanceIpv6Address `json:"Ipv6Addresses,omitempty"` // KernelId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-kernelid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-kernelid KernelId *string `json:"KernelId,omitempty"` // KeyName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-keyname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-keyname KeyName *string `json:"KeyName,omitempty"` // LaunchTemplate AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-launchtemplate + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-launchtemplate LaunchTemplate *Instance_LaunchTemplateSpecification `json:"LaunchTemplate,omitempty"` // LicenseSpecifications AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-licensespecifications + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-licensespecifications LicenseSpecifications []Instance_LicenseSpecification `json:"LicenseSpecifications,omitempty"` // Monitoring AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-monitoring + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-monitoring Monitoring *bool `json:"Monitoring,omitempty"` // NetworkInterfaces AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-networkinterfaces + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-networkinterfaces NetworkInterfaces []Instance_NetworkInterface `json:"NetworkInterfaces,omitempty"` // PlacementGroupName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-placementgroupname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-placementgroupname PlacementGroupName *string `json:"PlacementGroupName,omitempty"` // PrivateDnsNameOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privatednsnameoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privatednsnameoptions PrivateDnsNameOptions *Instance_PrivateDnsNameOptions `json:"PrivateDnsNameOptions,omitempty"` // PrivateIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privateipaddress PrivateIpAddress *string `json:"PrivateIpAddress,omitempty"` // PropagateTagsToVolumeOnCreation AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation PropagateTagsToVolumeOnCreation *bool `json:"PropagateTagsToVolumeOnCreation,omitempty"` // RamdiskId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ramdiskid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ramdiskid RamdiskId *string `json:"RamdiskId,omitempty"` // SecurityGroupIds AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroupids + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroupids SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` // SecurityGroups AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroups SecurityGroups []string `json:"SecurityGroups,omitempty"` // SourceDestCheck AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-sourcedestcheck + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-sourcedestcheck SourceDestCheck *bool `json:"SourceDestCheck,omitempty"` // SsmAssociations AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ssmassociations + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ssmassociations SsmAssociations []Instance_SsmAssociation `json:"SsmAssociations,omitempty"` // SubnetId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-subnetid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-subnetid SubnetId *string `json:"SubnetId,omitempty"` // Tags AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tags + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tags Tags []tags.Tag `json:"Tags,omitempty"` // Tenancy AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tenancy + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tenancy Tenancy *string `json:"Tenancy,omitempty"` // UserData AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-userdata UserData *string `json:"UserData,omitempty"` // Volumes AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-volumes + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-volumes Volumes []Instance_Volume `json:"Volumes,omitempty"` // AWSCloudFormationCreationPolicy represents a CloudFormation CreationPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_associationparameter.go b/cloudformation/ec2/aws-ec2-instance_associationparameter.go index 62ea971b7b..1bb9a394cd 100644 --- a/cloudformation/ec2/aws-ec2-instance_associationparameter.go +++ b/cloudformation/ec2/aws-ec2-instance_associationparameter.go @@ -7,17 +7,17 @@ import ( ) // Instance_AssociationParameter AWS CloudFormation Resource (AWS::EC2::Instance.AssociationParameter) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html type Instance_AssociationParameter struct { // Key AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-key + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-key Key string `json:"Key"` // Value AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-value + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-value Value []string `json:"Value"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go index 880a4bf77d..454ed4da91 100644 --- a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go +++ b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go @@ -7,27 +7,27 @@ import ( ) // Instance_BlockDeviceMapping AWS CloudFormation Resource (AWS::EC2::Instance.BlockDeviceMapping) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html type Instance_BlockDeviceMapping struct { // DeviceName AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-devicename + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-devicename DeviceName string `json:"DeviceName"` // Ebs AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-ebs + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-ebs Ebs *Instance_Ebs `json:"Ebs,omitempty"` // NoDevice AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-nodevice - NoDevice *Instance_NoDevice `json:"NoDevice,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-nodevice + NoDevice interface{} `json:"NoDevice,omitempty"` // VirtualName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-virtualname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-virtualname VirtualName *string `json:"VirtualName,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_ebs.go b/cloudformation/ec2/aws-ec2-instance_ebs.go index d4f7835d22..6d08d22a61 100644 --- a/cloudformation/ec2/aws-ec2-instance_ebs.go +++ b/cloudformation/ec2/aws-ec2-instance_ebs.go @@ -7,42 +7,42 @@ import ( ) // Instance_Ebs AWS CloudFormation Resource (AWS::EC2::Instance.Ebs) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html type Instance_Ebs struct { // DeleteOnTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-deleteontermination + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-deleteontermination DeleteOnTermination *bool `json:"DeleteOnTermination,omitempty"` // Encrypted AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-encrypted + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-encrypted Encrypted *bool `json:"Encrypted,omitempty"` // Iops AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-iops Iops *int `json:"Iops,omitempty"` // KmsKeyId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-instance-ebs-kmskeyid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-kmskeyid KmsKeyId *string `json:"KmsKeyId,omitempty"` // SnapshotId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-snapshotid SnapshotId *string `json:"SnapshotId,omitempty"` // VolumeSize AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumesize + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumesize VolumeSize *int `json:"VolumeSize,omitempty"` // VolumeType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumetype VolumeType *string `json:"VolumeType,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_networkinterface.go b/cloudformation/ec2/aws-ec2-instance_networkinterface.go index d7cc77ebf0..7796103aa1 100644 --- a/cloudformation/ec2/aws-ec2-instance_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-instance_networkinterface.go @@ -7,72 +7,72 @@ import ( ) // Instance_NetworkInterface AWS CloudFormation Resource (AWS::EC2::Instance.NetworkInterface) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html type Instance_NetworkInterface struct { // AssociateCarrierIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-associatecarrieripaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatecarrieripaddress AssociateCarrierIpAddress *bool `json:"AssociateCarrierIpAddress,omitempty"` // AssociatePublicIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-associatepubip + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatepublicipaddress AssociatePublicIpAddress *bool `json:"AssociatePublicIpAddress,omitempty"` // DeleteOnTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-delete + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deleteontermination DeleteOnTermination *bool `json:"DeleteOnTermination,omitempty"` // Description AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-description + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-description Description *string `json:"Description,omitempty"` // DeviceIndex AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-deviceindex + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deviceindex DeviceIndex string `json:"DeviceIndex"` // GroupSet AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-groupset + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-groupset GroupSet []string `json:"GroupSet,omitempty"` // Ipv6AddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresscount + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresscount Ipv6AddressCount *int `json:"Ipv6AddressCount,omitempty"` // Ipv6Addresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresses Ipv6Addresses []Instance_InstanceIpv6Address `json:"Ipv6Addresses,omitempty"` // NetworkInterfaceId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-network-iface + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-networkinterfaceid NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty"` // PrivateIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddress PrivateIpAddress *string `json:"PrivateIpAddress,omitempty"` // PrivateIpAddresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddresses PrivateIpAddresses []Instance_PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty"` // SecondaryPrivateIpAddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-secondprivateip + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-secondaryprivateipaddresscount SecondaryPrivateIpAddressCount *int `json:"SecondaryPrivateIpAddressCount,omitempty"` // SubnetId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-subnetid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-subnetid SubnetId *string `json:"SubnetId,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go index 69dd11e7b9..c0e8aef95b 100644 --- a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go +++ b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go @@ -7,17 +7,17 @@ import ( ) // Instance_PrivateIpAddressSpecification AWS CloudFormation Resource (AWS::EC2::Instance.PrivateIpAddressSpecification) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html type Instance_PrivateIpAddressSpecification struct { // Primary AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-primary Primary bool `json:"Primary"` // PrivateIpAddress AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-privateipaddress PrivateIpAddress string `json:"PrivateIpAddress"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go index d6779f9a61..4d94217017 100644 --- a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go +++ b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go @@ -7,17 +7,17 @@ import ( ) // Instance_SsmAssociation AWS CloudFormation Resource (AWS::EC2::Instance.SsmAssociation) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html type Instance_SsmAssociation struct { // AssociationParameters AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-associationparameters + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-associationparameters AssociationParameters []Instance_AssociationParameter `json:"AssociationParameters,omitempty"` // DocumentName AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-documentname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-documentname DocumentName string `json:"DocumentName"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_volume.go b/cloudformation/ec2/aws-ec2-instance_volume.go index a60cb44a28..fa88a27db7 100644 --- a/cloudformation/ec2/aws-ec2-instance_volume.go +++ b/cloudformation/ec2/aws-ec2-instance_volume.go @@ -7,17 +7,17 @@ import ( ) // Instance_Volume AWS CloudFormation Resource (AWS::EC2::Instance.Volume) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html type Instance_Volume struct { // Device AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-device + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-device Device string `json:"Device"` // VolumeId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-volumeid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-volumeid VolumeId string `json:"VolumeId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/glue/aws-glue-crawler.go b/cloudformation/glue/aws-glue-crawler.go index ff3fc06474..1f87fada53 100644 --- a/cloudformation/glue/aws-glue-crawler.go +++ b/cloudformation/glue/aws-glue-crawler.go @@ -38,6 +38,11 @@ type Crawler struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description Description *string `json:"Description,omitempty"` + // LakeFormationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-lakeformationconfiguration + LakeFormationConfiguration *Crawler_LakeFormationConfiguration `json:"LakeFormationConfiguration,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name diff --git a/cloudformation/glue/aws-glue-crawler_lakeformationconfiguration.go b/cloudformation/glue/aws-glue-crawler_lakeformationconfiguration.go new file mode 100644 index 0000000000..575dbea30f --- /dev/null +++ b/cloudformation/glue/aws-glue-crawler_lakeformationconfiguration.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Crawler_LakeFormationConfiguration AWS CloudFormation Resource (AWS::Glue::Crawler.LakeFormationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html +type Crawler_LakeFormationConfiguration struct { + + // AccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html#cfn-glue-crawler-lakeformationconfiguration-accountid + AccountId *string `json:"AccountId,omitempty"` + + // UseLakeFormationCredentials AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html#cfn-glue-crawler-lakeformationconfiguration-uselakeformationcredentials + UseLakeFormationCredentials *bool `json:"UseLakeFormationCredentials,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 *Crawler_LakeFormationConfiguration) AWSCloudFormationType() string { + return "AWS::Glue::Crawler.LakeFormationConfiguration" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go index 07f0925326..8699db22f8 100644 --- a/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway_gatewayplatform.go @@ -20,6 +20,11 @@ type Gateway_GatewayPlatform struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html#cfn-iotsitewise-gateway-gatewayplatform-greengrassv2 GreengrassV2 *Gateway_GreengrassV2 `json:"GreengrassV2,omitempty"` + // SiemensIE AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html#cfn-iotsitewise-gateway-gatewayplatform-siemensie + SiemensIE *Gateway_SiemensIE `json:"SiemensIE,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/iotsitewise/aws-iotsitewise-gateway_siemensie.go b/cloudformation/iotsitewise/aws-iotsitewise-gateway_siemensie.go new file mode 100644 index 0000000000..dd99ec0010 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-gateway_siemensie.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package iotsitewise + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Gateway_SiemensIE AWS CloudFormation Resource (AWS::IoTSiteWise::Gateway.SiemensIE) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-siemensie.html +type Gateway_SiemensIE struct { + + // IotCoreThingName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-siemensie.html#cfn-iotsitewise-gateway-siemensie-iotcorethingname + IotCoreThingName string `json:"IotCoreThingName"` + + // 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 *Gateway_SiemensIE) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Gateway.SiemensIE" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go index 27f382fe3e..2b23c11f5c 100644 --- a/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // Connector AWS CloudFormation Resource (AWS::KafkaConnect::Connector) @@ -68,6 +69,11 @@ type Connector struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-serviceexecutionrolearn ServiceExecutionRoleArn string `json:"ServiceExecutionRoleArn"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // WorkerConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-workerconfiguration diff --git a/cloudformation/kendra/aws-kendra-faq.go b/cloudformation/kendra/aws-kendra-faq.go index 0076dcd55e..d23d4de4f8 100644 --- a/cloudformation/kendra/aws-kendra-faq.go +++ b/cloudformation/kendra/aws-kendra-faq.go @@ -29,6 +29,11 @@ type Faq struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-indexid IndexId string `json:"IndexId"` + // LanguageCode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-languagecode + LanguageCode *string `json:"LanguageCode,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-name diff --git a/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy.go b/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy.go index 4183dfe33f..a059fe3efe 100644 --- a/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy.go +++ b/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy.go @@ -21,7 +21,7 @@ type ResiliencyPolicy struct { // Policy AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html#cfn-resiliencehub-resiliencypolicy-policy - Policy map[string]ResiliencyPolicy_FailurePolicy `json:"Policy"` + Policy *ResiliencyPolicy_PolicyMap `json:"Policy"` // PolicyDescription AWS CloudFormation Property // Required: false diff --git a/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy_policymap.go b/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy_policymap.go new file mode 100644 index 0000000000..69c5f6b7f4 --- /dev/null +++ b/cloudformation/resiliencehub/aws-resiliencehub-resiliencypolicy_policymap.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package resiliencehub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ResiliencyPolicy_PolicyMap AWS CloudFormation Resource (AWS::ResilienceHub::ResiliencyPolicy.PolicyMap) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-resiliencypolicy-policymap.html +type ResiliencyPolicy_PolicyMap struct { + + // AZ AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-resiliencypolicy-policymap.html#cfn-resiliencehub-resiliencypolicy-policymap-az + AZ *ResiliencyPolicy_FailurePolicy `json:"AZ"` + + // Hardware AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-resiliencypolicy-policymap.html#cfn-resiliencehub-resiliencypolicy-policymap-hardware + Hardware *ResiliencyPolicy_FailurePolicy `json:"Hardware"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-resiliencypolicy-policymap.html#cfn-resiliencehub-resiliencypolicy-policymap-region + Region *ResiliencyPolicy_FailurePolicy `json:"Region,omitempty"` + + // Software AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-resiliencypolicy-policymap.html#cfn-resiliencehub-resiliencypolicy-policymap-software + Software *ResiliencyPolicy_FailurePolicy `json:"Software"` + + // 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 *ResiliencyPolicy_PolicyMap) AWSCloudFormationType() string { + return "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" +} diff --git a/cloudformation/securityhub/aws-securityhub-delegatedadmin.go b/cloudformation/securityhub/aws-securityhub-delegatedadmin.go new file mode 100644 index 0000000000..0bcb1ab30f --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-delegatedadmin.go @@ -0,0 +1,117 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DelegatedAdmin AWS CloudFormation Resource (AWS::SecurityHub::DelegatedAdmin) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html +type DelegatedAdmin struct { + + // AdminAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html#cfn-securityhub-delegatedadmin-adminaccountid + AdminAccountId string `json:"AdminAccountId"` + + // 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 *DelegatedAdmin) AWSCloudFormationType() string { + return "AWS::SecurityHub::DelegatedAdmin" +} + +// 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 DelegatedAdmin) MarshalJSON() ([]byte, error) { + type Properties DelegatedAdmin + 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 *DelegatedAdmin) UnmarshalJSON(b []byte) error { + type Properties DelegatedAdmin + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = DelegatedAdmin(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/securityhub/aws-securityhub-insight.go b/cloudformation/securityhub/aws-securityhub-insight.go new file mode 100644 index 0000000000..067bedcfdd --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight AWS CloudFormation Resource (AWS::SecurityHub::Insight) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html +type Insight struct { + + // Filters AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-filters + Filters *Insight_AwsSecurityFindingFilters `json:"Filters"` + + // GroupByAttribute AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-groupbyattribute + GroupByAttribute string `json:"GroupByAttribute"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-name + Name string `json:"Name"` + + // 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 *Insight) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight" +} + +// 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 Insight) MarshalJSON() ([]byte, error) { + type Properties Insight + 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 *Insight) UnmarshalJSON(b []byte) error { + type Properties Insight + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Insight(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_awssecurityfindingfilters.go b/cloudformation/securityhub/aws-securityhub-insight_awssecurityfindingfilters.go new file mode 100644 index 0000000000..bfea8a7478 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_awssecurityfindingfilters.go @@ -0,0 +1,532 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_AwsSecurityFindingFilters AWS CloudFormation Resource (AWS::SecurityHub::Insight.AwsSecurityFindingFilters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html +type Insight_AwsSecurityFindingFilters struct { + + // AwsAccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-awsaccountid + AwsAccountId []Insight_StringFilter `json:"AwsAccountId,omitempty"` + + // AwsAccountName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-awsaccountname + AwsAccountName []Insight_StringFilter `json:"AwsAccountName,omitempty"` + + // CompanyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-companyname + CompanyName []Insight_StringFilter `json:"CompanyName,omitempty"` + + // ComplianceAssociatedStandardsId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-complianceassociatedstandardsid + ComplianceAssociatedStandardsId []Insight_StringFilter `json:"ComplianceAssociatedStandardsId,omitempty"` + + // ComplianceSecurityControlId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-compliancesecuritycontrolid + ComplianceSecurityControlId []Insight_StringFilter `json:"ComplianceSecurityControlId,omitempty"` + + // ComplianceSecurityControlParametersName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-compliancesecuritycontrolparametersname + ComplianceSecurityControlParametersName []Insight_StringFilter `json:"ComplianceSecurityControlParametersName,omitempty"` + + // ComplianceSecurityControlParametersValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-compliancesecuritycontrolparametersvalue + ComplianceSecurityControlParametersValue []Insight_StringFilter `json:"ComplianceSecurityControlParametersValue,omitempty"` + + // ComplianceStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-compliancestatus + ComplianceStatus []Insight_StringFilter `json:"ComplianceStatus,omitempty"` + + // Confidence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-confidence + Confidence []Insight_NumberFilter `json:"Confidence,omitempty"` + + // CreatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-createdat + CreatedAt []Insight_DateFilter `json:"CreatedAt,omitempty"` + + // Criticality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-criticality + Criticality []Insight_NumberFilter `json:"Criticality,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-description + Description []Insight_StringFilter `json:"Description,omitempty"` + + // FindingProviderFieldsConfidence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldsconfidence + FindingProviderFieldsConfidence []Insight_NumberFilter `json:"FindingProviderFieldsConfidence,omitempty"` + + // FindingProviderFieldsCriticality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldscriticality + FindingProviderFieldsCriticality []Insight_NumberFilter `json:"FindingProviderFieldsCriticality,omitempty"` + + // FindingProviderFieldsRelatedFindingsId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldsrelatedfindingsid + FindingProviderFieldsRelatedFindingsId []Insight_StringFilter `json:"FindingProviderFieldsRelatedFindingsId,omitempty"` + + // FindingProviderFieldsRelatedFindingsProductArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldsrelatedfindingsproductarn + FindingProviderFieldsRelatedFindingsProductArn []Insight_StringFilter `json:"FindingProviderFieldsRelatedFindingsProductArn,omitempty"` + + // FindingProviderFieldsSeverityLabel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldsseveritylabel + FindingProviderFieldsSeverityLabel []Insight_StringFilter `json:"FindingProviderFieldsSeverityLabel,omitempty"` + + // FindingProviderFieldsSeverityOriginal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldsseverityoriginal + FindingProviderFieldsSeverityOriginal []Insight_StringFilter `json:"FindingProviderFieldsSeverityOriginal,omitempty"` + + // FindingProviderFieldsTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-findingproviderfieldstypes + FindingProviderFieldsTypes []Insight_StringFilter `json:"FindingProviderFieldsTypes,omitempty"` + + // FirstObservedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-firstobservedat + FirstObservedAt []Insight_DateFilter `json:"FirstObservedAt,omitempty"` + + // GeneratorId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-generatorid + GeneratorId []Insight_StringFilter `json:"GeneratorId,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-id + Id []Insight_StringFilter `json:"Id,omitempty"` + + // LastObservedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-lastobservedat + LastObservedAt []Insight_DateFilter `json:"LastObservedAt,omitempty"` + + // MalwareName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-malwarename + MalwareName []Insight_StringFilter `json:"MalwareName,omitempty"` + + // MalwarePath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-malwarepath + MalwarePath []Insight_StringFilter `json:"MalwarePath,omitempty"` + + // MalwareState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-malwarestate + MalwareState []Insight_StringFilter `json:"MalwareState,omitempty"` + + // MalwareType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-malwaretype + MalwareType []Insight_StringFilter `json:"MalwareType,omitempty"` + + // NetworkDestinationDomain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkdestinationdomain + NetworkDestinationDomain []Insight_StringFilter `json:"NetworkDestinationDomain,omitempty"` + + // NetworkDestinationIpV4 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkdestinationipv4 + NetworkDestinationIpV4 []Insight_IpFilter `json:"NetworkDestinationIpV4,omitempty"` + + // NetworkDestinationIpV6 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkdestinationipv6 + NetworkDestinationIpV6 []Insight_IpFilter `json:"NetworkDestinationIpV6,omitempty"` + + // NetworkDestinationPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkdestinationport + NetworkDestinationPort []Insight_NumberFilter `json:"NetworkDestinationPort,omitempty"` + + // NetworkDirection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkdirection + NetworkDirection []Insight_StringFilter `json:"NetworkDirection,omitempty"` + + // NetworkProtocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networkprotocol + NetworkProtocol []Insight_StringFilter `json:"NetworkProtocol,omitempty"` + + // NetworkSourceDomain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networksourcedomain + NetworkSourceDomain []Insight_StringFilter `json:"NetworkSourceDomain,omitempty"` + + // NetworkSourceIpV4 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networksourceipv4 + NetworkSourceIpV4 []Insight_IpFilter `json:"NetworkSourceIpV4,omitempty"` + + // NetworkSourceIpV6 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networksourceipv6 + NetworkSourceIpV6 []Insight_IpFilter `json:"NetworkSourceIpV6,omitempty"` + + // NetworkSourceMac AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networksourcemac + NetworkSourceMac []Insight_StringFilter `json:"NetworkSourceMac,omitempty"` + + // NetworkSourcePort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-networksourceport + NetworkSourcePort []Insight_NumberFilter `json:"NetworkSourcePort,omitempty"` + + // NoteText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-notetext + NoteText []Insight_StringFilter `json:"NoteText,omitempty"` + + // NoteUpdatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-noteupdatedat + NoteUpdatedAt []Insight_DateFilter `json:"NoteUpdatedAt,omitempty"` + + // NoteUpdatedBy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-noteupdatedby + NoteUpdatedBy []Insight_StringFilter `json:"NoteUpdatedBy,omitempty"` + + // ProcessLaunchedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processlaunchedat + ProcessLaunchedAt []Insight_DateFilter `json:"ProcessLaunchedAt,omitempty"` + + // ProcessName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processname + ProcessName []Insight_StringFilter `json:"ProcessName,omitempty"` + + // ProcessParentPid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processparentpid + ProcessParentPid []Insight_NumberFilter `json:"ProcessParentPid,omitempty"` + + // ProcessPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processpath + ProcessPath []Insight_StringFilter `json:"ProcessPath,omitempty"` + + // ProcessPid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processpid + ProcessPid []Insight_NumberFilter `json:"ProcessPid,omitempty"` + + // ProcessTerminatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processterminatedat + ProcessTerminatedAt []Insight_DateFilter `json:"ProcessTerminatedAt,omitempty"` + + // ProductArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-productarn + ProductArn []Insight_StringFilter `json:"ProductArn,omitempty"` + + // ProductFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-productfields + ProductFields []Insight_MapFilter `json:"ProductFields,omitempty"` + + // ProductName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-productname + ProductName []Insight_StringFilter `json:"ProductName,omitempty"` + + // RecommendationText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-recommendationtext + RecommendationText []Insight_StringFilter `json:"RecommendationText,omitempty"` + + // RecordState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-recordstate + RecordState []Insight_StringFilter `json:"RecordState,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-region + Region []Insight_StringFilter `json:"Region,omitempty"` + + // RelatedFindingsId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-relatedfindingsid + RelatedFindingsId []Insight_StringFilter `json:"RelatedFindingsId,omitempty"` + + // RelatedFindingsProductArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-relatedfindingsproductarn + RelatedFindingsProductArn []Insight_StringFilter `json:"RelatedFindingsProductArn,omitempty"` + + // ResourceApplicationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceapplicationarn + ResourceApplicationArn []Insight_StringFilter `json:"ResourceApplicationArn,omitempty"` + + // ResourceApplicationName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceapplicationname + ResourceApplicationName []Insight_StringFilter `json:"ResourceApplicationName,omitempty"` + + // ResourceAwsEc2InstanceIamInstanceProfileArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instanceiaminstanceprofilearn + ResourceAwsEc2InstanceIamInstanceProfileArn []Insight_StringFilter `json:"ResourceAwsEc2InstanceIamInstanceProfileArn,omitempty"` + + // ResourceAwsEc2InstanceImageId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instanceimageid + ResourceAwsEc2InstanceImageId []Insight_StringFilter `json:"ResourceAwsEc2InstanceImageId,omitempty"` + + // ResourceAwsEc2InstanceIpV4Addresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instanceipv4addresses + ResourceAwsEc2InstanceIpV4Addresses []Insight_IpFilter `json:"ResourceAwsEc2InstanceIpV4Addresses,omitempty"` + + // ResourceAwsEc2InstanceIpV6Addresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instanceipv6addresses + ResourceAwsEc2InstanceIpV6Addresses []Insight_IpFilter `json:"ResourceAwsEc2InstanceIpV6Addresses,omitempty"` + + // ResourceAwsEc2InstanceKeyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instancekeyname + ResourceAwsEc2InstanceKeyName []Insight_StringFilter `json:"ResourceAwsEc2InstanceKeyName,omitempty"` + + // ResourceAwsEc2InstanceLaunchedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instancelaunchedat + ResourceAwsEc2InstanceLaunchedAt []Insight_DateFilter `json:"ResourceAwsEc2InstanceLaunchedAt,omitempty"` + + // ResourceAwsEc2InstanceSubnetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instancesubnetid + ResourceAwsEc2InstanceSubnetId []Insight_StringFilter `json:"ResourceAwsEc2InstanceSubnetId,omitempty"` + + // ResourceAwsEc2InstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instancetype + ResourceAwsEc2InstanceType []Insight_StringFilter `json:"ResourceAwsEc2InstanceType,omitempty"` + + // ResourceAwsEc2InstanceVpcId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsec2instancevpcid + ResourceAwsEc2InstanceVpcId []Insight_StringFilter `json:"ResourceAwsEc2InstanceVpcId,omitempty"` + + // ResourceAwsIamAccessKeyCreatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsiamaccesskeycreatedat + ResourceAwsIamAccessKeyCreatedAt []Insight_DateFilter `json:"ResourceAwsIamAccessKeyCreatedAt,omitempty"` + + // ResourceAwsIamAccessKeyPrincipalName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsiamaccesskeyprincipalname + ResourceAwsIamAccessKeyPrincipalName []Insight_StringFilter `json:"ResourceAwsIamAccessKeyPrincipalName,omitempty"` + + // ResourceAwsIamAccessKeyStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsiamaccesskeystatus + ResourceAwsIamAccessKeyStatus []Insight_StringFilter `json:"ResourceAwsIamAccessKeyStatus,omitempty"` + + // ResourceAwsIamUserUserName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawsiamuserusername + ResourceAwsIamUserUserName []Insight_StringFilter `json:"ResourceAwsIamUserUserName,omitempty"` + + // ResourceAwsS3BucketOwnerId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawss3bucketownerid + ResourceAwsS3BucketOwnerId []Insight_StringFilter `json:"ResourceAwsS3BucketOwnerId,omitempty"` + + // ResourceAwsS3BucketOwnerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceawss3bucketownername + ResourceAwsS3BucketOwnerName []Insight_StringFilter `json:"ResourceAwsS3BucketOwnerName,omitempty"` + + // ResourceContainerImageId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcecontainerimageid + ResourceContainerImageId []Insight_StringFilter `json:"ResourceContainerImageId,omitempty"` + + // ResourceContainerImageName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcecontainerimagename + ResourceContainerImageName []Insight_StringFilter `json:"ResourceContainerImageName,omitempty"` + + // ResourceContainerLaunchedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcecontainerlaunchedat + ResourceContainerLaunchedAt []Insight_DateFilter `json:"ResourceContainerLaunchedAt,omitempty"` + + // ResourceContainerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcecontainername + ResourceContainerName []Insight_StringFilter `json:"ResourceContainerName,omitempty"` + + // ResourceDetailsOther AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcedetailsother + ResourceDetailsOther []Insight_MapFilter `json:"ResourceDetailsOther,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceid + ResourceId []Insight_StringFilter `json:"ResourceId,omitempty"` + + // ResourcePartition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcepartition + ResourcePartition []Insight_StringFilter `json:"ResourcePartition,omitempty"` + + // ResourceRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourceregion + ResourceRegion []Insight_StringFilter `json:"ResourceRegion,omitempty"` + + // ResourceTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcetags + ResourceTags []Insight_MapFilter `json:"ResourceTags,omitempty"` + + // ResourceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcetype + ResourceType []Insight_StringFilter `json:"ResourceType,omitempty"` + + // Sample AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-sample + Sample []Insight_BooleanFilter `json:"Sample,omitempty"` + + // SeverityLabel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-severitylabel + SeverityLabel []Insight_StringFilter `json:"SeverityLabel,omitempty"` + + // SourceUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-sourceurl + SourceUrl []Insight_StringFilter `json:"SourceUrl,omitempty"` + + // ThreatIntelIndicatorCategory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorcategory + ThreatIntelIndicatorCategory []Insight_StringFilter `json:"ThreatIntelIndicatorCategory,omitempty"` + + // ThreatIntelIndicatorLastObservedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorlastobservedat + ThreatIntelIndicatorLastObservedAt []Insight_DateFilter `json:"ThreatIntelIndicatorLastObservedAt,omitempty"` + + // ThreatIntelIndicatorSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorsource + ThreatIntelIndicatorSource []Insight_StringFilter `json:"ThreatIntelIndicatorSource,omitempty"` + + // ThreatIntelIndicatorSourceUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorsourceurl + ThreatIntelIndicatorSourceUrl []Insight_StringFilter `json:"ThreatIntelIndicatorSourceUrl,omitempty"` + + // ThreatIntelIndicatorType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatortype + ThreatIntelIndicatorType []Insight_StringFilter `json:"ThreatIntelIndicatorType,omitempty"` + + // ThreatIntelIndicatorValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorvalue + ThreatIntelIndicatorValue []Insight_StringFilter `json:"ThreatIntelIndicatorValue,omitempty"` + + // Title AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-title + Title []Insight_StringFilter `json:"Title,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-type + Type []Insight_StringFilter `json:"Type,omitempty"` + + // UpdatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-updatedat + UpdatedAt []Insight_DateFilter `json:"UpdatedAt,omitempty"` + + // UserDefinedFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-userdefinedfields + UserDefinedFields []Insight_MapFilter `json:"UserDefinedFields,omitempty"` + + // VerificationState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-verificationstate + VerificationState []Insight_StringFilter `json:"VerificationState,omitempty"` + + // VulnerabilitiesExploitAvailable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-vulnerabilitiesexploitavailable + VulnerabilitiesExploitAvailable []Insight_StringFilter `json:"VulnerabilitiesExploitAvailable,omitempty"` + + // VulnerabilitiesFixAvailable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-vulnerabilitiesfixavailable + VulnerabilitiesFixAvailable []Insight_StringFilter `json:"VulnerabilitiesFixAvailable,omitempty"` + + // WorkflowState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-workflowstate + WorkflowState []Insight_StringFilter `json:"WorkflowState,omitempty"` + + // WorkflowStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-workflowstatus + WorkflowStatus []Insight_StringFilter `json:"WorkflowStatus,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 *Insight_AwsSecurityFindingFilters) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.AwsSecurityFindingFilters" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_booleanfilter.go b/cloudformation/securityhub/aws-securityhub-insight_booleanfilter.go new file mode 100644 index 0000000000..e0e522ae3d --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_booleanfilter.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_BooleanFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.BooleanFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-booleanfilter.html +type Insight_BooleanFilter struct { + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-booleanfilter.html#cfn-securityhub-insight-booleanfilter-value + Value bool `json:"Value"` + + // 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 *Insight_BooleanFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.BooleanFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_datefilter.go b/cloudformation/securityhub/aws-securityhub-insight_datefilter.go new file mode 100644 index 0000000000..d6551c4ff3 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_datefilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_DateFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.DateFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html +type Insight_DateFilter struct { + + // DateRange AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html#cfn-securityhub-insight-datefilter-daterange + DateRange *Insight_DateRange `json:"DateRange,omitempty"` + + // End AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html#cfn-securityhub-insight-datefilter-end + End *string `json:"End,omitempty"` + + // Start AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html#cfn-securityhub-insight-datefilter-start + Start *string `json:"Start,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 *Insight_DateFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.DateFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_daterange.go b/cloudformation/securityhub/aws-securityhub-insight_daterange.go new file mode 100644 index 0000000000..b2a9376439 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_daterange.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_DateRange AWS CloudFormation Resource (AWS::SecurityHub::Insight.DateRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-daterange.html +type Insight_DateRange struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-daterange.html#cfn-securityhub-insight-daterange-unit + Unit string `json:"Unit"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-daterange.html#cfn-securityhub-insight-daterange-value + Value float64 `json:"Value"` + + // 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 *Insight_DateRange) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.DateRange" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_ipfilter.go b/cloudformation/securityhub/aws-securityhub-insight_ipfilter.go new file mode 100644 index 0000000000..a4fd4a300c --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_ipfilter.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_IpFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.IpFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-ipfilter.html +type Insight_IpFilter struct { + + // Cidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-ipfilter.html#cfn-securityhub-insight-ipfilter-cidr + Cidr *string `json:"Cidr,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 *Insight_IpFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.IpFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_mapfilter.go b/cloudformation/securityhub/aws-securityhub-insight_mapfilter.go new file mode 100644 index 0000000000..1bf616092f --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_mapfilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_MapFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.MapFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-mapfilter.html +type Insight_MapFilter struct { + + // Comparison AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-mapfilter.html#cfn-securityhub-insight-mapfilter-comparison + Comparison string `json:"Comparison"` + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-mapfilter.html#cfn-securityhub-insight-mapfilter-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-mapfilter.html#cfn-securityhub-insight-mapfilter-value + Value string `json:"Value"` + + // 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 *Insight_MapFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.MapFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_numberfilter.go b/cloudformation/securityhub/aws-securityhub-insight_numberfilter.go new file mode 100644 index 0000000000..631b386595 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_numberfilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_NumberFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.NumberFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-numberfilter.html +type Insight_NumberFilter struct { + + // Eq AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-numberfilter.html#cfn-securityhub-insight-numberfilter-eq + Eq *float64 `json:"Eq,omitempty"` + + // Gte AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-numberfilter.html#cfn-securityhub-insight-numberfilter-gte + Gte *float64 `json:"Gte,omitempty"` + + // Lte AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-numberfilter.html#cfn-securityhub-insight-numberfilter-lte + Lte *float64 `json:"Lte,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 *Insight_NumberFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.NumberFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-insight_stringfilter.go b/cloudformation/securityhub/aws-securityhub-insight_stringfilter.go new file mode 100644 index 0000000000..5efed1819a --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-insight_stringfilter.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Insight_StringFilter AWS CloudFormation Resource (AWS::SecurityHub::Insight.StringFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html +type Insight_StringFilter struct { + + // Comparison AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html#cfn-securityhub-insight-stringfilter-comparison + Comparison string `json:"Comparison"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html#cfn-securityhub-insight-stringfilter-value + Value string `json:"Value"` + + // 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 *Insight_StringFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::Insight.StringFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-productsubscription.go b/cloudformation/securityhub/aws-securityhub-productsubscription.go new file mode 100644 index 0000000000..6bccc073c2 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-productsubscription.go @@ -0,0 +1,117 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ProductSubscription AWS CloudFormation Resource (AWS::SecurityHub::ProductSubscription) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html +type ProductSubscription struct { + + // ProductArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html#cfn-securityhub-productsubscription-productarn + ProductArn string `json:"ProductArn"` + + // 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 *ProductSubscription) AWSCloudFormationType() string { + return "AWS::SecurityHub::ProductSubscription" +} + +// 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 ProductSubscription) MarshalJSON() ([]byte, error) { + type Properties ProductSubscription + 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 *ProductSubscription) UnmarshalJSON(b []byte) error { + type Properties ProductSubscription + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ProductSubscription(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/schema/cdk.go b/schema/cdk.go index a0386c49a4..22520fc6eb 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -9889,6 +9889,119 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31284,6 +31397,138 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40388,15 +40633,30 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40449,6 +40709,25 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48853,6 +49132,9 @@ var CdkSchema = `{ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48915,7 +49197,7 @@ var CdkSchema = `{ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48932,6 +49214,42 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -49001,26 +49319,20 @@ var CdkSchema = `{ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -49050,6 +49362,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51600,6 +51927,12 @@ var CdkSchema = `{ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51618,6 +51951,30 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51770,6 +52127,9 @@ var CdkSchema = `{ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -52015,6 +52375,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -52054,6 +52426,9 @@ var CdkSchema = `{ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -55009,7 +55384,7 @@ var CdkSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55212,11 +55587,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81357,6 +81727,9 @@ var CdkSchema = `{ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81505,6 +81878,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101462,6 +101847,9 @@ var CdkSchema = `{ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101490,6 +101878,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104449,6 +104849,12 @@ var CdkSchema = `{ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106086,6 +106492,9 @@ var CdkSchema = `{ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -178001,13 +178410,7 @@ var CdkSchema = `{ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178072,6 +178475,29 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198531,169 +198957,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "AutoEnableControls": { - "type": "boolean" - }, - "ControlFindingGenerator": { - "type": "string" - }, - "EnableDefaultStandards": { - "type": "boolean" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "DisabledStandardsControls": { - "items": { - "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" - }, - "type": "array" - }, - "StandardsArn": { - "type": "string" - } - }, - "required": [ - "StandardsArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Standard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard.StandardsControl": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StandardsControlArn": { - "type": "string" - } - }, - "required": [ - "StandardsControlArn" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::SecurityHub::DelegatedAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -198728,21 +198992,18 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "AdminAccountId": { "type": "string" } }, "required": [ - "PortfolioId" + "AdminAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::SecurityHub::DelegatedAdmin" ], "type": "string" }, @@ -198761,7 +199022,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "Condition": { @@ -198796,61 +199057,30 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProductType": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { + "AutoEnableControls": { "type": "boolean" }, - "SourceConnection": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { + "ControlFindingGenerator": { "type": "string" }, - "SupportUrl": { - "type": "string" + "EnableDefaultStandards": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, - "required": [ - "Name", - "Owner" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -198864,85 +199094,1193 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { - "additionalProperties": false, - "properties": { - "ArtifactPath": { - "type": "string" - }, - "Branch": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "ArtifactPath", - "Branch", - "ConnectionArn", - "Repository" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { - "additionalProperties": false, - "properties": { - "CodeStar": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { - "additionalProperties": false, - "properties": { - "ConnectionParameters": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ConnectionParameters", "Type" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "DisabledStandardsControls": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" + }, + "type": "array" + }, + "StandardsArn": { + "type": "string" + } + }, + "required": [ + "StandardsArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Standard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard.StandardsControl": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StandardsControlArn": { + "type": "string" + } + }, + "required": [ + "StandardsControlArn" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProductType": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SourceConnection": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { + "additionalProperties": false, + "properties": { + "ArtifactPath": { + "type": "string" + }, + "Branch": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + }, + "Repository": { + "type": "string" + } + }, + "required": [ + "ArtifactPath", + "Branch", + "ConnectionArn", + "Repository" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { + "additionalProperties": false, + "properties": { + "CodeStar": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { + "additionalProperties": false, + "properties": { + "ConnectionParameters": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ConnectionParameters", + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "Condition": { @@ -212747,6 +214085,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -213146,6 +214487,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -215855,9 +217199,18 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 40f49c0cab..79f42ab581 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -9884,6 +9884,119 @@ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31279,6 +31392,138 @@ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40383,15 +40628,30 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40444,6 +40704,25 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48848,6 +49127,9 @@ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48910,7 +49192,7 @@ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48927,6 +49209,42 @@ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -48996,26 +49314,20 @@ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -49045,6 +49357,21 @@ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51595,6 +51922,12 @@ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51613,6 +51946,30 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51765,6 +52122,9 @@ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -52010,6 +52370,18 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -52049,6 +52421,9 @@ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -55004,7 +55379,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55207,11 +55582,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81352,6 +81722,9 @@ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81500,6 +81873,18 @@ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101457,6 +101842,9 @@ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101485,6 +101873,18 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104444,6 +104844,12 @@ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106081,6 +106487,9 @@ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -177996,13 +178405,7 @@ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178067,6 +178470,29 @@ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198526,169 +198952,7 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "AutoEnableControls": { - "type": "boolean" - }, - "ControlFindingGenerator": { - "type": "string" - }, - "EnableDefaultStandards": { - "type": "boolean" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "DisabledStandardsControls": { - "items": { - "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" - }, - "type": "array" - }, - "StandardsArn": { - "type": "string" - } - }, - "required": [ - "StandardsArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Standard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard.StandardsControl": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StandardsControlArn": { - "type": "string" - } - }, - "required": [ - "StandardsControlArn" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::SecurityHub::DelegatedAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -198723,21 +198987,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "AdminAccountId": { "type": "string" } }, "required": [ - "PortfolioId" + "AdminAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::SecurityHub::DelegatedAdmin" ], "type": "string" }, @@ -198756,7 +199017,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "Condition": { @@ -198791,61 +199052,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProductType": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { + "AutoEnableControls": { "type": "boolean" }, - "SourceConnection": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { + "ControlFindingGenerator": { "type": "string" }, - "SupportUrl": { - "type": "string" + "EnableDefaultStandards": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, - "required": [ - "Name", - "Owner" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -198859,85 +199089,1193 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { - "additionalProperties": false, - "properties": { - "ArtifactPath": { - "type": "string" - }, - "Branch": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "ArtifactPath", - "Branch", - "ConnectionArn", - "Repository" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { - "additionalProperties": false, - "properties": { - "CodeStar": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { - "additionalProperties": false, - "properties": { - "ConnectionParameters": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ConnectionParameters", "Type" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "DisabledStandardsControls": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" + }, + "type": "array" + }, + "StandardsArn": { + "type": "string" + } + }, + "required": [ + "StandardsArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Standard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard.StandardsControl": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StandardsControlArn": { + "type": "string" + } + }, + "required": [ + "StandardsControlArn" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProductType": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SourceConnection": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { + "additionalProperties": false, + "properties": { + "ArtifactPath": { + "type": "string" + }, + "Branch": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + }, + "Repository": { + "type": "string" + } + }, + "required": [ + "ArtifactPath", + "Branch", + "ConnectionArn", + "Repository" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { + "additionalProperties": false, + "properties": { + "CodeStar": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { + "additionalProperties": false, + "properties": { + "ConnectionParameters": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ConnectionParameters", + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "Condition": { @@ -212742,6 +214080,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -213141,6 +214482,9 @@ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -215850,9 +217194,18 @@ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 99ffc97eb1..0f755f4040 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -9889,6 +9889,119 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31223,6 +31336,138 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40327,15 +40572,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40388,6 +40648,25 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48792,6 +49071,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48854,7 +49136,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48871,6 +49153,42 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -48940,26 +49258,20 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -48989,6 +49301,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51539,6 +51866,12 @@ var CloudformationSchema = `{ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51557,6 +51890,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51709,6 +52066,9 @@ var CloudformationSchema = `{ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -51954,6 +52314,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -51993,6 +52365,9 @@ var CloudformationSchema = `{ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -54948,7 +55323,7 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55151,11 +55526,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81296,6 +81666,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81444,6 +81817,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101401,6 +101786,9 @@ var CloudformationSchema = `{ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101429,6 +101817,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104388,6 +104788,12 @@ var CloudformationSchema = `{ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106025,6 +106431,9 @@ var CloudformationSchema = `{ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -177940,13 +178349,7 @@ var CloudformationSchema = `{ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178011,6 +178414,29 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198470,169 +198896,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "AutoEnableControls": { - "type": "boolean" - }, - "ControlFindingGenerator": { - "type": "string" - }, - "EnableDefaultStandards": { - "type": "boolean" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "DisabledStandardsControls": { - "items": { - "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" - }, - "type": "array" - }, - "StandardsArn": { - "type": "string" - } - }, - "required": [ - "StandardsArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Standard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard.StandardsControl": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StandardsControlArn": { - "type": "string" - } - }, - "required": [ - "StandardsControlArn" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::SecurityHub::DelegatedAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -198667,21 +198931,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "AdminAccountId": { "type": "string" } }, "required": [ - "PortfolioId" + "AdminAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::SecurityHub::DelegatedAdmin" ], "type": "string" }, @@ -198700,7 +198961,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "Condition": { @@ -198735,61 +198996,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProductType": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { + "AutoEnableControls": { "type": "boolean" }, - "SourceConnection": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { + "ControlFindingGenerator": { "type": "string" }, - "SupportUrl": { - "type": "string" + "EnableDefaultStandards": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, - "required": [ - "Name", - "Owner" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -198803,85 +199033,1193 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { - "additionalProperties": false, - "properties": { - "ArtifactPath": { - "type": "string" - }, - "Branch": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "ArtifactPath", - "Branch", - "ConnectionArn", - "Repository" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { - "additionalProperties": false, - "properties": { - "CodeStar": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { - "additionalProperties": false, - "properties": { - "ConnectionParameters": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ConnectionParameters", "Type" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "DisabledStandardsControls": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" + }, + "type": "array" + }, + "StandardsArn": { + "type": "string" + } + }, + "required": [ + "StandardsArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Standard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard.StandardsControl": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StandardsControlArn": { + "type": "string" + } + }, + "required": [ + "StandardsControlArn" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProductType": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SourceConnection": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { + "additionalProperties": false, + "properties": { + "ArtifactPath": { + "type": "string" + }, + "Branch": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + }, + "Repository": { + "type": "string" + } + }, + "required": [ + "ArtifactPath", + "Branch", + "ConnectionArn", + "Repository" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { + "additionalProperties": false, + "properties": { + "CodeStar": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { + "additionalProperties": false, + "properties": { + "ConnectionParameters": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ConnectionParameters", + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "Condition": { @@ -212686,6 +214024,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -213082,6 +214423,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -215791,9 +217135,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 2290014335..acb7af3d87 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -9884,6 +9884,119 @@ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31218,6 +31331,138 @@ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40322,15 +40567,30 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40383,6 +40643,25 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48787,6 +49066,9 @@ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48849,7 +49131,7 @@ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48866,6 +49148,42 @@ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -48935,26 +49253,20 @@ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -48984,6 +49296,21 @@ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51534,6 +51861,12 @@ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51552,6 +51885,30 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51704,6 +52061,9 @@ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -51949,6 +52309,18 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -51988,6 +52360,9 @@ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -54943,7 +55318,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55146,11 +55521,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81291,6 +81661,9 @@ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81439,6 +81812,18 @@ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101396,6 +101781,9 @@ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101424,6 +101812,18 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104383,6 +104783,12 @@ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106020,6 +106426,9 @@ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -177935,13 +178344,7 @@ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178006,6 +178409,29 @@ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198465,169 +198891,7 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "AutoEnableControls": { - "type": "boolean" - }, - "ControlFindingGenerator": { - "type": "string" - }, - "EnableDefaultStandards": { - "type": "boolean" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "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": { - "DisabledStandardsControls": { - "items": { - "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" - }, - "type": "array" - }, - "StandardsArn": { - "type": "string" - } - }, - "required": [ - "StandardsArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Standard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Standard.StandardsControl": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StandardsControlArn": { - "type": "string" - } - }, - "required": [ - "StandardsControlArn" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::SecurityHub::DelegatedAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -198662,21 +198926,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "AdminAccountId": { "type": "string" } }, "required": [ - "PortfolioId" + "AdminAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::SecurityHub::DelegatedAdmin" ], "type": "string" }, @@ -198695,7 +198956,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "Condition": { @@ -198730,61 +198991,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProductType": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { + "AutoEnableControls": { "type": "boolean" }, - "SourceConnection": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { + "ControlFindingGenerator": { "type": "string" }, - "SupportUrl": { - "type": "string" + "EnableDefaultStandards": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, - "required": [ - "Name", - "Owner" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -198798,85 +199028,1193 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { - "additionalProperties": false, - "properties": { - "ArtifactPath": { - "type": "string" - }, - "Branch": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "ArtifactPath", - "Branch", - "ConnectionArn", - "Repository" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { - "additionalProperties": false, - "properties": { - "CodeStar": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { - "additionalProperties": false, - "properties": { - "ConnectionParameters": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ConnectionParameters", "Type" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "DisabledStandardsControls": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" + }, + "type": "array" + }, + "StandardsArn": { + "type": "string" + } + }, + "required": [ + "StandardsArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Standard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Standard.StandardsControl": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StandardsControlArn": { + "type": "string" + } + }, + "required": [ + "StandardsControlArn" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProductType": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SourceConnection": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.SourceConnection" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters": { + "additionalProperties": false, + "properties": { + "ArtifactPath": { + "type": "string" + }, + "Branch": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + }, + "Repository": { + "type": "string" + } + }, + "required": [ + "ArtifactPath", + "Branch", + "ConnectionArn", + "Repository" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters": { + "additionalProperties": false, + "properties": { + "CodeStar": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.CodeStarParameters" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { + "additionalProperties": false, + "properties": { + "ConnectionParameters": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ConnectionParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ConnectionParameters", + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "Condition": { @@ -212681,6 +214019,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -213077,6 +214418,9 @@ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -215786,9 +217130,18 @@ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" }, diff --git a/schema/sam.go b/schema/sam.go index 99e6382824..166e3e3ba4 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -9889,6 +9889,119 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31223,6 +31336,138 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40327,15 +40572,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40388,6 +40648,25 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48792,6 +49071,9 @@ var SamSchema = `{ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48854,7 +49136,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48871,6 +49153,42 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -48940,26 +49258,20 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -48989,6 +49301,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51539,6 +51866,12 @@ var SamSchema = `{ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51557,6 +51890,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51709,6 +52066,9 @@ var SamSchema = `{ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -51954,6 +52314,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -51993,6 +52365,9 @@ var SamSchema = `{ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -54948,7 +55323,7 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55151,11 +55526,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81296,6 +81666,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81444,6 +81817,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101401,6 +101786,9 @@ var SamSchema = `{ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101429,6 +101817,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104388,6 +104788,12 @@ var SamSchema = `{ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106025,6 +106431,9 @@ var SamSchema = `{ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -177940,13 +178349,7 @@ var SamSchema = `{ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178011,6 +178414,29 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198470,6 +198896,71 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SecurityHub::DelegatedAdmin": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AdminAccountId": { + "type": "string" + } + }, + "required": [ + "AdminAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::DelegatedAdmin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { @@ -198546,6 +199037,853 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { @@ -215768,6 +217106,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -216164,6 +217505,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -218873,9 +220217,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 00e8947c90..a92b78149d 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -9884,6 +9884,119 @@ ], "type": "object" }, + "AWS::AppIntegrations::Application": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSourceConfig", + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { + "additionalProperties": false, + "properties": { + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig" + } + }, + "required": [ + "ExternalUrlConfig" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "type": "string" + }, + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessUrl", + "ApprovedOrigins" + ], + "type": "object" + }, "AWS::AppIntegrations::DataIntegration": { "additionalProperties": false, "properties": { @@ -31218,6 +31331,138 @@ ], "type": "object" }, + "AWS::CodeArtifact::PackageGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ContactInfo": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration" + }, + "Pattern": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "Pattern" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::PackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionMode": { + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType" + } + }, + "type": "object" + }, "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { @@ -40322,15 +40567,30 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedAccessControlHierarchyGroupId": { + "type": "string" + }, "AllowedAccessControlTags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "type": "array" + }, "Description": { "type": "string" }, + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, "InstanceArn": { "type": "string" }, @@ -40383,6 +40643,25 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile.Application": { + "additionalProperties": false, + "properties": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -48787,6 +49066,9 @@ }, "type": "array" }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig" + }, "Name": { "type": "string" }, @@ -48849,7 +49131,7 @@ "additionalProperties": false, "properties": { "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.S3" + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3" } }, "type": "object" @@ -48866,6 +49148,42 @@ }, "type": "object" }, + "AWS::DataSync::Task.ManifestConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::DataSync::Task.ManifestConfigSourceS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "ManifestObjectPath": { + "type": "string" + }, + "ManifestObjectVersionId": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { @@ -48935,26 +49253,20 @@ }, "type": "object" }, - "AWS::DataSync::Task.S3": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "type": "string" - }, - "S3BucketArn": { - "type": "string" - }, - "Subdirectory": { + "ReportLevel": { "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Skipped": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ReportLevel": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3" } }, "type": "object" @@ -48984,6 +49296,21 @@ ], "type": "object" }, + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + }, + "S3BucketArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { @@ -51534,6 +51861,12 @@ "Region": { "type": "string" }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" }, @@ -51552,6 +51885,30 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { @@ -51704,6 +52061,9 @@ "ProvisionedThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "SSESpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, @@ -51949,6 +52309,18 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, "AWS::DynamoDB::Table.S3BucketSource": { "additionalProperties": false, "properties": { @@ -51988,6 +52360,9 @@ "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy" + }, "StreamViewType": { "type": "string" } @@ -54943,7 +55318,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -55146,11 +55521,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -81291,6 +81661,9 @@ "Description": { "type": "string" }, + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::Glue::Crawler.LakeFormationConfiguration" + }, "Name": { "type": "string" }, @@ -81439,6 +81812,18 @@ }, "type": "object" }, + "AWS::Glue::Crawler.LakeFormationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "UseLakeFormationCredentials": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.MongoDBTarget": { "additionalProperties": false, "properties": { @@ -101396,6 +101781,9 @@ }, "GreengrassV2": { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GreengrassV2" + }, + "SiemensIE": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.SiemensIE" } }, "type": "object" @@ -101424,6 +101812,18 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Gateway.SiemensIE": { + "additionalProperties": false, + "properties": { + "IotCoreThingName": { + "type": "string" + } + }, + "required": [ + "IotCoreThingName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -104383,6 +104783,12 @@ "ServiceExecutionRoleArn": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "WorkerConfiguration": { "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" } @@ -106020,6 +106426,9 @@ "IndexId": { "type": "string" }, + "LanguageCode": { + "type": "string" + }, "Name": { "type": "string" }, @@ -177935,13 +178344,7 @@ "type": "string" }, "Policy": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" - } - }, - "type": "object" + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap" }, "PolicyDescription": { "type": "string" @@ -178006,6 +178409,29 @@ ], "type": "object" }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { @@ -198465,6 +198891,71 @@ ], "type": "object" }, + "AWS::SecurityHub::DelegatedAdmin": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "AdminAccountId": { + "type": "string" + } + }, + "required": [ + "AdminAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::DelegatedAdmin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { @@ -198541,6 +199032,853 @@ ], "type": "object" }, + "AWS::SecurityHub::Insight": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "Filters": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.AwsSecurityFindingFilters" + }, + "GroupByAttribute": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Filters", + "GroupByAttribute", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Insight" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.AwsSecurityFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "AwsAccountName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlParametersValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsConfidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsCriticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsRelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsSeverityOriginal": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FindingProviderFieldsTypes": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "MalwareName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwarePath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "MalwareType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkDestinationPort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NetworkDirection": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkProtocol": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceDomain": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourceIpV4": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceIpV6": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "NetworkSourceMac": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NetworkSourcePort": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProcessName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessParentPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessPath": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProcessPid": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.NumberFilter" + }, + "type": "array" + }, + "ProcessTerminatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ProductFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecommendationText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Region": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceApplicationName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV4Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.IpFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceKeyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceSubnetId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsEc2InstanceVpcId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyCreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyPrincipalName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamAccessKeyStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsIamUserUserName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceAwsS3BucketOwnerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerImageName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceContainerLaunchedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ResourceContainerName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Sample": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.BooleanFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorCategory": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorLastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSource": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorSourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "ThreatIntelIndicatorValue": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesExploitAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "VulnerabilitiesFixAvailable": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.BooleanFilter": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "boolean" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::Insight.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::Insight.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::Insight.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::ProductSubscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ProductArn": { + "type": "string" + } + }, + "required": [ + "ProductArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::ProductSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { @@ -215763,6 +217101,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::Application" + }, { "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" }, @@ -216159,6 +217500,9 @@ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, + { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, @@ -218868,9 +220212,18 @@ { "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" }, + { + "$ref": "#/definitions/AWS::SecurityHub::DelegatedAdmin" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Insight" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::ProductSubscription" + }, { "$ref": "#/definitions/AWS::SecurityHub::Standard" },