diff --git a/cloudformation/all.go b/cloudformation/all.go index 48aacb3ea1..d41b28d575 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -678,6 +678,7 @@ func AllResources() map[string]Resource { "AWS::Greengrass::SubscriptionDefinition": &greengrass.SubscriptionDefinition{}, "AWS::Greengrass::SubscriptionDefinitionVersion": &greengrass.SubscriptionDefinitionVersion{}, "AWS::GreengrassV2::ComponentVersion": &greengrassv2.ComponentVersion{}, + "AWS::GreengrassV2::Deployment": &greengrassv2.Deployment{}, "AWS::GroundStation::Config": &groundstation.Config{}, "AWS::GroundStation::DataflowEndpointGroup": &groundstation.DataflowEndpointGroup{}, "AWS::GroundStation::MissionProfile": &groundstation.MissionProfile{}, @@ -1143,6 +1144,10 @@ func AllResources() map[string]Resource { "AWS::Timestream::Database": ×tream.Database{}, "AWS::Timestream::ScheduledQuery": ×tream.ScheduledQuery{}, "AWS::Timestream::Table": ×tream.Table{}, + "AWS::Transfer::Agreement": &transfer.Agreement{}, + "AWS::Transfer::Certificate": &transfer.Certificate{}, + "AWS::Transfer::Connector": &transfer.Connector{}, + "AWS::Transfer::Profile": &transfer.Profile{}, "AWS::Transfer::Server": &transfer.Server{}, "AWS::Transfer::User": &transfer.User{}, "AWS::Transfer::Workflow": &transfer.Workflow{}, @@ -12394,6 +12399,30 @@ func (t *Template) GetGreengrassV2ComponentVersionWithName(name string) (*greeng return nil, fmt.Errorf("resource %q of type greengrassv2.ComponentVersion not found", name) } +// GetAllGreengrassV2DeploymentResources retrieves all greengrassv2.Deployment items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassV2DeploymentResources() map[string]*greengrassv2.Deployment { + results := map[string]*greengrassv2.Deployment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *greengrassv2.Deployment: + results[name] = resource + } + } + return results +} + +// GetGreengrassV2DeploymentWithName retrieves all greengrassv2.Deployment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGreengrassV2DeploymentWithName(name string) (*greengrassv2.Deployment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *greengrassv2.Deployment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type greengrassv2.Deployment not found", name) +} + // GetAllGroundStationConfigResources retrieves all groundstation.Config items from an AWS CloudFormation template func (t *Template) GetAllGroundStationConfigResources() map[string]*groundstation.Config { results := map[string]*groundstation.Config{} @@ -23554,6 +23583,102 @@ func (t *Template) GetTimestreamTableWithName(name string) (*timestream.Table, e return nil, fmt.Errorf("resource %q of type timestream.Table not found", name) } +// GetAllTransferAgreementResources retrieves all transfer.Agreement items from an AWS CloudFormation template +func (t *Template) GetAllTransferAgreementResources() map[string]*transfer.Agreement { + results := map[string]*transfer.Agreement{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *transfer.Agreement: + results[name] = resource + } + } + return results +} + +// GetTransferAgreementWithName retrieves all transfer.Agreement items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetTransferAgreementWithName(name string) (*transfer.Agreement, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *transfer.Agreement: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type transfer.Agreement not found", name) +} + +// GetAllTransferCertificateResources retrieves all transfer.Certificate items from an AWS CloudFormation template +func (t *Template) GetAllTransferCertificateResources() map[string]*transfer.Certificate { + results := map[string]*transfer.Certificate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *transfer.Certificate: + results[name] = resource + } + } + return results +} + +// GetTransferCertificateWithName retrieves all transfer.Certificate items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetTransferCertificateWithName(name string) (*transfer.Certificate, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *transfer.Certificate: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type transfer.Certificate not found", name) +} + +// GetAllTransferConnectorResources retrieves all transfer.Connector items from an AWS CloudFormation template +func (t *Template) GetAllTransferConnectorResources() map[string]*transfer.Connector { + results := map[string]*transfer.Connector{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *transfer.Connector: + results[name] = resource + } + } + return results +} + +// GetTransferConnectorWithName retrieves all transfer.Connector items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetTransferConnectorWithName(name string) (*transfer.Connector, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *transfer.Connector: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type transfer.Connector not found", name) +} + +// GetAllTransferProfileResources retrieves all transfer.Profile items from an AWS CloudFormation template +func (t *Template) GetAllTransferProfileResources() map[string]*transfer.Profile { + results := map[string]*transfer.Profile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *transfer.Profile: + results[name] = resource + } + } + return results +} + +// GetTransferProfileWithName retrieves all transfer.Profile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetTransferProfileWithName(name string) (*transfer.Profile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *transfer.Profile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type transfer.Profile not found", name) +} + // GetAllTransferServerResources retrieves all transfer.Server items from an AWS CloudFormation template func (t *Template) GetAllTransferServerResources() map[string]*transfer.Server { results := map[string]*transfer.Server{} diff --git a/cloudformation/appflow/aws-appflow-connectorprofile_credentialsmap.go b/cloudformation/appflow/aws-appflow-connectorprofile_credentialsmap.go index 6bc7dfba1b..8f9ef9fd35 100644 --- a/cloudformation/appflow/aws-appflow-connectorprofile_credentialsmap.go +++ b/cloudformation/appflow/aws-appflow-connectorprofile_credentialsmap.go @@ -7,7 +7,7 @@ import ( ) // ConnectorProfile_CredentialsMap AWS CloudFormation Resource (AWS::AppFlow::ConnectorProfile.CredentialsMap) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-credentialsmap.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-customauthcredentials.html#cfn-appflow-connectorprofile-customauthcredentials-credentialsmap type ConnectorProfile_CredentialsMap struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-eip.go b/cloudformation/ec2/aws-ec2-eip.go index 592ad3ffea..248338a0e5 100644 --- a/cloudformation/ec2/aws-ec2-eip.go +++ b/cloudformation/ec2/aws-ec2-eip.go @@ -11,32 +11,32 @@ import ( ) // EIP AWS CloudFormation Resource (AWS::EC2::EIP) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html type EIP struct { // Domain AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-domain + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-domain Domain *string `json:"Domain,omitempty"` // InstanceId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-instanceid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-instanceid InstanceId *string `json:"InstanceId,omitempty"` // NetworkBorderGroup AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-networkbordergroup + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-networkbordergroup NetworkBorderGroup *string `json:"NetworkBorderGroup,omitempty"` // PublicIpv4Pool AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-publicipv4pool + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-publicipv4pool PublicIpv4Pool *string `json:"PublicIpv4Pool,omitempty"` // Tags AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-tags + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-tags Tags []tags.Tag `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment.go new file mode 100644 index 0000000000..816d949dda --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment.go @@ -0,0 +1,142 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment AWS CloudFormation Resource (AWS::GreengrassV2::Deployment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html +type Deployment struct { + + // Components AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-components + Components map[string]Deployment_ComponentDeploymentSpecification `json:"Components,omitempty"` + + // DeploymentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-deploymentname + DeploymentName *string `json:"DeploymentName,omitempty"` + + // DeploymentPolicies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-deploymentpolicies + DeploymentPolicies *Deployment_DeploymentPolicies `json:"DeploymentPolicies,omitempty"` + + // IotJobConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-iotjobconfiguration + IotJobConfiguration *Deployment_DeploymentIoTJobConfiguration `json:"IotJobConfiguration,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-tags + Tags map[string]string `json:"Tags,omitempty"` + + // TargetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-targetarn + TargetArn string `json:"TargetArn"` + + // 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 *Deployment) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment" +} + +// 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 Deployment) MarshalJSON() ([]byte, error) { + type Properties Deployment + 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 *Deployment) UnmarshalJSON(b []byte) error { + type Properties Deployment + 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 = Deployment(*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/greengrassv2/aws-greengrassv2-deployment_componentconfigurationupdate.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentconfigurationupdate.go new file mode 100644 index 0000000000..ae7e401ec9 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentconfigurationupdate.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_ComponentConfigurationUpdate AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentconfigurationupdate.html +type Deployment_ComponentConfigurationUpdate struct { + + // Merge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentconfigurationupdate.html#cfn-greengrassv2-deployment-componentconfigurationupdate-merge + Merge *string `json:"Merge,omitempty"` + + // Reset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentconfigurationupdate.html#cfn-greengrassv2-deployment-componentconfigurationupdate-reset + Reset []string `json:"Reset,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 *Deployment_ComponentConfigurationUpdate) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentdeploymentspecification.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentdeploymentspecification.go new file mode 100644 index 0000000000..31be3fae8f --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentdeploymentspecification.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_ComponentDeploymentSpecification AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentdeploymentspecification.html +type Deployment_ComponentDeploymentSpecification struct { + + // ComponentVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentdeploymentspecification.html#cfn-greengrassv2-deployment-componentdeploymentspecification-componentversion + ComponentVersion *string `json:"ComponentVersion,omitempty"` + + // ConfigurationUpdate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentdeploymentspecification.html#cfn-greengrassv2-deployment-componentdeploymentspecification-configurationupdate + ConfigurationUpdate *Deployment_ComponentConfigurationUpdate `json:"ConfigurationUpdate,omitempty"` + + // RunWith AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentdeploymentspecification.html#cfn-greengrassv2-deployment-componentdeploymentspecification-runwith + RunWith *Deployment_ComponentRunWith `json:"RunWith,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 *Deployment_ComponentDeploymentSpecification) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentrunwith.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentrunwith.go new file mode 100644 index 0000000000..d02ce4005e --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_componentrunwith.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_ComponentRunWith AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.ComponentRunWith) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentrunwith.html +type Deployment_ComponentRunWith struct { + + // PosixUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentrunwith.html#cfn-greengrassv2-deployment-componentrunwith-posixuser + PosixUser *string `json:"PosixUser,omitempty"` + + // SystemResourceLimits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentrunwith.html#cfn-greengrassv2-deployment-componentrunwith-systemresourcelimits + SystemResourceLimits *Deployment_SystemResourceLimits `json:"SystemResourceLimits,omitempty"` + + // WindowsUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentrunwith.html#cfn-greengrassv2-deployment-componentrunwith-windowsuser + WindowsUser *string `json:"WindowsUser,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 *Deployment_ComponentRunWith) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.ComponentRunWith" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentcomponentupdatepolicy.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentcomponentupdatepolicy.go new file mode 100644 index 0000000000..9b5c0fca4d --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentcomponentupdatepolicy.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_DeploymentComponentUpdatePolicy AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentcomponentupdatepolicy.html +type Deployment_DeploymentComponentUpdatePolicy struct { + + // Action AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentcomponentupdatepolicy.html#cfn-greengrassv2-deployment-deploymentcomponentupdatepolicy-action + Action *string `json:"Action,omitempty"` + + // TimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentcomponentupdatepolicy.html#cfn-greengrassv2-deployment-deploymentcomponentupdatepolicy-timeoutinseconds + TimeoutInSeconds *int `json:"TimeoutInSeconds,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 *Deployment_DeploymentComponentUpdatePolicy) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentconfigurationvalidationpolicy.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentconfigurationvalidationpolicy.go new file mode 100644 index 0000000000..7c53a9c3b0 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentconfigurationvalidationpolicy.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_DeploymentConfigurationValidationPolicy AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentconfigurationvalidationpolicy.html +type Deployment_DeploymentConfigurationValidationPolicy struct { + + // TimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentconfigurationvalidationpolicy.html#cfn-greengrassv2-deployment-deploymentconfigurationvalidationpolicy-timeoutinseconds + TimeoutInSeconds *int `json:"TimeoutInSeconds,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 *Deployment_DeploymentConfigurationValidationPolicy) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentiotjobconfiguration.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentiotjobconfiguration.go new file mode 100644 index 0000000000..1a799b1b51 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentiotjobconfiguration.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_DeploymentIoTJobConfiguration AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html +type Deployment_DeploymentIoTJobConfiguration struct { + + // AbortConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html#cfn-greengrassv2-deployment-deploymentiotjobconfiguration-abortconfig + AbortConfig *Deployment_IoTJobAbortConfig `json:"AbortConfig,omitempty"` + + // JobExecutionsRolloutConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html#cfn-greengrassv2-deployment-deploymentiotjobconfiguration-jobexecutionsrolloutconfig + JobExecutionsRolloutConfig *Deployment_IoTJobExecutionsRolloutConfig `json:"JobExecutionsRolloutConfig,omitempty"` + + // TimeoutConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html#cfn-greengrassv2-deployment-deploymentiotjobconfiguration-timeoutconfig + TimeoutConfig *Deployment_IoTJobTimeoutConfig `json:"TimeoutConfig,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 *Deployment_DeploymentIoTJobConfiguration) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentpolicies.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentpolicies.go new file mode 100644 index 0000000000..f3c700ed1f --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_deploymentpolicies.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_DeploymentPolicies AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.DeploymentPolicies) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentpolicies.html +type Deployment_DeploymentPolicies struct { + + // ComponentUpdatePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentpolicies.html#cfn-greengrassv2-deployment-deploymentpolicies-componentupdatepolicy + ComponentUpdatePolicy *Deployment_DeploymentComponentUpdatePolicy `json:"ComponentUpdatePolicy,omitempty"` + + // ConfigurationValidationPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentpolicies.html#cfn-greengrassv2-deployment-deploymentpolicies-configurationvalidationpolicy + ConfigurationValidationPolicy *Deployment_DeploymentConfigurationValidationPolicy `json:"ConfigurationValidationPolicy,omitempty"` + + // FailureHandlingPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentpolicies.html#cfn-greengrassv2-deployment-deploymentpolicies-failurehandlingpolicy + FailureHandlingPolicy *string `json:"FailureHandlingPolicy,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 *Deployment_DeploymentPolicies) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.DeploymentPolicies" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortconfig.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortconfig.go new file mode 100644 index 0000000000..4294645aa7 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobAbortConfig AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobAbortConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortconfig.html +type Deployment_IoTJobAbortConfig struct { + + // CriteriaList AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortconfig.html#cfn-greengrassv2-deployment-iotjobabortconfig-criterialist + CriteriaList []Deployment_IoTJobAbortCriteria `json:"CriteriaList"` + + // 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 *Deployment_IoTJobAbortConfig) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobAbortConfig" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortcriteria.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortcriteria.go new file mode 100644 index 0000000000..d1ffe5ca0b --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobabortcriteria.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobAbortCriteria AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobAbortCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html +type Deployment_IoTJobAbortCriteria struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html#cfn-greengrassv2-deployment-iotjobabortcriteria-action + Action string `json:"Action"` + + // FailureType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html#cfn-greengrassv2-deployment-iotjobabortcriteria-failuretype + FailureType string `json:"FailureType"` + + // MinNumberOfExecutedThings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html#cfn-greengrassv2-deployment-iotjobabortcriteria-minnumberofexecutedthings + MinNumberOfExecutedThings int `json:"MinNumberOfExecutedThings"` + + // ThresholdPercentage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html#cfn-greengrassv2-deployment-iotjobabortcriteria-thresholdpercentage + ThresholdPercentage float64 `json:"ThresholdPercentage"` + + // 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 *Deployment_IoTJobAbortCriteria) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexecutionsrolloutconfig.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexecutionsrolloutconfig.go new file mode 100644 index 0000000000..de1196d61e --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexecutionsrolloutconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobExecutionsRolloutConfig AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexecutionsrolloutconfig.html +type Deployment_IoTJobExecutionsRolloutConfig struct { + + // ExponentialRate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexecutionsrolloutconfig.html#cfn-greengrassv2-deployment-iotjobexecutionsrolloutconfig-exponentialrate + ExponentialRate *Deployment_IoTJobExponentialRolloutRate `json:"ExponentialRate,omitempty"` + + // MaximumPerMinute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexecutionsrolloutconfig.html#cfn-greengrassv2-deployment-iotjobexecutionsrolloutconfig-maximumperminute + MaximumPerMinute *int `json:"MaximumPerMinute,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 *Deployment_IoTJobExecutionsRolloutConfig) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexponentialrolloutrate.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexponentialrolloutrate.go new file mode 100644 index 0000000000..f2f5539a11 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobexponentialrolloutrate.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobExponentialRolloutRate AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexponentialrolloutrate.html +type Deployment_IoTJobExponentialRolloutRate struct { + + // BaseRatePerMinute AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexponentialrolloutrate.html#cfn-greengrassv2-deployment-iotjobexponentialrolloutrate-baserateperminute + BaseRatePerMinute int `json:"BaseRatePerMinute"` + + // IncrementFactor AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexponentialrolloutrate.html#cfn-greengrassv2-deployment-iotjobexponentialrolloutrate-incrementfactor + IncrementFactor float64 `json:"IncrementFactor"` + + // RateIncreaseCriteria AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexponentialrolloutrate.html#cfn-greengrassv2-deployment-iotjobexponentialrolloutrate-rateincreasecriteria + RateIncreaseCriteria *Deployment_IoTJobRateIncreaseCriteria `json:"RateIncreaseCriteria"` + + // 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 *Deployment_IoTJobExponentialRolloutRate) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobrateincreasecriteria.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobrateincreasecriteria.go new file mode 100644 index 0000000000..ea181d8bf2 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobrateincreasecriteria.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobRateIncreaseCriteria AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobrateincreasecriteria.html +type Deployment_IoTJobRateIncreaseCriteria struct { + + // 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 *Deployment_IoTJobRateIncreaseCriteria) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobtimeoutconfig.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobtimeoutconfig.go new file mode 100644 index 0000000000..f70b6cedca --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_iotjobtimeoutconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_IoTJobTimeoutConfig AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobtimeoutconfig.html +type Deployment_IoTJobTimeoutConfig struct { + + // InProgressTimeoutInMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobtimeoutconfig.html#cfn-greengrassv2-deployment-iotjobtimeoutconfig-inprogresstimeoutinminutes + InProgressTimeoutInMinutes *int `json:"InProgressTimeoutInMinutes,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 *Deployment_IoTJobTimeoutConfig) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment_systemresourcelimits.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment_systemresourcelimits.go new file mode 100644 index 0000000000..c6a3980c9c --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment_systemresourcelimits.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Deployment_SystemResourceLimits AWS CloudFormation Resource (AWS::GreengrassV2::Deployment.SystemResourceLimits) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-systemresourcelimits.html +type Deployment_SystemResourceLimits struct { + + // Cpus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-systemresourcelimits.html#cfn-greengrassv2-deployment-systemresourcelimits-cpus + Cpus *float64 `json:"Cpus,omitempty"` + + // Memory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-systemresourcelimits.html#cfn-greengrassv2-deployment-systemresourcelimits-memory + Memory *int `json:"Memory,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 *Deployment_SystemResourceLimits) AWSCloudFormationType() string { + return "AWS::GreengrassV2::Deployment.SystemResourceLimits" +} diff --git a/cloudformation/identitystore/aws-identitystore-group.go b/cloudformation/identitystore/aws-identitystore-group.go index e1632f9f25..37ad698e1d 100644 --- a/cloudformation/identitystore/aws-identitystore-group.go +++ b/cloudformation/identitystore/aws-identitystore-group.go @@ -19,14 +19,14 @@ type Group struct { Description *string `json:"Description,omitempty"` // DisplayName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html#cfn-identitystore-group-displayname - DisplayName *string `json:"DisplayName,omitempty"` + DisplayName string `json:"DisplayName"` // IdentityStoreId AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html#cfn-identitystore-group-identitystoreid - IdentityStoreId *string `json:"IdentityStoreId,omitempty"` + IdentityStoreId string `json:"IdentityStoreId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/identitystore/aws-identitystore-groupmembership.go b/cloudformation/identitystore/aws-identitystore-groupmembership.go index be3a3e19b2..512668ff75 100644 --- a/cloudformation/identitystore/aws-identitystore-groupmembership.go +++ b/cloudformation/identitystore/aws-identitystore-groupmembership.go @@ -14,19 +14,19 @@ import ( type GroupMembership struct { // GroupId AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html#cfn-identitystore-groupmembership-groupid - GroupId *string `json:"GroupId,omitempty"` + GroupId string `json:"GroupId"` // IdentityStoreId AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html#cfn-identitystore-groupmembership-identitystoreid - IdentityStoreId *string `json:"IdentityStoreId,omitempty"` + IdentityStoreId string `json:"IdentityStoreId"` // MemberId AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html#cfn-identitystore-groupmembership-memberid - MemberId interface{} `json:"MemberId,omitempty"` + MemberId interface{} `json:"MemberId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/m2/aws-m2-application.go b/cloudformation/m2/aws-m2-application.go index 604933894c..54b9a57341 100644 --- a/cloudformation/m2/aws-m2-application.go +++ b/cloudformation/m2/aws-m2-application.go @@ -16,7 +16,7 @@ type Application struct { // Definition AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html#cfn-m2-application-definition - Definition interface{} `json:"Definition"` + Definition *Application_Definition `json:"Definition"` // Description AWS CloudFormation Property // Required: false diff --git a/cloudformation/m2/aws-m2-application_content.go b/cloudformation/m2/aws-m2-application_content.go new file mode 100644 index 0000000000..d07a086afe --- /dev/null +++ b/cloudformation/m2/aws-m2-application_content.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package m2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Application_Content AWS CloudFormation Resource (AWS::M2::Application.Content) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-content.html +type Application_Content struct { + + // S3Location AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-content.html#cfn-m2-application-content + S3Location string `json:"S3Location"` + + // 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_Content) AWSCloudFormationType() string { + return "AWS::M2::Application.Content" +} diff --git a/cloudformation/m2/aws-m2-application_definition.go b/cloudformation/m2/aws-m2-application_definition.go index dc08151d30..7e9222764c 100644 --- a/cloudformation/m2/aws-m2-application_definition.go +++ b/cloudformation/m2/aws-m2-application_definition.go @@ -10,6 +10,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-definition.html type Application_Definition struct { + // Content AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-definition.html#cfn-m2-application-definition-content + Content *Application_Content `json:"Content,omitempty"` + + // S3Location AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-definition.html#cfn-m2-application-definition-s3location + S3Location *Application_S3Location `json:"S3Location,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/m2/aws-m2-application_s3location.go b/cloudformation/m2/aws-m2-application_s3location.go new file mode 100644 index 0000000000..3419ad56fb --- /dev/null +++ b/cloudformation/m2/aws-m2-application_s3location.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package m2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Application_S3Location AWS CloudFormation Resource (AWS::M2::Application.S3Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-s3location.html +type Application_S3Location struct { + + // S3Location AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-application-s3location.html#cfn-m2-application-s3location + S3Location string `json:"S3Location"` + + // 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_S3Location) AWSCloudFormationType() string { + return "AWS::M2::Application.S3Location" +} diff --git a/cloudformation/rekognition/aws-rekognition-streamprocessor.go b/cloudformation/rekognition/aws-rekognition-streamprocessor.go index 6bc659b6fa..7f8bce736a 100644 --- a/cloudformation/rekognition/aws-rekognition-streamprocessor.go +++ b/cloudformation/rekognition/aws-rekognition-streamprocessor.go @@ -62,7 +62,7 @@ type StreamProcessor struct { // PolygonRegionsOfInterest AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html#cfn-rekognition-streamprocessor-polygonregionsofinterest - PolygonRegionsOfInterest [][]string `json:"PolygonRegionsOfInterest,omitempty"` + PolygonRegionsOfInterest []StreamProcessor_Polygon `json:"PolygonRegionsOfInterest,omitempty"` // RoleArn AWS CloudFormation Property // Required: true diff --git a/cloudformation/rekognition/aws-rekognition-streamprocessor_point.go b/cloudformation/rekognition/aws-rekognition-streamprocessor_point.go index 770bd97eb5..d4c7a45e15 100644 --- a/cloudformation/rekognition/aws-rekognition-streamprocessor_point.go +++ b/cloudformation/rekognition/aws-rekognition-streamprocessor_point.go @@ -12,12 +12,12 @@ type StreamProcessor_Point struct { // X AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-point.html#cfn-rekognition-streamprocessor-point-x + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-point.html#cfn-rekognition-streamprocessor-x X float64 `json:"X"` // Y AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-point.html#cfn-rekognition-streamprocessor-point-y + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-point.html#cfn-rekognition-streamprocessor-y Y float64 `json:"Y"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/rekognition/aws-rekognition-streamprocessor_polygon.go b/cloudformation/rekognition/aws-rekognition-streamprocessor_polygon.go new file mode 100644 index 0000000000..ffb72692a9 --- /dev/null +++ b/cloudformation/rekognition/aws-rekognition-streamprocessor_polygon.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package rekognition + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StreamProcessor_Polygon AWS CloudFormation Resource (AWS::Rekognition::StreamProcessor.Polygon) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-polygon.html +type StreamProcessor_Polygon struct { + + // Polygon AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-polygon.html#cfn-rekognition-streamprocessor-polygon + Polygon []StreamProcessor_Point `json:"Polygon"` + + // 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 *StreamProcessor_Polygon) AWSCloudFormationType() string { + return "AWS::Rekognition::StreamProcessor.Polygon" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go index b2aaabc553..eb4ee99c4c 100644 --- a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go @@ -15,9 +15,9 @@ import ( type Cell struct { // CellName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html#cfn-route53recoveryreadiness-cell-cellname - CellName string `json:"CellName"` + CellName *string `json:"CellName,omitempty"` // Cells AWS CloudFormation Property // Required: false diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go index 45ecdb3aea..b095c3b74d 100644 --- a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go @@ -15,9 +15,9 @@ import ( type ReadinessCheck struct { // ReadinessCheckName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html#cfn-route53recoveryreadiness-readinesscheck-readinesscheckname - ReadinessCheckName string `json:"ReadinessCheckName"` + ReadinessCheckName *string `json:"ReadinessCheckName,omitempty"` // ResourceSetName AWS CloudFormation Property // Required: false diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go index 30c6f902c5..e51f96656a 100644 --- a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go @@ -20,9 +20,9 @@ type RecoveryGroup struct { Cells []string `json:"Cells,omitempty"` // RecoveryGroupName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html#cfn-route53recoveryreadiness-recoverygroup-recoverygroupname - RecoveryGroupName string `json:"RecoveryGroupName"` + RecoveryGroupName *string `json:"RecoveryGroupName,omitempty"` // Tags AWS CloudFormation Property // Required: false diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go index 6aa3b20fc4..c4ccbe84ec 100644 --- a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go @@ -15,9 +15,9 @@ import ( type ResourceSet struct { // ResourceSetName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html#cfn-route53recoveryreadiness-resourceset-resourcesetname - ResourceSetName string `json:"ResourceSetName"` + ResourceSetName *string `json:"ResourceSetName,omitempty"` // ResourceSetType AWS CloudFormation Property // Required: true diff --git a/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go b/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go index 1d5bdcf1f9..c27a4fcec8 100644 --- a/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go +++ b/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go @@ -10,11 +10,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html type MultiRegionAccessPoint_Region struct { - // AccountId AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-accountid - AccountId *string `json:"AccountId,omitempty"` - // Bucket AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucket diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go index 732bc09539..07c95a8337 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go @@ -29,6 +29,11 @@ type EndpointConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-endpointconfigname EndpointConfigName *string `json:"EndpointConfigName,omitempty"` + // ExplainerConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-explainerconfig + ExplainerConfig *EndpointConfig_ExplainerConfig `json:"ExplainerConfig,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-kmskeyid diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_explainerconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_explainerconfig.go new file mode 100644 index 0000000000..6152b78e5c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_explainerconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EndpointConfig_ExplainerConfig AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.ExplainerConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-explainerconfig.html +type EndpointConfig_ExplainerConfig struct { + + // ClarifyExplainerConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-explainerconfig.html#cfn-sagemaker-endpointconfig-explainerconfig-clarifyexplainerconfig + ClarifyExplainerConfig *EndpointConfig_ClarifyExplainerConfig `json:"ClarifyExplainerConfig,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 *EndpointConfig_ExplainerConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.ExplainerConfig" +} diff --git a/cloudformation/transfer/aws-transfer-agreement.go b/cloudformation/transfer/aws-transfer-agreement.go new file mode 100644 index 0000000000..1c7dfe158b --- /dev/null +++ b/cloudformation/transfer/aws-transfer-agreement.go @@ -0,0 +1,153 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Agreement AWS CloudFormation Resource (AWS::Transfer::Agreement) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html +type Agreement struct { + + // AccessRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-accessrole + AccessRole string `json:"AccessRole"` + + // BaseDirectory AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-basedirectory + BaseDirectory string `json:"BaseDirectory"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-description + Description *string `json:"Description,omitempty"` + + // LocalProfileId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-localprofileid + LocalProfileId string `json:"LocalProfileId"` + + // PartnerProfileId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-partnerprofileid + PartnerProfileId string `json:"PartnerProfileId"` + + // ServerId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-serverid + ServerId string `json:"ServerId"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-status + Status *string `json:"Status,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-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 *Agreement) AWSCloudFormationType() string { + return "AWS::Transfer::Agreement" +} + +// 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 Agreement) MarshalJSON() ([]byte, error) { + type Properties Agreement + 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 *Agreement) UnmarshalJSON(b []byte) error { + type Properties Agreement + 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 = Agreement(*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/transfer/aws-transfer-certificate.go b/cloudformation/transfer/aws-transfer-certificate.go new file mode 100644 index 0000000000..86f54ccb52 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-certificate.go @@ -0,0 +1,153 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Certificate AWS CloudFormation Resource (AWS::Transfer::Certificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html +type Certificate struct { + + // ActiveDate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-activedate + ActiveDate *string `json:"ActiveDate,omitempty"` + + // Certificate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-certificate + Certificate string `json:"Certificate"` + + // CertificateChain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-certificatechain + CertificateChain *string `json:"CertificateChain,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-description + Description *string `json:"Description,omitempty"` + + // InactiveDate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-inactivedate + InactiveDate *string `json:"InactiveDate,omitempty"` + + // PrivateKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-privatekey + PrivateKey *string `json:"PrivateKey,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Usage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html#cfn-transfer-certificate-usage + Usage string `json:"Usage"` + + // 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 *Certificate) AWSCloudFormationType() string { + return "AWS::Transfer::Certificate" +} + +// 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 Certificate) MarshalJSON() ([]byte, error) { + type Properties Certificate + 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 *Certificate) UnmarshalJSON(b []byte) error { + type Properties Certificate + 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 = Certificate(*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/transfer/aws-transfer-connector.go b/cloudformation/transfer/aws-transfer-connector.go new file mode 100644 index 0000000000..46d89248e1 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-connector.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Connector AWS CloudFormation Resource (AWS::Transfer::Connector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html +type Connector struct { + + // AccessRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-accessrole + AccessRole string `json:"AccessRole"` + + // As2Config AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-as2config + As2Config interface{} `json:"As2Config"` + + // LoggingRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-loggingrole + LoggingRole *string `json:"LoggingRole,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Url AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-url + Url string `json:"Url"` + + // 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 *Connector) AWSCloudFormationType() string { + return "AWS::Transfer::Connector" +} + +// 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 Connector) MarshalJSON() ([]byte, error) { + type Properties Connector + 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 *Connector) UnmarshalJSON(b []byte) error { + type Properties Connector + 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 = Connector(*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/transfer/aws-transfer-profile.go b/cloudformation/transfer/aws-transfer-profile.go new file mode 100644 index 0000000000..1f5019c0a2 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-profile.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Profile AWS CloudFormation Resource (AWS::Transfer::Profile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html +type Profile struct { + + // As2Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html#cfn-transfer-profile-as2id + As2Id string `json:"As2Id"` + + // CertificateIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html#cfn-transfer-profile-certificateids + CertificateIds []string `json:"CertificateIds,omitempty"` + + // ProfileType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html#cfn-transfer-profile-profiletype + ProfileType string `json:"ProfileType"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html#cfn-transfer-profile-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 *Profile) AWSCloudFormationType() string { + return "AWS::Transfer::Profile" +} + +// 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 Profile) MarshalJSON() ([]byte, error) { + type Properties Profile + 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 *Profile) UnmarshalJSON(b []byte) error { + type Properties Profile + 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 = Profile(*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 df877b1ed9..7372f6f570 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -70191,6 +70191,291 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72937,6 +73222,10 @@ var CdkSchema = `{ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72955,7 +73244,8 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -73004,6 +73294,11 @@ var CdkSchema = `{ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -73022,7 +73317,8 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96958,7 +97254,7 @@ var CdkSchema = `{ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -97007,9 +97303,40 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119155,7 +119482,7 @@ var CdkSchema = `{ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119320,6 +119647,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121814,9 +122156,6 @@ var CdkSchema = `{ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121835,8 +122174,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121888,9 +122226,6 @@ var CdkSchema = `{ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121909,8 +122244,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121965,9 +122299,6 @@ var CdkSchema = `{ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121986,8 +122317,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -122046,7 +122376,6 @@ var CdkSchema = `{ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124351,9 +124680,6 @@ var CdkSchema = `{ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130310,6 +130636,9 @@ var CdkSchema = `{ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130599,6 +130928,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -138150,6 +138488,352 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -145033,6 +145717,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -146407,6 +147094,18 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 4449d22938..5c4200aa5d 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -70186,6 +70186,291 @@ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72932,6 +73217,10 @@ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72950,7 +73239,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -72999,6 +73289,11 @@ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -73017,7 +73312,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96953,7 +97249,7 @@ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -97002,9 +97298,40 @@ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119150,7 +119477,7 @@ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119315,6 +119642,21 @@ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121809,9 +122151,6 @@ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121830,8 +122169,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121883,9 +122221,6 @@ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121904,8 +122239,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121960,9 +122294,6 @@ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121981,8 +122312,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -122041,7 +122371,6 @@ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124346,9 +124675,6 @@ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130305,6 +130631,9 @@ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130594,6 +130923,15 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -138145,6 +138483,352 @@ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -145028,6 +145712,9 @@ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -146402,6 +147089,18 @@ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index f74638d2b4..87df1b0cbd 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -70130,6 +70130,291 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72876,6 +73161,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72894,7 +73183,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -72943,6 +73233,11 @@ var CloudformationSchema = `{ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -72961,7 +73256,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96897,7 +97193,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -96946,9 +97242,40 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119094,7 +119421,7 @@ var CloudformationSchema = `{ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119259,6 +119586,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121753,9 +122095,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121774,8 +122113,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121827,9 +122165,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121848,8 +122183,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121904,9 +122238,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121925,8 +122256,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121985,7 +122315,6 @@ var CloudformationSchema = `{ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124290,9 +124619,6 @@ var CloudformationSchema = `{ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130249,6 +130575,9 @@ var CloudformationSchema = `{ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130538,6 +130867,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -138089,6 +138427,352 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -144969,6 +145653,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -146343,6 +147030,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index e86ae7bd84..b8dc3fccb7 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -70125,6 +70125,291 @@ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72871,6 +73156,10 @@ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72889,7 +73178,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -72938,6 +73228,11 @@ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -72956,7 +73251,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96892,7 +97188,7 @@ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -96941,9 +97237,40 @@ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119089,7 +119416,7 @@ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119254,6 +119581,21 @@ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121748,9 +122090,6 @@ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121769,8 +122108,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121822,9 +122160,6 @@ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121843,8 +122178,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121899,9 +122233,6 @@ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121920,8 +122251,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121980,7 +122310,6 @@ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124285,9 +124614,6 @@ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130244,6 +130570,9 @@ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130533,6 +130862,15 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -138084,6 +138422,352 @@ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -144964,6 +145648,9 @@ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -146338,6 +147025,18 @@ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/sam.go b/schema/sam.go index 6b99be9cb8..c72a16d522 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -70130,6 +70130,291 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72876,6 +73161,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72894,7 +73183,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -72943,6 +73233,11 @@ var SamSchema = `{ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -72961,7 +73256,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96897,7 +97193,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -96946,9 +97242,40 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119094,7 +119421,7 @@ var SamSchema = `{ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119259,6 +119586,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121753,9 +122095,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121774,8 +122113,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121827,9 +122165,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121848,8 +122183,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121904,9 +122238,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121925,8 +122256,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121985,7 +122315,6 @@ var SamSchema = `{ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124290,9 +124619,6 @@ var SamSchema = `{ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130249,6 +130575,9 @@ var SamSchema = `{ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130538,6 +130867,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -140698,6 +141036,352 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -147867,6 +148551,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -149262,6 +149949,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index bf8d2dbbf4..976e6b23b6 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -70125,6 +70125,291 @@ }, "type": "object" }, + "AWS::GreengrassV2::Deployment": { + "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": { + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification" + } + }, + "type": "object" + }, + "DeploymentName": { + "type": "string" + }, + "DeploymentPolicies": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentPolicies" + }, + "IotJobConfiguration": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate": { + "additionalProperties": false, + "properties": { + "Merge": { + "type": "string" + }, + "Reset": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentDeploymentSpecification": { + "additionalProperties": false, + "properties": { + "ComponentVersion": { + "type": "string" + }, + "ConfigurationUpdate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentConfigurationUpdate" + }, + "RunWith": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.ComponentRunWith" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.ComponentRunWith": { + "additionalProperties": false, + "properties": { + "PosixUser": { + "type": "string" + }, + "SystemResourceLimits": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.SystemResourceLimits" + }, + "WindowsUser": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy": { + "additionalProperties": false, + "properties": { + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration": { + "additionalProperties": false, + "properties": { + "AbortConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortConfig" + }, + "JobExecutionsRolloutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig" + }, + "TimeoutConfig": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.DeploymentPolicies": { + "additionalProperties": false, + "properties": { + "ComponentUpdatePolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentComponentUpdatePolicy" + }, + "ConfigurationValidationPolicy": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentConfigurationValidationPolicy" + }, + "FailureHandlingPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortConfig": { + "additionalProperties": false, + "properties": { + "CriteriaList": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobAbortCriteria" + }, + "type": "array" + } + }, + "required": [ + "CriteriaList" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "FailureType": { + "type": "string" + }, + "MinNumberOfExecutedThings": { + "type": "number" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "required": [ + "Action", + "FailureType", + "MinNumberOfExecutedThings", + "ThresholdPercentage" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExecutionsRolloutConfig": { + "additionalProperties": false, + "properties": { + "ExponentialRate": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate" + }, + "MaximumPerMinute": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobExponentialRolloutRate": { + "additionalProperties": false, + "properties": { + "BaseRatePerMinute": { + "type": "number" + }, + "IncrementFactor": { + "type": "number" + }, + "RateIncreaseCriteria": { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria" + } + }, + "required": [ + "BaseRatePerMinute", + "IncrementFactor", + "RateIncreaseCriteria" + ], + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobRateIncreaseCriteria": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.IoTJobTimeoutConfig": { + "additionalProperties": false, + "properties": { + "InProgressTimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::Deployment.SystemResourceLimits": { + "additionalProperties": false, + "properties": { + "Cpus": { + "type": "number" + }, + "Memory": { + "type": "number" + } + }, + "type": "object" + }, "AWS::GroundStation::Config": { "additionalProperties": false, "properties": { @@ -72871,6 +73156,10 @@ "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { @@ -72889,7 +73178,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -72938,6 +73228,11 @@ "type": "object" } }, + "required": [ + "GroupId", + "IdentityStoreId", + "MemberId" + ], "type": "object" }, "Type": { @@ -72956,7 +73251,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -96892,7 +97188,7 @@ "additionalProperties": false, "properties": { "Definition": { - "type": "object" + "$ref": "#/definitions/AWS::M2::Application.Definition" }, "Description": { "type": "string" @@ -96941,9 +97237,40 @@ ], "type": "object" }, + "AWS::M2::Application.Content": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, "AWS::M2::Application.Definition": { "additionalProperties": false, - "properties": {}, + "properties": { + "Content": { + "$ref": "#/definitions/AWS::M2::Application.Content" + }, + "S3Location": { + "$ref": "#/definitions/AWS::M2::Application.S3Location" + } + }, + "type": "object" + }, + "AWS::M2::Application.S3Location": { + "additionalProperties": false, + "properties": { + "S3Location": { + "type": "string" + } + }, + "required": [ + "S3Location" + ], "type": "object" }, "AWS::M2::Environment": { @@ -119089,7 +119416,7 @@ }, "PolygonRegionsOfInterest": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Polygon" }, "type": "array" }, @@ -119254,6 +119581,21 @@ ], "type": "object" }, + "AWS::Rekognition::StreamProcessor.Polygon": { + "additionalProperties": false, + "properties": { + "Polygon": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.Point" + }, + "type": "array" + } + }, + "required": [ + "Polygon" + ], + "type": "object" + }, "AWS::Rekognition::StreamProcessor.S3Destination": { "additionalProperties": false, "properties": { @@ -121748,9 +122090,6 @@ "type": "array" } }, - "required": [ - "CellName" - ], "type": "object" }, "Type": { @@ -121769,8 +122108,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121822,9 +122160,6 @@ "type": "array" } }, - "required": [ - "ReadinessCheckName" - ], "type": "object" }, "Type": { @@ -121843,8 +122178,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121899,9 +122233,6 @@ "type": "array" } }, - "required": [ - "RecoveryGroupName" - ], "type": "object" }, "Type": { @@ -121920,8 +122251,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -121980,7 +122310,6 @@ } }, "required": [ - "ResourceSetName", "ResourceSetType", "Resources" ], @@ -124285,9 +124614,6 @@ "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, "Bucket": { "type": "string" } @@ -130244,6 +130570,9 @@ "EndpointConfigName": { "type": "string" }, + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" + }, "KmsKeyId": { "type": "string" }, @@ -130533,6 +130862,15 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { + "additionalProperties": false, + "properties": { + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -140693,6 +141031,352 @@ ], "type": "object" }, + "AWS::Transfer::Agreement": { + "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": { + "AccessRole": { + "type": "string" + }, + "BaseDirectory": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalProfileId": { + "type": "string" + }, + "PartnerProfileId": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessRole", + "BaseDirectory", + "LocalProfileId", + "PartnerProfileId", + "ServerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Agreement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Certificate": { + "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": { + "ActiveDate": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InactiveDate": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Usage": { + "type": "string" + } + }, + "required": [ + "Certificate", + "Usage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Connector": { + "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": { + "AccessRole": { + "type": "string" + }, + "As2Config": { + "type": "object" + }, + "LoggingRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "AccessRole", + "As2Config", + "Url" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Profile": { + "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": { + "As2Id": { + "type": "string" + }, + "CertificateIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "As2Id", + "ProfileType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transfer::Server": { "additionalProperties": false, "properties": { @@ -147862,6 +148546,9 @@ { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::Deployment" + }, { "$ref": "#/definitions/AWS::GroundStation::Config" }, @@ -149257,6 +149944,18 @@ { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transfer::Agreement" + }, + { + "$ref": "#/definitions/AWS::Transfer::Certificate" + }, + { + "$ref": "#/definitions/AWS::Transfer::Connector" + }, + { + "$ref": "#/definitions/AWS::Transfer::Profile" + }, { "$ref": "#/definitions/AWS::Transfer::Server" },