From 95c8bf594275cfcd9e3464dadb2e48c6c45357ff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 May 2021 10:44:24 +0400 Subject: [PATCH] fix(schema): CloudFormation Updates (#372) Co-authored-by: Paul Maddox --- cloudformation/all.go | 77 +++ .../apprunner/aws-apprunner-service.go | 137 +++++ ...ner-service_authenticationconfiguration.go | 40 ++ ...aws-apprunner-service_codeconfiguration.go | 40 ++ ...prunner-service_codeconfigurationvalues.go | 55 ++ .../aws-apprunner-service_coderepository.go | 45 ++ ...prunner-service_encryptionconfiguration.go | 35 ++ ...runner-service_healthcheckconfiguration.go | 60 +++ ...ws-apprunner-service_imageconfiguration.go | 45 ++ .../aws-apprunner-service_imagerepository.go | 45 ++ ...apprunner-service_instanceconfiguration.go | 45 ++ .../aws-apprunner-service_keyvaluepair.go | 40 ++ ...aws-apprunner-service_sourcecodeversion.go | 40 ++ ...s-apprunner-service_sourceconfiguration.go | 50 ++ ...aws-ec2-transitgatewaypeeringattachment.go | 127 +++++ ...ws-iotcoredeviceadvisor-suitedefinition.go | 112 ++++ .../mediapackage/aws-mediapackage-channel.go | 10 + ...s-mediapackage-channel_logconfiguration.go | 35 ++ ...iapackage-originendpoint_cmafencryption.go | 5 + ...mediapackage-originendpoint_dashpackage.go | 10 + ...kage-packagingconfiguration_cmafpackage.go | 5 + ...kage-packagingconfiguration_dashpackage.go | 5 + .../aws-mediapackage-packaginggroup.go | 5 + ...package-packaginggroup_logconfiguration.go | 35 ++ schema/cloudformation.go | 489 ++++++++++++++++++ schema/cloudformation.schema.json | 489 ++++++++++++++++++ schema/sam.go | 489 ++++++++++++++++++ schema/sam.schema.json | 489 ++++++++++++++++++ 28 files changed, 3059 insertions(+) create mode 100644 cloudformation/apprunner/aws-apprunner-service.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_authenticationconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_codeconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_codeconfigurationvalues.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_coderepository.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_encryptionconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_healthcheckconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_imageconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_imagerepository.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_instanceconfiguration.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_keyvaluepair.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_sourcecodeversion.go create mode 100644 cloudformation/apprunner/aws-apprunner-service_sourceconfiguration.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewaypeeringattachment.go create mode 100644 cloudformation/iotcoredeviceadvisor/aws-iotcoredeviceadvisor-suitedefinition.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-channel_logconfiguration.go create mode 100644 cloudformation/mediapackage/aws-mediapackage-packaginggroup_logconfiguration.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 481a8525f2..d63571049a 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -14,6 +14,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/applicationautoscaling" "github.com/awslabs/goformation/v4/cloudformation/applicationinsights" "github.com/awslabs/goformation/v4/cloudformation/appmesh" + "github.com/awslabs/goformation/v4/cloudformation/apprunner" "github.com/awslabs/goformation/v4/cloudformation/appstream" "github.com/awslabs/goformation/v4/cloudformation/appsync" "github.com/awslabs/goformation/v4/cloudformation/ask" @@ -89,6 +90,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/iot" "github.com/awslabs/goformation/v4/cloudformation/iot1click" "github.com/awslabs/goformation/v4/cloudformation/iotanalytics" + "github.com/awslabs/goformation/v4/cloudformation/iotcoredeviceadvisor" "github.com/awslabs/goformation/v4/cloudformation/iotevents" "github.com/awslabs/goformation/v4/cloudformation/iotfleethub" "github.com/awslabs/goformation/v4/cloudformation/iotsitewise" @@ -224,6 +226,7 @@ func AllResources() map[string]Resource { "AWS::AppMesh::VirtualNode": &appmesh.VirtualNode{}, "AWS::AppMesh::VirtualRouter": &appmesh.VirtualRouter{}, "AWS::AppMesh::VirtualService": &appmesh.VirtualService{}, + "AWS::AppRunner::Service": &apprunner.Service{}, "AWS::AppStream::DirectoryConfig": &appstream.DirectoryConfig{}, "AWS::AppStream::Fleet": &appstream.Fleet{}, "AWS::AppStream::ImageBuilder": &appstream.ImageBuilder{}, @@ -425,6 +428,7 @@ func AllResources() map[string]Resource { "AWS::EC2::TransitGatewayMulticastDomainAssociation": &ec2.TransitGatewayMulticastDomainAssociation{}, "AWS::EC2::TransitGatewayMulticastGroupMember": &ec2.TransitGatewayMulticastGroupMember{}, "AWS::EC2::TransitGatewayMulticastGroupSource": &ec2.TransitGatewayMulticastGroupSource{}, + "AWS::EC2::TransitGatewayPeeringAttachment": &ec2.TransitGatewayPeeringAttachment{}, "AWS::EC2::TransitGatewayRoute": &ec2.TransitGatewayRoute{}, "AWS::EC2::TransitGatewayRouteTable": &ec2.TransitGatewayRouteTable{}, "AWS::EC2::TransitGatewayRouteTableAssociation": &ec2.TransitGatewayRouteTableAssociation{}, @@ -615,6 +619,7 @@ func AllResources() map[string]Resource { "AWS::IoTAnalytics::Dataset": &iotanalytics.Dataset{}, "AWS::IoTAnalytics::Datastore": &iotanalytics.Datastore{}, "AWS::IoTAnalytics::Pipeline": &iotanalytics.Pipeline{}, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": &iotcoredeviceadvisor.SuiteDefinition{}, "AWS::IoTEvents::DetectorModel": &iotevents.DetectorModel{}, "AWS::IoTEvents::Input": &iotevents.Input{}, "AWS::IoTFleetHub::Application": &iotfleethub.Application{}, @@ -2324,6 +2329,30 @@ func (t *Template) GetAppMeshVirtualServiceWithName(name string) (*appmesh.Virtu return nil, fmt.Errorf("resource %q of type appmesh.VirtualService not found", name) } +// GetAllAppRunnerServiceResources retrieves all apprunner.Service items from an AWS CloudFormation template +func (t *Template) GetAllAppRunnerServiceResources() map[string]*apprunner.Service { + results := map[string]*apprunner.Service{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *apprunner.Service: + results[name] = resource + } + } + return results +} + +// GetAppRunnerServiceWithName retrieves all apprunner.Service items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppRunnerServiceWithName(name string) (*apprunner.Service, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *apprunner.Service: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type apprunner.Service not found", name) +} + // GetAllAppStreamDirectoryConfigResources retrieves all appstream.DirectoryConfig items from an AWS CloudFormation template func (t *Template) GetAllAppStreamDirectoryConfigResources() map[string]*appstream.DirectoryConfig { results := map[string]*appstream.DirectoryConfig{} @@ -7148,6 +7177,30 @@ func (t *Template) GetEC2TransitGatewayMulticastGroupSourceWithName(name string) return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayMulticastGroupSource not found", name) } +// GetAllEC2TransitGatewayPeeringAttachmentResources retrieves all ec2.TransitGatewayPeeringAttachment items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayPeeringAttachmentResources() map[string]*ec2.TransitGatewayPeeringAttachment { + results := map[string]*ec2.TransitGatewayPeeringAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayPeeringAttachment: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayPeeringAttachmentWithName retrieves all ec2.TransitGatewayPeeringAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayPeeringAttachmentWithName(name string) (*ec2.TransitGatewayPeeringAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayPeeringAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayPeeringAttachment not found", name) +} + // GetAllEC2TransitGatewayRouteResources retrieves all ec2.TransitGatewayRoute items from an AWS CloudFormation template func (t *Template) GetAllEC2TransitGatewayRouteResources() map[string]*ec2.TransitGatewayRoute { results := map[string]*ec2.TransitGatewayRoute{} @@ -11708,6 +11761,30 @@ func (t *Template) GetIoTAnalyticsPipelineWithName(name string) (*iotanalytics.P return nil, fmt.Errorf("resource %q of type iotanalytics.Pipeline not found", name) } +// GetAllIoTCoreDeviceAdvisorSuiteDefinitionResources retrieves all iotcoredeviceadvisor.SuiteDefinition items from an AWS CloudFormation template +func (t *Template) GetAllIoTCoreDeviceAdvisorSuiteDefinitionResources() map[string]*iotcoredeviceadvisor.SuiteDefinition { + results := map[string]*iotcoredeviceadvisor.SuiteDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iotcoredeviceadvisor.SuiteDefinition: + results[name] = resource + } + } + return results +} + +// GetIoTCoreDeviceAdvisorSuiteDefinitionWithName retrieves all iotcoredeviceadvisor.SuiteDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTCoreDeviceAdvisorSuiteDefinitionWithName(name string) (*iotcoredeviceadvisor.SuiteDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iotcoredeviceadvisor.SuiteDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iotcoredeviceadvisor.SuiteDefinition not found", name) +} + // GetAllIoTEventsDetectorModelResources retrieves all iotevents.DetectorModel items from an AWS CloudFormation template func (t *Template) GetAllIoTEventsDetectorModelResources() map[string]*iotevents.DetectorModel { results := map[string]*iotevents.DetectorModel{} diff --git a/cloudformation/apprunner/aws-apprunner-service.go b/cloudformation/apprunner/aws-apprunner-service.go new file mode 100644 index 0000000000..0f18814642 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service.go @@ -0,0 +1,137 @@ +package apprunner + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Service AWS CloudFormation Resource (AWS::AppRunner::Service) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html +type Service struct { + + // AutoScalingConfigurationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-autoscalingconfigurationarn + AutoScalingConfigurationArn string `json:"AutoScalingConfigurationArn,omitempty"` + + // EncryptionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-encryptionconfiguration + EncryptionConfiguration *Service_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` + + // HealthCheckConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-healthcheckconfiguration + HealthCheckConfiguration *Service_HealthCheckConfiguration `json:"HealthCheckConfiguration,omitempty"` + + // InstanceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-instanceconfiguration + InstanceConfiguration *Service_InstanceConfiguration `json:"InstanceConfiguration,omitempty"` + + // ServiceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-servicename + ServiceName string `json:"ServiceName,omitempty"` + + // SourceConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-sourceconfiguration + SourceConfiguration *Service_SourceConfiguration `json:"SourceConfiguration,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-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 *Service) AWSCloudFormationType() string { + return "AWS::AppRunner::Service" +} + +// 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 Service) MarshalJSON() ([]byte, error) { + type Properties Service + 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 *Service) UnmarshalJSON(b []byte) error { + type Properties Service + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Service(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/apprunner/aws-apprunner-service_authenticationconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_authenticationconfiguration.go new file mode 100644 index 0000000000..b25e2d87aa --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_authenticationconfiguration.go @@ -0,0 +1,40 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_AuthenticationConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.AuthenticationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-authenticationconfiguration.html +type Service_AuthenticationConfiguration struct { + + // AccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-authenticationconfiguration.html#cfn-apprunner-service-authenticationconfiguration-accessrolearn + AccessRoleArn string `json:"AccessRoleArn,omitempty"` + + // ConnectionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-authenticationconfiguration.html#cfn-apprunner-service-authenticationconfiguration-connectionarn + ConnectionArn string `json:"ConnectionArn,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 *Service_AuthenticationConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.AuthenticationConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_codeconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_codeconfiguration.go new file mode 100644 index 0000000000..cff101c9f4 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_codeconfiguration.go @@ -0,0 +1,40 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_CodeConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.CodeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfiguration.html +type Service_CodeConfiguration struct { + + // CodeConfigurationValues AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfiguration.html#cfn-apprunner-service-codeconfiguration-codeconfigurationvalues + CodeConfigurationValues *Service_CodeConfigurationValues `json:"CodeConfigurationValues,omitempty"` + + // ConfigurationSource AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfiguration.html#cfn-apprunner-service-codeconfiguration-configurationsource + ConfigurationSource string `json:"ConfigurationSource,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 *Service_CodeConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.CodeConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_codeconfigurationvalues.go b/cloudformation/apprunner/aws-apprunner-service_codeconfigurationvalues.go new file mode 100644 index 0000000000..1ef419277b --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_codeconfigurationvalues.go @@ -0,0 +1,55 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_CodeConfigurationValues AWS CloudFormation Resource (AWS::AppRunner::Service.CodeConfigurationValues) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html +type Service_CodeConfigurationValues struct { + + // BuildCommand AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html#cfn-apprunner-service-codeconfigurationvalues-buildcommand + BuildCommand string `json:"BuildCommand,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html#cfn-apprunner-service-codeconfigurationvalues-port + Port string `json:"Port,omitempty"` + + // Runtime AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html#cfn-apprunner-service-codeconfigurationvalues-runtime + Runtime string `json:"Runtime,omitempty"` + + // RuntimeEnvironmentVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html#cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentvariables + RuntimeEnvironmentVariables []Service_KeyValuePair `json:"RuntimeEnvironmentVariables,omitempty"` + + // StartCommand AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfigurationvalues.html#cfn-apprunner-service-codeconfigurationvalues-startcommand + StartCommand string `json:"StartCommand,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 *Service_CodeConfigurationValues) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.CodeConfigurationValues" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_coderepository.go b/cloudformation/apprunner/aws-apprunner-service_coderepository.go new file mode 100644 index 0000000000..f916bab1d6 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_coderepository.go @@ -0,0 +1,45 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_CodeRepository AWS CloudFormation Resource (AWS::AppRunner::Service.CodeRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-coderepository.html +type Service_CodeRepository struct { + + // CodeConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-coderepository.html#cfn-apprunner-service-coderepository-codeconfiguration + CodeConfiguration *Service_CodeConfiguration `json:"CodeConfiguration,omitempty"` + + // RepositoryUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-coderepository.html#cfn-apprunner-service-coderepository-repositoryurl + RepositoryUrl string `json:"RepositoryUrl,omitempty"` + + // SourceCodeVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-coderepository.html#cfn-apprunner-service-coderepository-sourcecodeversion + SourceCodeVersion *Service_SourceCodeVersion `json:"SourceCodeVersion,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 *Service_CodeRepository) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.CodeRepository" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_encryptionconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_encryptionconfiguration.go new file mode 100644 index 0000000000..56af27b0c5 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_encryptionconfiguration.go @@ -0,0 +1,35 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_EncryptionConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.EncryptionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-encryptionconfiguration.html +type Service_EncryptionConfiguration struct { + + // KmsKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-encryptionconfiguration.html#cfn-apprunner-service-encryptionconfiguration-kmskey + KmsKey string `json:"KmsKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Service_EncryptionConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.EncryptionConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_healthcheckconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_healthcheckconfiguration.go new file mode 100644 index 0000000000..e8ea27cc85 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_healthcheckconfiguration.go @@ -0,0 +1,60 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_HealthCheckConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.HealthCheckConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html +type Service_HealthCheckConfiguration struct { + + // HealthyThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-healthythreshold + HealthyThreshold int `json:"HealthyThreshold,omitempty"` + + // Interval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-interval + Interval int `json:"Interval,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-path + Path string `json:"Path,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-protocol + Protocol string `json:"Protocol,omitempty"` + + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-timeout + Timeout int `json:"Timeout,omitempty"` + + // UnhealthyThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-healthcheckconfiguration.html#cfn-apprunner-service-healthcheckconfiguration-unhealthythreshold + UnhealthyThreshold int `json:"UnhealthyThreshold,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 *Service_HealthCheckConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.HealthCheckConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_imageconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_imageconfiguration.go new file mode 100644 index 0000000000..1b373024c7 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_imageconfiguration.go @@ -0,0 +1,45 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_ImageConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.ImageConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html +type Service_ImageConfiguration struct { + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-port + Port string `json:"Port,omitempty"` + + // RuntimeEnvironmentVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-runtimeenvironmentvariables + RuntimeEnvironmentVariables []Service_KeyValuePair `json:"RuntimeEnvironmentVariables,omitempty"` + + // StartCommand AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-startcommand + StartCommand string `json:"StartCommand,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 *Service_ImageConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.ImageConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_imagerepository.go b/cloudformation/apprunner/aws-apprunner-service_imagerepository.go new file mode 100644 index 0000000000..e7672ff307 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_imagerepository.go @@ -0,0 +1,45 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_ImageRepository AWS CloudFormation Resource (AWS::AppRunner::Service.ImageRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html +type Service_ImageRepository struct { + + // ImageConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html#cfn-apprunner-service-imagerepository-imageconfiguration + ImageConfiguration *Service_ImageConfiguration `json:"ImageConfiguration,omitempty"` + + // ImageIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html#cfn-apprunner-service-imagerepository-imageidentifier + ImageIdentifier string `json:"ImageIdentifier,omitempty"` + + // ImageRepositoryType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html#cfn-apprunner-service-imagerepository-imagerepositorytype + ImageRepositoryType string `json:"ImageRepositoryType,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 *Service_ImageRepository) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.ImageRepository" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_instanceconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_instanceconfiguration.go new file mode 100644 index 0000000000..e605e6e46d --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_instanceconfiguration.go @@ -0,0 +1,45 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_InstanceConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.InstanceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-instanceconfiguration.html +type Service_InstanceConfiguration struct { + + // Cpu AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-instanceconfiguration.html#cfn-apprunner-service-instanceconfiguration-cpu + Cpu string `json:"Cpu,omitempty"` + + // InstanceRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-instanceconfiguration.html#cfn-apprunner-service-instanceconfiguration-instancerolearn + InstanceRoleArn string `json:"InstanceRoleArn,omitempty"` + + // Memory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-instanceconfiguration.html#cfn-apprunner-service-instanceconfiguration-memory + Memory string `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 *Service_InstanceConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.InstanceConfiguration" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_keyvaluepair.go b/cloudformation/apprunner/aws-apprunner-service_keyvaluepair.go new file mode 100644 index 0000000000..3a67a0814c --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_keyvaluepair.go @@ -0,0 +1,40 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_KeyValuePair AWS CloudFormation Resource (AWS::AppRunner::Service.KeyValuePair) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-keyvaluepair.html +type Service_KeyValuePair struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-keyvaluepair.html#cfn-apprunner-service-keyvaluepair-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-keyvaluepair.html#cfn-apprunner-service-keyvaluepair-value + Value string `json:"Value,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 *Service_KeyValuePair) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.KeyValuePair" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_sourcecodeversion.go b/cloudformation/apprunner/aws-apprunner-service_sourcecodeversion.go new file mode 100644 index 0000000000..3a45841f50 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_sourcecodeversion.go @@ -0,0 +1,40 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_SourceCodeVersion AWS CloudFormation Resource (AWS::AppRunner::Service.SourceCodeVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourcecodeversion.html +type Service_SourceCodeVersion struct { + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourcecodeversion.html#cfn-apprunner-service-sourcecodeversion-type + Type string `json:"Type,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourcecodeversion.html#cfn-apprunner-service-sourcecodeversion-value + Value string `json:"Value,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 *Service_SourceCodeVersion) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.SourceCodeVersion" +} diff --git a/cloudformation/apprunner/aws-apprunner-service_sourceconfiguration.go b/cloudformation/apprunner/aws-apprunner-service_sourceconfiguration.go new file mode 100644 index 0000000000..43f2d5ed35 --- /dev/null +++ b/cloudformation/apprunner/aws-apprunner-service_sourceconfiguration.go @@ -0,0 +1,50 @@ +package apprunner + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_SourceConfiguration AWS CloudFormation Resource (AWS::AppRunner::Service.SourceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html +type Service_SourceConfiguration struct { + + // AuthenticationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-authenticationconfiguration + AuthenticationConfiguration *Service_AuthenticationConfiguration `json:"AuthenticationConfiguration,omitempty"` + + // AutoDeploymentsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-autodeploymentsenabled + AutoDeploymentsEnabled bool `json:"AutoDeploymentsEnabled,omitempty"` + + // CodeRepository AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-coderepository + CodeRepository *Service_CodeRepository `json:"CodeRepository,omitempty"` + + // ImageRepository AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-imagerepository + ImageRepository *Service_ImageRepository `json:"ImageRepository,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 *Service_SourceConfiguration) AWSCloudFormationType() string { + return "AWS::AppRunner::Service.SourceConfiguration" +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewaypeeringattachment.go b/cloudformation/ec2/aws-ec2-transitgatewaypeeringattachment.go new file mode 100644 index 0000000000..75835b8a65 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewaypeeringattachment.go @@ -0,0 +1,127 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// TransitGatewayPeeringAttachment AWS CloudFormation Resource (AWS::EC2::TransitGatewayPeeringAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html +type TransitGatewayPeeringAttachment struct { + + // PeerAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peeraccountid + PeerAccountId string `json:"PeerAccountId,omitempty"` + + // PeerRegion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peerregion + PeerRegion string `json:"PeerRegion,omitempty"` + + // PeerTransitGatewayId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peertransitgatewayid + PeerTransitGatewayId string `json:"PeerTransitGatewayId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TransitGatewayId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-transitgatewayid + TransitGatewayId string `json:"TransitGatewayId,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 *TransitGatewayPeeringAttachment) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayPeeringAttachment" +} + +// 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 TransitGatewayPeeringAttachment) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayPeeringAttachment + 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 *TransitGatewayPeeringAttachment) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayPeeringAttachment + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = TransitGatewayPeeringAttachment(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotcoredeviceadvisor/aws-iotcoredeviceadvisor-suitedefinition.go b/cloudformation/iotcoredeviceadvisor/aws-iotcoredeviceadvisor-suitedefinition.go new file mode 100644 index 0000000000..125bc96157 --- /dev/null +++ b/cloudformation/iotcoredeviceadvisor/aws-iotcoredeviceadvisor-suitedefinition.go @@ -0,0 +1,112 @@ +package iotcoredeviceadvisor + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// SuiteDefinition AWS CloudFormation Resource (AWS::IoTCoreDeviceAdvisor::SuiteDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html +type SuiteDefinition struct { + + // SuiteDefinitionConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html#cfn-iotcoredeviceadvisor-suitedefinition-suitedefinitionconfiguration + SuiteDefinitionConfiguration interface{} `json:"SuiteDefinitionConfiguration,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html#cfn-iotcoredeviceadvisor-suitedefinition-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 *SuiteDefinition) AWSCloudFormationType() string { + return "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" +} + +// 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 SuiteDefinition) MarshalJSON() ([]byte, error) { + type Properties SuiteDefinition + 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 *SuiteDefinition) UnmarshalJSON(b []byte) error { + type Properties SuiteDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = SuiteDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediapackage/aws-mediapackage-channel.go b/cloudformation/mediapackage/aws-mediapackage-channel.go index 9a3c1901fa..fc0cdb806a 100644 --- a/cloudformation/mediapackage/aws-mediapackage-channel.go +++ b/cloudformation/mediapackage/aws-mediapackage-channel.go @@ -18,11 +18,21 @@ type Channel struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-description Description string `json:"Description,omitempty"` + // EgressAccessLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-egressaccesslogs + EgressAccessLogs *Channel_LogConfiguration `json:"EgressAccessLogs,omitempty"` + // Id AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-id Id string `json:"Id,omitempty"` + // IngressAccessLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-ingressaccesslogs + IngressAccessLogs *Channel_LogConfiguration `json:"IngressAccessLogs,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-tags diff --git a/cloudformation/mediapackage/aws-mediapackage-channel_logconfiguration.go b/cloudformation/mediapackage/aws-mediapackage-channel_logconfiguration.go new file mode 100644 index 0000000000..3f4d0df4e0 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-channel_logconfiguration.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_LogConfiguration AWS CloudFormation Resource (AWS::MediaPackage::Channel.LogConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-logconfiguration.html +type Channel_LogConfiguration struct { + + // LogGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-logconfiguration.html#cfn-mediapackage-channel-logconfiguration-loggroupname + LogGroupName string `json:"LogGroupName,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 *Channel_LogConfiguration) AWSCloudFormationType() string { + return "AWS::MediaPackage::Channel.LogConfiguration" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go index 1920609b06..36a316e052 100644 --- a/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_cmafencryption.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html type OriginEndpoint_CmafEncryption struct { + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + // KeyRotationIntervalSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-keyrotationintervalseconds diff --git a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go index 44b54de88e..91bf0f9284 100644 --- a/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go +++ b/cloudformation/mediapackage/aws-mediapackage-originendpoint_dashpackage.go @@ -73,6 +73,16 @@ type OriginEndpoint_DashPackage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-suggestedpresentationdelayseconds SuggestedPresentationDelaySeconds int `json:"SuggestedPresentationDelaySeconds,omitempty"` + // UtcTiming AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-utctiming + UtcTiming string `json:"UtcTiming,omitempty"` + + // UtcTimingUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-utctiminguri + UtcTimingUri string `json:"UtcTimingUri,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go index 28f90d43c5..74144eda21 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafpackage.go @@ -18,6 +18,11 @@ type PackagingConfiguration_CmafPackage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-hlsmanifests HlsManifests []PackagingConfiguration_HlsManifest `json:"HlsManifests,omitempty"` + // IncludeEncoderConfigurationInSegments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-includeencoderconfigurationinsegments + IncludeEncoderConfigurationInSegments bool `json:"IncludeEncoderConfigurationInSegments,omitempty"` + // SegmentDurationSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-segmentdurationseconds diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go index 40725b1a23..336223950f 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashpackage.go @@ -18,6 +18,11 @@ type PackagingConfiguration_DashPackage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-encryption Encryption *PackagingConfiguration_DashEncryption `json:"Encryption,omitempty"` + // IncludeEncoderConfigurationInSegments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-includeencoderconfigurationinsegments + IncludeEncoderConfigurationInSegments bool `json:"IncludeEncoderConfigurationInSegments,omitempty"` + // PeriodTriggers AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-periodtriggers diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go index 629082413c..69281d6484 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup.go @@ -18,6 +18,11 @@ type PackagingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-authorization Authorization *PackagingGroup_Authorization `json:"Authorization,omitempty"` + // EgressAccessLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-egressaccesslogs + EgressAccessLogs *PackagingGroup_LogConfiguration `json:"EgressAccessLogs,omitempty"` + // Id AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-id diff --git a/cloudformation/mediapackage/aws-mediapackage-packaginggroup_logconfiguration.go b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_logconfiguration.go new file mode 100644 index 0000000000..697ea99771 --- /dev/null +++ b/cloudformation/mediapackage/aws-mediapackage-packaginggroup_logconfiguration.go @@ -0,0 +1,35 @@ +package mediapackage + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PackagingGroup_LogConfiguration AWS CloudFormation Resource (AWS::MediaPackage::PackagingGroup.LogConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-logconfiguration.html +type PackagingGroup_LogConfiguration struct { + + // LogGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-logconfiguration.html#cfn-mediapackage-packaginggroup-logconfiguration-loggroupname + LogGroupName string `json:"LogGroupName,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 *PackagingGroup_LogConfiguration) AWSCloudFormationType() string { + return "AWS::MediaPackage::PackagingGroup.LogConfiguration" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 9e3a2c5b8e..15e183a290 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -9502,6 +9502,296 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, "AWS::AppStream::DirectoryConfig": { "additionalProperties": false, "properties": { @@ -36929,6 +37219,86 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { @@ -61958,6 +62328,74 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { @@ -76410,9 +76848,15 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Id": { "type": "string" }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -76446,6 +76890,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -76573,6 +77026,9 @@ var CloudformationSchema = `{ "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { "additionalProperties": false, "properties": { + "ConstantInitializationVector": { + "type": "string" + }, "KeyRotationIntervalSeconds": { "type": "number" }, @@ -76671,6 +77127,12 @@ var CloudformationSchema = `{ }, "SuggestedPresentationDelaySeconds": { "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" } }, "type": "object" @@ -76966,6 +77428,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "SegmentDurationSeconds": { "type": "number" } @@ -77020,6 +77485,9 @@ var CloudformationSchema = `{ "Encryption": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "PeriodTriggers": { "items": { "type": "string" @@ -77222,6 +77690,9 @@ var CloudformationSchema = `{ "Authorization": { "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, "Id": { "type": "string" }, @@ -77274,6 +77745,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaStore::Container": { "additionalProperties": false, "properties": { @@ -107078,6 +107558,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppMesh::VirtualService" }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, { "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" }, @@ -107681,6 +108164,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -108251,6 +108737,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 2af87eb8c0..c39147b48a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -9499,6 +9499,296 @@ }, "type": "object" }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, "AWS::AppStream::DirectoryConfig": { "additionalProperties": false, "properties": { @@ -36926,6 +37216,86 @@ ], "type": "object" }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { @@ -61955,6 +62325,74 @@ }, "type": "object" }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { @@ -76407,9 +76845,15 @@ "Description": { "type": "string" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Id": { "type": "string" }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -76443,6 +76887,15 @@ ], "type": "object" }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -76570,6 +77023,9 @@ "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { "additionalProperties": false, "properties": { + "ConstantInitializationVector": { + "type": "string" + }, "KeyRotationIntervalSeconds": { "type": "number" }, @@ -76668,6 +77124,12 @@ }, "SuggestedPresentationDelaySeconds": { "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" } }, "type": "object" @@ -76963,6 +77425,9 @@ }, "type": "array" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "SegmentDurationSeconds": { "type": "number" } @@ -77017,6 +77482,9 @@ "Encryption": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "PeriodTriggers": { "items": { "type": "string" @@ -77219,6 +77687,9 @@ "Authorization": { "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, "Id": { "type": "string" }, @@ -77271,6 +77742,15 @@ ], "type": "object" }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaStore::Container": { "additionalProperties": false, "properties": { @@ -107075,6 +107555,9 @@ { "$ref": "#/definitions/AWS::AppMesh::VirtualService" }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, { "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" }, @@ -107678,6 +108161,9 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -108248,6 +108734,9 @@ { "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" }, diff --git a/schema/sam.go b/schema/sam.go index efe7de1e99..e2cf6338b0 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -9502,6 +9502,296 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, "AWS::AppStream::DirectoryConfig": { "additionalProperties": false, "properties": { @@ -36929,6 +37219,86 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { @@ -61958,6 +62328,74 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { @@ -76410,9 +76848,15 @@ var SamSchema = `{ "Description": { "type": "string" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Id": { "type": "string" }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -76446,6 +76890,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -76573,6 +77026,9 @@ var SamSchema = `{ "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { "additionalProperties": false, "properties": { + "ConstantInitializationVector": { + "type": "string" + }, "KeyRotationIntervalSeconds": { "type": "number" }, @@ -76671,6 +77127,12 @@ var SamSchema = `{ }, "SuggestedPresentationDelaySeconds": { "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" } }, "type": "object" @@ -76966,6 +77428,9 @@ var SamSchema = `{ }, "type": "array" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "SegmentDurationSeconds": { "type": "number" } @@ -77020,6 +77485,9 @@ var SamSchema = `{ "Encryption": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "PeriodTriggers": { "items": { "type": "string" @@ -77222,6 +77690,9 @@ var SamSchema = `{ "Authorization": { "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, "Id": { "type": "string" }, @@ -77274,6 +77745,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaStore::Container": { "additionalProperties": false, "properties": { @@ -108922,6 +109402,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppMesh::VirtualService" }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, { "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" }, @@ -109525,6 +110008,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -110095,6 +110581,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index a76b13c79a..1f8ffb8b44 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -9499,6 +9499,296 @@ }, "type": "object" }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, "AWS::AppStream::DirectoryConfig": { "additionalProperties": false, "properties": { @@ -36926,6 +37216,86 @@ ], "type": "object" }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { @@ -61955,6 +62325,74 @@ }, "type": "object" }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { @@ -76407,9 +76845,15 @@ "Description": { "type": "string" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Id": { "type": "string" }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -76443,6 +76887,15 @@ ], "type": "object" }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -76570,6 +77023,9 @@ "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { "additionalProperties": false, "properties": { + "ConstantInitializationVector": { + "type": "string" + }, "KeyRotationIntervalSeconds": { "type": "number" }, @@ -76668,6 +77124,12 @@ }, "SuggestedPresentationDelaySeconds": { "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" } }, "type": "object" @@ -76963,6 +77425,9 @@ }, "type": "array" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "SegmentDurationSeconds": { "type": "number" } @@ -77017,6 +77482,9 @@ "Encryption": { "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, "PeriodTriggers": { "items": { "type": "string" @@ -77219,6 +77687,9 @@ "Authorization": { "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, "Id": { "type": "string" }, @@ -77271,6 +77742,15 @@ ], "type": "object" }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaStore::Container": { "additionalProperties": false, "properties": { @@ -108919,6 +109399,9 @@ { "$ref": "#/definitions/AWS::AppMesh::VirtualService" }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, { "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" }, @@ -109522,6 +110005,9 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -110092,6 +110578,9 @@ { "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, { "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" },