diff --git a/cloudformation/all.go b/cloudformation/all.go index c57d8a44f4..2263535074 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -754,8 +754,11 @@ func AllResources() map[string]Resource { "AWS::LicenseManager::License": &licensemanager.License{}, "AWS::Lightsail::Alarm": &lightsail.Alarm{}, "AWS::Lightsail::Bucket": &lightsail.Bucket{}, + "AWS::Lightsail::Certificate": &lightsail.Certificate{}, + "AWS::Lightsail::Container": &lightsail.Container{}, "AWS::Lightsail::Database": &lightsail.Database{}, "AWS::Lightsail::Disk": &lightsail.Disk{}, + "AWS::Lightsail::Distribution": &lightsail.Distribution{}, "AWS::Lightsail::Instance": &lightsail.Instance{}, "AWS::Lightsail::LoadBalancer": &lightsail.LoadBalancer{}, "AWS::Lightsail::LoadBalancerTlsCertificate": &lightsail.LoadBalancerTlsCertificate{}, @@ -14522,6 +14525,54 @@ func (t *Template) GetLightsailBucketWithName(name string) (*lightsail.Bucket, e return nil, fmt.Errorf("resource %q of type lightsail.Bucket not found", name) } +// GetAllLightsailCertificateResources retrieves all lightsail.Certificate items from an AWS CloudFormation template +func (t *Template) GetAllLightsailCertificateResources() map[string]*lightsail.Certificate { + results := map[string]*lightsail.Certificate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *lightsail.Certificate: + results[name] = resource + } + } + return results +} + +// GetLightsailCertificateWithName retrieves all lightsail.Certificate items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLightsailCertificateWithName(name string) (*lightsail.Certificate, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *lightsail.Certificate: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type lightsail.Certificate not found", name) +} + +// GetAllLightsailContainerResources retrieves all lightsail.Container items from an AWS CloudFormation template +func (t *Template) GetAllLightsailContainerResources() map[string]*lightsail.Container { + results := map[string]*lightsail.Container{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *lightsail.Container: + results[name] = resource + } + } + return results +} + +// GetLightsailContainerWithName retrieves all lightsail.Container items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLightsailContainerWithName(name string) (*lightsail.Container, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *lightsail.Container: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type lightsail.Container not found", name) +} + // GetAllLightsailDatabaseResources retrieves all lightsail.Database items from an AWS CloudFormation template func (t *Template) GetAllLightsailDatabaseResources() map[string]*lightsail.Database { results := map[string]*lightsail.Database{} @@ -14570,6 +14621,30 @@ func (t *Template) GetLightsailDiskWithName(name string) (*lightsail.Disk, error return nil, fmt.Errorf("resource %q of type lightsail.Disk not found", name) } +// GetAllLightsailDistributionResources retrieves all lightsail.Distribution items from an AWS CloudFormation template +func (t *Template) GetAllLightsailDistributionResources() map[string]*lightsail.Distribution { + results := map[string]*lightsail.Distribution{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *lightsail.Distribution: + results[name] = resource + } + } + return results +} + +// GetLightsailDistributionWithName retrieves all lightsail.Distribution items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLightsailDistributionWithName(name string) (*lightsail.Distribution, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *lightsail.Distribution: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type lightsail.Distribution not found", name) +} + // GetAllLightsailInstanceResources retrieves all lightsail.Instance items from an AWS CloudFormation template func (t *Template) GetAllLightsailInstanceResources() map[string]*lightsail.Instance { results := map[string]*lightsail.Instance{} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go index 1b36b4d292..2eb5e4e1a5 100644 --- a/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go @@ -18,6 +18,16 @@ type Application_ConfigurationDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarms Alarms []Application_Alarm `json:"Alarms,omitempty"` + // HAClusterPrometheusExporter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-haclusterprometheusexporter + HAClusterPrometheusExporter *Application_HAClusterPrometheusExporter `json:"HAClusterPrometheusExporter,omitempty"` + + // HANAPrometheusExporter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-hanaprometheusexporter + HANAPrometheusExporter *Application_HANAPrometheusExporter `json:"HANAPrometheusExporter,omitempty"` + // JMXPrometheusExporter AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-jmxprometheusexporter diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_haclusterprometheusexporter.go b/cloudformation/applicationinsights/aws-applicationinsights-application_haclusterprometheusexporter.go new file mode 100644 index 0000000000..918542f362 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_haclusterprometheusexporter.go @@ -0,0 +1,35 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Application_HAClusterPrometheusExporter AWS CloudFormation Resource (AWS::ApplicationInsights::Application.HAClusterPrometheusExporter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-haclusterprometheusexporter.html +type Application_HAClusterPrometheusExporter struct { + + // PrometheusPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-haclusterprometheusexporter.html#cfn-applicationinsights-application-haclusterprometheusexporter-prometheusport + PrometheusPort string `json:"PrometheusPort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_HAClusterPrometheusExporter) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_hanaprometheusexporter.go b/cloudformation/applicationinsights/aws-applicationinsights-application_hanaprometheusexporter.go new file mode 100644 index 0000000000..76c86f9e00 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_hanaprometheusexporter.go @@ -0,0 +1,55 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Application_HANAPrometheusExporter AWS CloudFormation Resource (AWS::ApplicationInsights::Application.HANAPrometheusExporter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html +type Application_HANAPrometheusExporter struct { + + // AgreeToInstallHANADBClient AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-agreetoinstallhanadbclient + AgreeToInstallHANADBClient bool `json:"AgreeToInstallHANADBClient,omitempty"` + + // HANAPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanaport + HANAPort string `json:"HANAPort,omitempty"` + + // HANASID AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanasid + HANASID string `json:"HANASID,omitempty"` + + // HANASecretName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanasecretname + HANASecretName string `json:"HANASecretName,omitempty"` + + // PrometheusPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-prometheusport + PrometheusPort string `json:"PrometheusPort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_HANAPrometheusExporter) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.HANAPrometheusExporter" +} diff --git a/cloudformation/databrew/aws-databrew-job_outputlocation.go b/cloudformation/databrew/aws-databrew-job_outputlocation.go index a1570fc0e0..3ff826a9dc 100644 --- a/cloudformation/databrew/aws-databrew-job_outputlocation.go +++ b/cloudformation/databrew/aws-databrew-job_outputlocation.go @@ -13,6 +13,11 @@ type Job_OutputLocation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-bucket Bucket string `json:"Bucket,omitempty"` + // BucketOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-bucketowner + BucketOwner string `json:"BucketOwner,omitempty"` + // Key AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-key diff --git a/cloudformation/databrew/aws-databrew-job_s3location.go b/cloudformation/databrew/aws-databrew-job_s3location.go index 3b409a8eb7..17d6f480c3 100644 --- a/cloudformation/databrew/aws-databrew-job_s3location.go +++ b/cloudformation/databrew/aws-databrew-job_s3location.go @@ -13,6 +13,11 @@ type Job_S3Location struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-bucket Bucket string `json:"Bucket,omitempty"` + // BucketOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-bucketowner + BucketOwner string `json:"BucketOwner,omitempty"` + // Key AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-key diff --git a/cloudformation/dms/aws-dms-endpoint.go b/cloudformation/dms/aws-dms-endpoint.go index a471b0e084..b728c8113e 100644 --- a/cloudformation/dms/aws-dms-endpoint.go +++ b/cloudformation/dms/aws-dms-endpoint.go @@ -58,6 +58,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes ExtraConnectionAttributes string `json:"ExtraConnectionAttributes,omitempty"` + // GcpMySQLSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-gcpmysqlsettings + GcpMySQLSettings *Endpoint_GcpMySQLSettings `json:"GcpMySQLSettings,omitempty"` + // IbmDb2Settings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-ibmdb2settings diff --git a/cloudformation/dms/aws-dms-endpoint_gcpmysqlsettings.go b/cloudformation/dms/aws-dms-endpoint_gcpmysqlsettings.go new file mode 100644 index 0000000000..5959bab316 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_gcpmysqlsettings.go @@ -0,0 +1,95 @@ +package dms + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Endpoint_GcpMySQLSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.GcpMySQLSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html +type Endpoint_GcpMySQLSettings struct { + + // AfterConnectScript AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-afterconnectscript + AfterConnectScript string `json:"AfterConnectScript,omitempty"` + + // CleanSourceMetadataOnMismatch AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-cleansourcemetadataonmismatch + CleanSourceMetadataOnMismatch bool `json:"CleanSourceMetadataOnMismatch,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // EventsPollInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-eventspollinterval + EventsPollInterval int `json:"EventsPollInterval,omitempty"` + + // MaxFileSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-maxfilesize + MaxFileSize int `json:"MaxFileSize,omitempty"` + + // ParallelLoadThreads AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-parallelloadthreads + ParallelLoadThreads int `json:"ParallelLoadThreads,omitempty"` + + // Password AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-password + Password string `json:"Password,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-port + Port int `json:"Port,omitempty"` + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // ServerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-servername + ServerName string `json:"ServerName,omitempty"` + + // ServerTimezone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-servertimezone + ServerTimezone string `json:"ServerTimezone,omitempty"` + + // Username AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-username + Username string `json:"Username,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 *Endpoint_GcpMySQLSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.GcpMySQLSettings" +} diff --git a/cloudformation/lightsail/aws-lightsail-certificate.go b/cloudformation/lightsail/aws-lightsail-certificate.go new file mode 100644 index 0000000000..24befc63be --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-certificate.go @@ -0,0 +1,122 @@ +package lightsail + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// Certificate AWS CloudFormation Resource (AWS::Lightsail::Certificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html +type Certificate struct { + + // CertificateName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-certificatename + CertificateName string `json:"CertificateName,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-domainname + DomainName string `json:"DomainName,omitempty"` + + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-subjectalternativenames + SubjectAlternativeNames []string `json:"SubjectAlternativeNames,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-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 *Certificate) AWSCloudFormationType() string { + return "AWS::Lightsail::Certificate" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Certificate) MarshalJSON() ([]byte, error) { + type Properties Certificate + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Certificate) UnmarshalJSON(b []byte) error { + type Properties Certificate + res := &struct { + Type string + Properties *Properties + DependsOn []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 = Certificate(*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/lightsail/aws-lightsail-container.go b/cloudformation/lightsail/aws-lightsail-container.go new file mode 100644 index 0000000000..7b002519ad --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container.go @@ -0,0 +1,137 @@ +package lightsail + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// Container AWS CloudFormation Resource (AWS::Lightsail::Container) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html +type Container struct { + + // ContainerServiceDeployment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-containerservicedeployment + ContainerServiceDeployment *Container_ContainerServiceDeployment `json:"ContainerServiceDeployment,omitempty"` + + // IsDisabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-isdisabled + IsDisabled bool `json:"IsDisabled,omitempty"` + + // Power AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-power + Power string `json:"Power,omitempty"` + + // PublicDomainNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-publicdomainnames + PublicDomainNames []Container_PublicDomainName `json:"PublicDomainNames,omitempty"` + + // Scale AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-scale + Scale int `json:"Scale"` + + // ServiceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-servicename + ServiceName string `json:"ServiceName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-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 *Container) AWSCloudFormationType() string { + return "AWS::Lightsail::Container" +} + +// 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 Container) MarshalJSON() ([]byte, error) { + type Properties Container + 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 *Container) UnmarshalJSON(b []byte) error { + type Properties Container + 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 = Container(*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/lightsail/aws-lightsail-container_container.go b/cloudformation/lightsail/aws-lightsail-container_container.go new file mode 100644 index 0000000000..2638ed2af2 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_container.go @@ -0,0 +1,55 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_Container AWS CloudFormation Resource (AWS::Lightsail::Container.Container) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html +type Container_Container struct { + + // Command AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-command + Command []string `json:"Command,omitempty"` + + // ContainerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-containername + ContainerName string `json:"ContainerName,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-environment + Environment []Container_EnvironmentVariable `json:"Environment,omitempty"` + + // Image AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-image + Image string `json:"Image,omitempty"` + + // Ports AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-ports + Ports []Container_PortInfo `json:"Ports,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 *Container_Container) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.Container" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_containerservicedeployment.go b/cloudformation/lightsail/aws-lightsail-container_containerservicedeployment.go new file mode 100644 index 0000000000..8a6330a06d --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_containerservicedeployment.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_ContainerServiceDeployment AWS CloudFormation Resource (AWS::Lightsail::Container.ContainerServiceDeployment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html +type Container_ContainerServiceDeployment struct { + + // Containers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html#cfn-lightsail-container-containerservicedeployment-containers + Containers []Container_Container `json:"Containers,omitempty"` + + // PublicEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html#cfn-lightsail-container-containerservicedeployment-publicendpoint + PublicEndpoint *Container_PublicEndpoint `json:"PublicEndpoint,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 *Container_ContainerServiceDeployment) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.ContainerServiceDeployment" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_environmentvariable.go b/cloudformation/lightsail/aws-lightsail-container_environmentvariable.go new file mode 100644 index 0000000000..8a45162e4a --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_environmentvariable.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_EnvironmentVariable AWS CloudFormation Resource (AWS::Lightsail::Container.EnvironmentVariable) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html +type Container_EnvironmentVariable struct { + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html#cfn-lightsail-container-environmentvariable-value + Value string `json:"Value,omitempty"` + + // Variable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html#cfn-lightsail-container-environmentvariable-variable + Variable string `json:"Variable,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 *Container_EnvironmentVariable) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.EnvironmentVariable" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_healthcheckconfig.go b/cloudformation/lightsail/aws-lightsail-container_healthcheckconfig.go new file mode 100644 index 0000000000..813dd63f10 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_healthcheckconfig.go @@ -0,0 +1,60 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_HealthCheckConfig AWS CloudFormation Resource (AWS::Lightsail::Container.HealthCheckConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html +type Container_HealthCheckConfig struct { + + // HealthyThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-healthythreshold + HealthyThreshold int `json:"HealthyThreshold,omitempty"` + + // IntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-intervalseconds + IntervalSeconds int `json:"IntervalSeconds,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-path + Path string `json:"Path,omitempty"` + + // SuccessCodes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-successcodes + SuccessCodes string `json:"SuccessCodes,omitempty"` + + // TimeoutSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-timeoutseconds + TimeoutSeconds int `json:"TimeoutSeconds,omitempty"` + + // UnhealthyThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-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 *Container_HealthCheckConfig) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.HealthCheckConfig" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_portinfo.go b/cloudformation/lightsail/aws-lightsail-container_portinfo.go new file mode 100644 index 0000000000..58a9194608 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_portinfo.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_PortInfo AWS CloudFormation Resource (AWS::Lightsail::Container.PortInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html +type Container_PortInfo struct { + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html#cfn-lightsail-container-portinfo-port + Port string `json:"Port,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html#cfn-lightsail-container-portinfo-protocol + Protocol string `json:"Protocol,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 *Container_PortInfo) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.PortInfo" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_publicdomainname.go b/cloudformation/lightsail/aws-lightsail-container_publicdomainname.go new file mode 100644 index 0000000000..87c98e9974 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_publicdomainname.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_PublicDomainName AWS CloudFormation Resource (AWS::Lightsail::Container.PublicDomainName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html +type Container_PublicDomainName struct { + + // CertificateName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html#cfn-lightsail-container-publicdomainname-certificatename + CertificateName string `json:"CertificateName,omitempty"` + + // DomainNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html#cfn-lightsail-container-publicdomainname-domainnames + DomainNames []string `json:"DomainNames,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 *Container_PublicDomainName) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.PublicDomainName" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_publicendpoint.go b/cloudformation/lightsail/aws-lightsail-container_publicendpoint.go new file mode 100644 index 0000000000..20cef33902 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_publicendpoint.go @@ -0,0 +1,45 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Container_PublicEndpoint AWS CloudFormation Resource (AWS::Lightsail::Container.PublicEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html +type Container_PublicEndpoint struct { + + // ContainerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-containername + ContainerName string `json:"ContainerName,omitempty"` + + // ContainerPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-containerport + ContainerPort int `json:"ContainerPort,omitempty"` + + // HealthCheckConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-healthcheckconfig + HealthCheckConfig *Container_HealthCheckConfig `json:"HealthCheckConfig,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 *Container_PublicEndpoint) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.PublicEndpoint" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution.go b/cloudformation/lightsail/aws-lightsail-distribution.go new file mode 100644 index 0000000000..dda822f2e6 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution.go @@ -0,0 +1,152 @@ +package lightsail + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// Distribution AWS CloudFormation Resource (AWS::Lightsail::Distribution) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html +type Distribution struct { + + // BundleId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-bundleid + BundleId string `json:"BundleId,omitempty"` + + // CacheBehaviorSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviorsettings + CacheBehaviorSettings *Distribution_CacheSettings `json:"CacheBehaviorSettings,omitempty"` + + // CacheBehaviors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviors + CacheBehaviors []Distribution_CacheBehaviorPerPath `json:"CacheBehaviors,omitempty"` + + // CertificateName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-certificatename + CertificateName string `json:"CertificateName,omitempty"` + + // DefaultCacheBehavior AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-defaultcachebehavior + DefaultCacheBehavior *Distribution_CacheBehavior `json:"DefaultCacheBehavior,omitempty"` + + // DistributionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-distributionname + DistributionName string `json:"DistributionName,omitempty"` + + // IpAddressType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-ipaddresstype + IpAddressType string `json:"IpAddressType,omitempty"` + + // IsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-isenabled + IsEnabled bool `json:"IsEnabled,omitempty"` + + // Origin AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-origin + Origin *Distribution_InputOrigin `json:"Origin,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-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 *Distribution) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution" +} + +// 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 Distribution) MarshalJSON() ([]byte, error) { + type Properties Distribution + 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 *Distribution) UnmarshalJSON(b []byte) error { + type Properties Distribution + 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 = Distribution(*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/lightsail/aws-lightsail-distribution_cachebehavior.go b/cloudformation/lightsail/aws-lightsail-distribution_cachebehavior.go new file mode 100644 index 0000000000..9e73c09fa1 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_cachebehavior.go @@ -0,0 +1,35 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_CacheBehavior AWS CloudFormation Resource (AWS::Lightsail::Distribution.CacheBehavior) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html +type Distribution_CacheBehavior struct { + + // Behavior AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html#cfn-lightsail-distribution-cachebehavior-behavior + Behavior string `json:"Behavior,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 *Distribution_CacheBehavior) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.CacheBehavior" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_cachebehaviorperpath.go b/cloudformation/lightsail/aws-lightsail-distribution_cachebehaviorperpath.go new file mode 100644 index 0000000000..36e8d847a1 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_cachebehaviorperpath.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_CacheBehaviorPerPath AWS CloudFormation Resource (AWS::Lightsail::Distribution.CacheBehaviorPerPath) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html +type Distribution_CacheBehaviorPerPath struct { + + // Behavior AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-behavior + Behavior string `json:"Behavior,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-path + Path string `json:"Path,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 *Distribution_CacheBehaviorPerPath) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.CacheBehaviorPerPath" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_cachesettings.go b/cloudformation/lightsail/aws-lightsail-distribution_cachesettings.go new file mode 100644 index 0000000000..2b7a046187 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_cachesettings.go @@ -0,0 +1,70 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_CacheSettings AWS CloudFormation Resource (AWS::Lightsail::Distribution.CacheSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html +type Distribution_CacheSettings struct { + + // AllowedHTTPMethods AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-allowedhttpmethods + AllowedHTTPMethods string `json:"AllowedHTTPMethods,omitempty"` + + // CachedHTTPMethods AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-cachedhttpmethods + CachedHTTPMethods string `json:"CachedHTTPMethods,omitempty"` + + // DefaultTTL AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-defaultttl + DefaultTTL int `json:"DefaultTTL,omitempty"` + + // ForwardedCookies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedcookies + ForwardedCookies *Distribution_CookieObject `json:"ForwardedCookies,omitempty"` + + // ForwardedHeaders AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedheaders + ForwardedHeaders *Distribution_HeaderObject `json:"ForwardedHeaders,omitempty"` + + // ForwardedQueryStrings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedquerystrings + ForwardedQueryStrings *Distribution_QueryStringObject `json:"ForwardedQueryStrings,omitempty"` + + // MaximumTTL AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-maximumttl + MaximumTTL int `json:"MaximumTTL,omitempty"` + + // MinimumTTL AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-minimumttl + MinimumTTL int `json:"MinimumTTL,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 *Distribution_CacheSettings) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.CacheSettings" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_cookieobject.go b/cloudformation/lightsail/aws-lightsail-distribution_cookieobject.go new file mode 100644 index 0000000000..f8db6747d4 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_cookieobject.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_CookieObject AWS CloudFormation Resource (AWS::Lightsail::Distribution.CookieObject) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html +type Distribution_CookieObject struct { + + // CookiesAllowList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-cookiesallowlist + CookiesAllowList []string `json:"CookiesAllowList,omitempty"` + + // Option AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-option + Option string `json:"Option,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 *Distribution_CookieObject) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.CookieObject" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_headerobject.go b/cloudformation/lightsail/aws-lightsail-distribution_headerobject.go new file mode 100644 index 0000000000..89c67c0d81 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_headerobject.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_HeaderObject AWS CloudFormation Resource (AWS::Lightsail::Distribution.HeaderObject) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html +type Distribution_HeaderObject struct { + + // HeadersAllowList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-headersallowlist + HeadersAllowList []string `json:"HeadersAllowList,omitempty"` + + // Option AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-option + Option string `json:"Option,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 *Distribution_HeaderObject) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.HeaderObject" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_inputorigin.go b/cloudformation/lightsail/aws-lightsail-distribution_inputorigin.go new file mode 100644 index 0000000000..ae172b28cd --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_inputorigin.go @@ -0,0 +1,45 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_InputOrigin AWS CloudFormation Resource (AWS::Lightsail::Distribution.InputOrigin) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html +type Distribution_InputOrigin struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-name + Name string `json:"Name,omitempty"` + + // ProtocolPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-protocolpolicy + ProtocolPolicy string `json:"ProtocolPolicy,omitempty"` + + // RegionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-regionname + RegionName string `json:"RegionName,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 *Distribution_InputOrigin) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.InputOrigin" +} diff --git a/cloudformation/lightsail/aws-lightsail-distribution_querystringobject.go b/cloudformation/lightsail/aws-lightsail-distribution_querystringobject.go new file mode 100644 index 0000000000..fc3c9f5ed3 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-distribution_querystringobject.go @@ -0,0 +1,40 @@ +package lightsail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Distribution_QueryStringObject AWS CloudFormation Resource (AWS::Lightsail::Distribution.QueryStringObject) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html +type Distribution_QueryStringObject struct { + + // Option AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-option + Option bool `json:"Option,omitempty"` + + // QueryStringsAllowList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-querystringsallowlist + QueryStringsAllowList []string `json:"QueryStringsAllowList,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 *Distribution_QueryStringObject) AWSCloudFormationType() string { + return "AWS::Lightsail::Distribution.QueryStringObject" +} diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go index bd56fb2d56..e69fef22b8 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_robotsoftwaresuite.go @@ -14,7 +14,7 @@ type SimulationApplication_RobotSoftwareSuite struct { Name string `json:"Name,omitempty"` // Version AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html#cfn-robomaker-simulationapplication-robotsoftwaresuite-version Version string `json:"Version,omitempty"` diff --git a/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go index 785373c5b0..f3bf37ce02 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication_simulationsoftwaresuite.go @@ -14,7 +14,7 @@ type SimulationApplication_SimulationSoftwareSuite struct { Name string `json:"Name,omitempty"` // Version AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html#cfn-robomaker-simulationapplication-simulationsoftwaresuite-version Version string `json:"Version,omitempty"` diff --git a/cloudformation/sagemaker/aws-sagemaker-device.go b/cloudformation/sagemaker/aws-sagemaker-device.go index a85b5e0bce..5e6cdb91f8 100644 --- a/cloudformation/sagemaker/aws-sagemaker-device.go +++ b/cloudformation/sagemaker/aws-sagemaker-device.go @@ -16,7 +16,7 @@ type Device struct { // Device AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html#cfn-sagemaker-device-device - Device interface{} `json:"Device,omitempty"` + Device *Device_Device `json:"Device,omitempty"` // DeviceFleetName AWS CloudFormation Property // Required: true diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_cloudwatchoutputconfig.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_cloudwatchoutputconfig.go new file mode 100644 index 0000000000..2901ac1561 --- /dev/null +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_cloudwatchoutputconfig.go @@ -0,0 +1,40 @@ +package ssm + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// MaintenanceWindowTask_CloudWatchOutputConfig AWS CloudFormation Resource (AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-cloudwatchoutputconfig.html +type MaintenanceWindowTask_CloudWatchOutputConfig struct { + + // CloudWatchLogGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-cloudwatchoutputconfig.html#cfn-ssm-maintenancewindowtask-cloudwatchoutputconfig-cloudwatchloggroupname + CloudWatchLogGroupName string `json:"CloudWatchLogGroupName,omitempty"` + + // CloudWatchOutputEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-cloudwatchoutputconfig.html#cfn-ssm-maintenancewindowtask-cloudwatchoutputconfig-cloudwatchoutputenabled + CloudWatchOutputEnabled bool `json:"CloudWatchOutputEnabled,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 *MaintenanceWindowTask_CloudWatchOutputConfig) AWSCloudFormationType() string { + return "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" +} diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go index 9fa1018cf0..c758aa91c8 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask_maintenancewindowruncommandparameters.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html type MaintenanceWindowTask_MaintenanceWindowRunCommandParameters struct { + // CloudWatchOutputConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-cloudwatchoutputconfig + CloudWatchOutputConfig *MaintenanceWindowTask_CloudWatchOutputConfig `json:"CloudWatchOutputConfig,omitempty"` + // Comment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-comment @@ -23,6 +28,11 @@ type MaintenanceWindowTask_MaintenanceWindowRunCommandParameters struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthashtype DocumentHashType string `json:"DocumentHashType,omitempty"` + // DocumentVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documentversion + DocumentVersion string `json:"DocumentVersion,omitempty"` + // NotificationConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-notificationconfig diff --git a/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go b/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go index 05917906f2..2c7979091b 100644 --- a/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go +++ b/cloudformation/ssm/aws-ssm-patchbaseline_patchstringdate.go @@ -5,7 +5,7 @@ import ( ) // PatchBaseline_PatchStringDate AWS CloudFormation Resource (AWS::SSM::PatchBaseline.PatchStringDate) -// See: +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchstringdate.html type PatchBaseline_PatchStringDate struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/transfer/aws-transfer-server_protocol.go b/cloudformation/transfer/aws-transfer-server_protocol.go index 3a0ad6b4c1..dc7471d031 100644 --- a/cloudformation/transfer/aws-transfer-server_protocol.go +++ b/cloudformation/transfer/aws-transfer-server_protocol.go @@ -5,7 +5,7 @@ import ( ) // Server_Protocol AWS CloudFormation Resource (AWS::Transfer::Server.Protocol) -// See: +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-protocol.html type Server_Protocol struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/transfer/aws-transfer-user_sshpublickey.go b/cloudformation/transfer/aws-transfer-user_sshpublickey.go index c77f9ccce1..76269bcec4 100644 --- a/cloudformation/transfer/aws-transfer-user_sshpublickey.go +++ b/cloudformation/transfer/aws-transfer-user_sshpublickey.go @@ -5,7 +5,7 @@ import ( ) // User_SshPublicKey AWS CloudFormation Resource (AWS::Transfer::User.SshPublicKey) -// See: +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-sshpublickey.html type User_SshPublicKey struct { // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/schema/cdk.go b/schema/cdk.go index 6acd72615b..40e50fe588 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -13852,6 +13852,12 @@ var CdkSchema = `{ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13889,6 +13895,36 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30817,6 +30853,9 @@ var CdkSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30950,6 +30989,51 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32308,6 +32392,9 @@ var CdkSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32367,6 +32454,9 @@ var CdkSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81950,7 +82040,7 @@ var CdkSchema = `{ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81982,164 +82072,17 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82149,14 +82092,14 @@ var CdkSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82175,34 +82118,679 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104801,8 +105389,7 @@ var CdkSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104817,8 +105404,7 @@ var CdkSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111187,6 +111773,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111236,6 +111834,9 @@ var CdkSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111245,6 +111846,9 @@ var CdkSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113222,7 +113826,7 @@ var CdkSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -126981,12 +127585,21 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 0fae8166dc..530d99cb32 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -13849,6 +13849,12 @@ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13886,6 +13892,36 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30814,6 +30850,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30947,6 +30986,51 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32305,6 +32389,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32364,6 +32451,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81947,7 +82037,7 @@ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81979,164 +82069,17 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82146,14 +82089,14 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82172,34 +82115,679 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104798,8 +105386,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104814,8 +105401,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111184,6 +111770,18 @@ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111233,6 +111831,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111242,6 +111843,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113219,7 +113823,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -126978,12 +127582,21 @@ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 878203c57b..3c7431320c 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -13852,6 +13852,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13889,6 +13895,36 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30759,6 +30795,9 @@ var CloudformationSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30892,6 +30931,51 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32250,6 +32334,9 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32309,6 +32396,9 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81892,7 +81982,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81924,164 +82014,17 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82091,14 +82034,14 @@ var CloudformationSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82117,34 +82060,679 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104743,8 +105331,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104759,8 +105346,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111129,6 +111715,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111178,6 +111776,9 @@ var CloudformationSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111187,6 +111788,9 @@ var CloudformationSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113164,7 +113768,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -126920,12 +127524,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index b710b164b8..0dfd4aae79 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -13849,6 +13849,12 @@ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13886,6 +13892,36 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30756,6 +30792,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30889,6 +30928,51 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32247,6 +32331,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32306,6 +32393,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81889,7 +81979,7 @@ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81921,164 +82011,17 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82088,14 +82031,14 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82114,34 +82057,679 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104740,8 +105328,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104756,8 +105343,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111126,6 +111712,18 @@ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111175,6 +111773,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111184,6 +111785,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113161,7 +113765,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -126917,12 +127521,21 @@ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, diff --git a/schema/sam.go b/schema/sam.go index 9bdcdb9dc3..75569c4346 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -13852,6 +13852,12 @@ var SamSchema = `{ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13889,6 +13895,36 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30759,6 +30795,9 @@ var SamSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30892,6 +30931,51 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32250,6 +32334,9 @@ var SamSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32309,6 +32396,9 @@ var SamSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81892,7 +81982,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81924,164 +82014,17 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82091,14 +82034,14 @@ var SamSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82117,34 +82060,679 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104743,8 +105331,7 @@ var SamSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104759,8 +105346,7 @@ var SamSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111129,6 +111715,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111178,6 +111776,9 @@ var SamSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111187,6 +111788,9 @@ var SamSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113164,7 +113768,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -129598,12 +130202,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 391283781a..6bd944f79e 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -13849,6 +13849,12 @@ }, "type": "array" }, + "HAClusterPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter" + }, + "HANAPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter" + }, "JMXPrometheusExporter": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" }, @@ -13886,6 +13892,36 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter": { + "additionalProperties": false, + "properties": { + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.HANAPrometheusExporter": { + "additionalProperties": false, + "properties": { + "AgreeToInstallHANADBClient": { + "type": "boolean" + }, + "HANAPort": { + "type": "string" + }, + "HANASID": { + "type": "string" + }, + "HANASecretName": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -30756,6 +30792,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30889,6 +30928,51 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.GcpMySQLSettings": { + "additionalProperties": false, + "properties": { + "AfterConnectScript": { + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "EventsPollInterval": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "ParallelLoadThreads": { + "type": "number" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ServerTimezone": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { @@ -32247,6 +32331,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32306,6 +32393,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -81889,7 +81979,7 @@ }, "type": "object" }, - "AWS::Lightsail::Database": { + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -81921,164 +82011,17 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "BackupRetention": { - "type": "boolean" - }, - "CaCertificateIdentifier": { - "type": "string" - }, - "MasterDatabaseName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "RelationalDatabaseBlueprintId": { - "type": "string" - }, - "RelationalDatabaseBundleId": { - "type": "string" - }, - "RelationalDatabaseName": { + "CertificateName": { "type": "string" }, - "RelationalDatabaseParameters": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" - }, - "type": "array" - }, - "RotateMasterUserPassword": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MasterDatabaseName", - "MasterUsername", - "RelationalDatabaseBlueprintId", - "RelationalDatabaseBundleId", - "RelationalDatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Database.RelationalDatabaseParameter": { - "additionalProperties": false, - "properties": { - "AllowedValues": { - "type": "string" - }, - "ApplyMethod": { - "type": "string" - }, - "ApplyType": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsModifiable": { - "type": "boolean" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Disk": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainName": { "type": "string" }, - { + "SubjectAlternativeNames": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddOns": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" - }, - "type": "array" - }, - "AvailabilityZone": { - "type": "string" - }, - "DiskName": { - "type": "string" - }, - "SizeInGb": { - "type": "number" }, "Tags": { "items": { @@ -82088,14 +82031,14 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "CertificateName", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Certificate" ], "type": "string" }, @@ -82114,34 +82057,679 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { - "additionalProperties": false, - "properties": { - "AddOnType": { - "type": "string" - }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "AddOnType" - ], - "type": "object" - }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { - "additionalProperties": false, - "properties": { - "SnapshotTimeOfDay": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Instance": { + "AWS::Lightsail::Container": { + "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": { + "ContainerServiceDeployment": { + "$ref": "#/definitions/AWS::Lightsail::Container.ContainerServiceDeployment" + }, + "IsDisabled": { + "type": "boolean" + }, + "Power": { + "type": "string" + }, + "PublicDomainNames": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" + }, + "type": "array" + }, + "Scale": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Power", + "Scale", + "ServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Container.Container": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerName": { + "type": "string" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "Ports": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.PortInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.ContainerServiceDeployment": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Container.Container" + }, + "type": "array" + }, + "PublicEndpoint": { + "$ref": "#/definitions/AWS::Lightsail::Container.PublicEndpoint" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "Variable": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "SuccessCodes": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PortInfo": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicDomainName": { + "additionalProperties": false, + "properties": { + "CertificateName": { + "type": "string" + }, + "DomainNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Container.PublicEndpoint": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Lightsail::Container.HealthCheckConfig" + } + }, + "type": "object" + }, + "AWS::Lightsail::Database": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "BackupRetention": { + "type": "boolean" + }, + "CaCertificateIdentifier": { + "type": "string" + }, + "MasterDatabaseName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "RelationalDatabaseBlueprintId": { + "type": "string" + }, + "RelationalDatabaseBundleId": { + "type": "string" + }, + "RelationalDatabaseName": { + "type": "string" + }, + "RelationalDatabaseParameters": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Database.RelationalDatabaseParameter" + }, + "type": "array" + }, + "RotateMasterUserPassword": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MasterDatabaseName", + "MasterUsername", + "RelationalDatabaseBlueprintId", + "RelationalDatabaseBundleId", + "RelationalDatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Database.RelationalDatabaseParameter": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "type": "string" + }, + "ApplyMethod": { + "type": "string" + }, + "ApplyType": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IsModifiable": { + "type": "boolean" + }, + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Disk": { + "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": { + "AddOns": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AddOn" + }, + "type": "array" + }, + "AvailabilityZone": { + "type": "string" + }, + "DiskName": { + "type": "string" + }, + "SizeInGb": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DiskName", + "SizeInGb" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Disk" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AddOn": { + "additionalProperties": false, + "properties": { + "AddOnType": { + "type": "string" + }, + "AutoSnapshotAddOnRequest": { + "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "AddOnType" + ], + "type": "object" + }, + "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "additionalProperties": false, + "properties": { + "SnapshotTimeOfDay": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution": { + "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": { + "BundleId": { + "type": "string" + }, + "CacheBehaviorSettings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheSettings" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" + }, + "type": "array" + }, + "CertificateName": { + "type": "string" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" + }, + "CachedHTTPMethods": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "ForwardedCookies": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CookieObject" + }, + "ForwardedHeaders": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.HeaderObject" + }, + "ForwardedQueryStrings": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.QueryStringObject" + }, + "MaximumTTL": { + "type": "number" + }, + "MinimumTTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CookieObject": { + "additionalProperties": false, + "properties": { + "CookiesAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.HeaderObject": { + "additionalProperties": false, + "properties": { + "HeadersAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Option": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.InputOrigin": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ProtocolPolicy": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.QueryStringObject": { + "additionalProperties": false, + "properties": { + "Option": { + "type": "boolean" + }, + "QueryStringsAllowList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -104740,8 +105328,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104756,8 +105343,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -111126,6 +111712,18 @@ ], "type": "object" }, + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { @@ -111175,6 +111773,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111184,6 +111785,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113161,7 +113765,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -129595,12 +130199,21 @@ { "$ref": "#/definitions/AWS::Lightsail::Bucket" }, + { + "$ref": "#/definitions/AWS::Lightsail::Certificate" + }, + { + "$ref": "#/definitions/AWS::Lightsail::Container" + }, { "$ref": "#/definitions/AWS::Lightsail::Database" }, { "$ref": "#/definitions/AWS::Lightsail::Disk" }, + { + "$ref": "#/definitions/AWS::Lightsail::Distribution" + }, { "$ref": "#/definitions/AWS::Lightsail::Instance" },