From 61378b5bad094f764289d53c87b2b2c91f118491 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Feb 2022 14:18:02 +0400 Subject: [PATCH] fix(schema): CloudFormation Updates (#422) Co-authored-by: Paul Maddox --- cloudformation/all.go | 151 ++ .../aws-appintegrations-dataintegration.go | 132 ++ ...grations-dataintegration_scheduleconfig.go | 45 + ...sights-application_configurationdetails.go | 10 + ...application_haclusterprometheusexporter.go | 35 + ...ghts-application_hanaprometheusexporter.go | 55 + .../aws-cognito-userpool_smsconfiguration.go | 5 + .../aws-databrew-job_outputlocation.go | 5 + .../databrew/aws-databrew-job_s3location.go | 5 + cloudformation/dms/aws-dms-endpoint.go | 5 + .../dms/aws-dms-endpoint_gcpmysqlsettings.go | 95 + .../dms/aws-dms-endpoint_s3settings.go | 155 ++ ...s-ec2-launchtemplate_launchtemplatedata.go | 5 + .../aws-ec2-launchtemplate_metadataoptions.go | 5 + ...c2-launchtemplate_privatednsnameoptions.go | 45 + ...s-taskdefinition_efsvolumeconfiguration.go | 2 +- ...-events-rule_sagemakerpipelineparameter.go | 40 + ...events-rule_sagemakerpipelineparameters.go | 35 + .../events/aws-events-rule_target.go | 5 + ...ty-detector_cfndatasourceconfigurations.go | 5 + ...tor_cfnkubernetesauditlogsconfiguration.go | 35 + ...uty-detector_cfnkubernetesconfiguration.go | 35 + .../ivs/aws-ivs-recordingconfiguration.go | 5 + ...ingconfiguration_thumbnailconfiguration.go | 40 + .../aws-kafkaconnect-connector.go | 161 ++ ...fkaconnect-connector_apachekafkacluster.go | 40 + .../aws-kafkaconnect-connector_autoscaling.go | 55 + .../aws-kafkaconnect-connector_capacity.go | 40 + ...ect-connector_cloudwatchlogslogdelivery.go | 40 + ...aws-kafkaconnect-connector_customplugin.go | 40 + ...kaconnect-connector_firehoselogdelivery.go | 40 + ...aws-kafkaconnect-connector_kafkacluster.go | 35 + ...nector_kafkaclusterclientauthentication.go | 35 + ...nnector_kafkaclusterencryptionintransit.go | 35 + .../aws-kafkaconnect-connector_logdelivery.go | 35 + .../aws-kafkaconnect-connector_plugin.go | 35 + ...kaconnect-connector_provisionedcapacity.go | 40 + ...ws-kafkaconnect-connector_s3logdelivery.go | 45 + ...ws-kafkaconnect-connector_scaleinpolicy.go | 35 + ...s-kafkaconnect-connector_scaleoutpolicy.go | 35 + .../aws-kafkaconnect-connector_vpc.go | 40 + ...kaconnect-connector_workerconfiguration.go | 40 + ...afkaconnect-connector_workerlogdelivery.go | 45 + .../lightsail/aws-lightsail-certificate.go | 122 ++ .../lightsail/aws-lightsail-container.go | 137 ++ .../aws-lightsail-container_container.go | 55 + ...il-container_containerservicedeployment.go | 40 + ...lightsail-container_environmentvariable.go | 40 + ...s-lightsail-container_healthcheckconfig.go | 60 + .../aws-lightsail-container_portinfo.go | 40 + ...ws-lightsail-container_publicdomainname.go | 40 + .../aws-lightsail-container_publicendpoint.go | 45 + .../lightsail/aws-lightsail-distribution.go | 152 ++ ...ws-lightsail-distribution_cachebehavior.go | 35 + ...tsail-distribution_cachebehaviorperpath.go | 40 + ...ws-lightsail-distribution_cachesettings.go | 70 + ...aws-lightsail-distribution_cookieobject.go | 40 + ...aws-lightsail-distribution_headerobject.go | 40 + .../aws-lightsail-distribution_inputorigin.go | 45 + ...ightsail-distribution_querystringobject.go | 40 + .../aws-location-geofencecollection.go | 2 +- cloudformation/location/aws-location-map.go | 2 +- .../location/aws-location-placeindex.go | 2 +- .../location/aws-location-routecalculator.go | 2 +- .../location/aws-location-tracker.go | 2 +- .../msk/aws-msk-cluster_ebsstorageinfo.go | 5 + .../aws-msk-cluster_provisionedthroughput.go | 40 + .../rekognition/aws-rekognition-collection.go | 112 ++ .../aws-robomaker-robotapplication.go | 9 +- ...ker-robotapplication_robotsoftwaresuite.go | 2 +- ...imulationapplication_robotsoftwaresuite.go | 2 +- ...tionapplication_simulationsoftwaresuite.go | 2 +- .../aws-route53-recordsetgroup_recordset.go | 5 - .../sagemaker/aws-sagemaker-device.go | 2 +- .../aws-secretsmanager-rotationschedule.go | 5 + ...smanager-rotationschedule_rotationrules.go | 10 + ...enancewindowtask_cloudwatchoutputconfig.go | 40 + ...k_maintenancewindowruncommandparameters.go | 10 + .../aws-ssm-patchbaseline_patchstringdate.go | 2 +- .../timestream/aws-timestream-table.go | 5 + .../transfer/aws-transfer-server_protocol.go | 2 +- .../aws-transfer-user_sshpublickey.go | 2 +- schema/cdk.go | 1780 +++++++++++++++-- schema/cdk.schema.json | 1780 +++++++++++++++-- schema/cloudformation.go | 1780 +++++++++++++++-- schema/cloudformation.schema.json | 1780 +++++++++++++++-- schema/sam.go | 1780 +++++++++++++++-- schema/sam.schema.json | 1780 +++++++++++++++-- 88 files changed, 12640 insertions(+), 1172 deletions(-) create mode 100644 cloudformation/appintegrations/aws-appintegrations-dataintegration.go create mode 100644 cloudformation/appintegrations/aws-appintegrations-dataintegration_scheduleconfig.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_haclusterprometheusexporter.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_hanaprometheusexporter.go create mode 100644 cloudformation/dms/aws-dms-endpoint_gcpmysqlsettings.go create mode 100644 cloudformation/ec2/aws-ec2-launchtemplate_privatednsnameoptions.go create mode 100644 cloudformation/events/aws-events-rule_sagemakerpipelineparameter.go create mode 100644 cloudformation/events/aws-events-rule_sagemakerpipelineparameters.go create mode 100644 cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesauditlogsconfiguration.go create mode 100644 cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesconfiguration.go create mode 100644 cloudformation/ivs/aws-ivs-recordingconfiguration_thumbnailconfiguration.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_apachekafkacluster.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_autoscaling.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_capacity.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_cloudwatchlogslogdelivery.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_customplugin.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_firehoselogdelivery.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkacluster.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterclientauthentication.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterencryptionintransit.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_logdelivery.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_plugin.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_provisionedcapacity.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_s3logdelivery.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleinpolicy.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleoutpolicy.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_vpc.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerconfiguration.go create mode 100644 cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerlogdelivery.go create mode 100644 cloudformation/lightsail/aws-lightsail-certificate.go create mode 100644 cloudformation/lightsail/aws-lightsail-container.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_container.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_containerservicedeployment.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_environmentvariable.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_healthcheckconfig.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_portinfo.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_publicdomainname.go create mode 100644 cloudformation/lightsail/aws-lightsail-container_publicendpoint.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_cachebehavior.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_cachebehaviorperpath.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_cachesettings.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_cookieobject.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_headerobject.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_inputorigin.go create mode 100644 cloudformation/lightsail/aws-lightsail-distribution_querystringobject.go create mode 100644 cloudformation/msk/aws-msk-cluster_provisionedthroughput.go create mode 100644 cloudformation/rekognition/aws-rekognition-collection.go create mode 100644 cloudformation/ssm/aws-ssm-maintenancewindowtask_cloudwatchoutputconfig.go diff --git a/cloudformation/all.go b/cloudformation/all.go index c57d8a44f4..f271f77522 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -106,6 +106,7 @@ import ( "github.com/awslabs/goformation/v5/cloudformation/iotthingsgraph" "github.com/awslabs/goformation/v5/cloudformation/iotwireless" "github.com/awslabs/goformation/v5/cloudformation/ivs" + "github.com/awslabs/goformation/v5/cloudformation/kafkaconnect" "github.com/awslabs/goformation/v5/cloudformation/kendra" "github.com/awslabs/goformation/v5/cloudformation/kinesis" "github.com/awslabs/goformation/v5/cloudformation/kinesisanalytics" @@ -249,6 +250,7 @@ func AllResources() map[string]Resource { "AWS::AppConfig::HostedConfigurationVersion": &appconfig.HostedConfigurationVersion{}, "AWS::AppFlow::ConnectorProfile": &appflow.ConnectorProfile{}, "AWS::AppFlow::Flow": &appflow.Flow{}, + "AWS::AppIntegrations::DataIntegration": &appintegrations.DataIntegration{}, "AWS::AppIntegrations::EventIntegration": &appintegrations.EventIntegration{}, "AWS::AppMesh::GatewayRoute": &appmesh.GatewayRoute{}, "AWS::AppMesh::Mesh": &appmesh.Mesh{}, @@ -719,6 +721,7 @@ func AllResources() map[string]Resource { "AWS::KMS::Alias": &kms.Alias{}, "AWS::KMS::Key": &kms.Key{}, "AWS::KMS::ReplicaKey": &kms.ReplicaKey{}, + "AWS::KafkaConnect::Connector": &kafkaconnect.Connector{}, "AWS::Kendra::DataSource": &kendra.DataSource{}, "AWS::Kendra::Faq": &kendra.Faq{}, "AWS::Kendra::Index": &kendra.Index{}, @@ -754,8 +757,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{}, @@ -897,6 +903,7 @@ func AllResources() map[string]Resource { "AWS::RefactorSpaces::Environment": &refactorspaces.Environment{}, "AWS::RefactorSpaces::Route": &refactorspaces.Route{}, "AWS::RefactorSpaces::Service": &refactorspaces.Service{}, + "AWS::Rekognition::Collection": &rekognition.Collection{}, "AWS::Rekognition::Project": &rekognition.Project{}, "AWS::ResilienceHub::App": &resiliencehub.App{}, "AWS::ResilienceHub::ResiliencyPolicy": &resiliencehub.ResiliencyPolicy{}, @@ -2402,6 +2409,30 @@ func (t *Template) GetAppFlowFlowWithName(name string) (*appflow.Flow, error) { return nil, fmt.Errorf("resource %q of type appflow.Flow not found", name) } +// GetAllAppIntegrationsDataIntegrationResources retrieves all appintegrations.DataIntegration items from an AWS CloudFormation template +func (t *Template) GetAllAppIntegrationsDataIntegrationResources() map[string]*appintegrations.DataIntegration { + results := map[string]*appintegrations.DataIntegration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appintegrations.DataIntegration: + results[name] = resource + } + } + return results +} + +// GetAppIntegrationsDataIntegrationWithName retrieves all appintegrations.DataIntegration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppIntegrationsDataIntegrationWithName(name string) (*appintegrations.DataIntegration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appintegrations.DataIntegration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appintegrations.DataIntegration not found", name) +} + // GetAllAppIntegrationsEventIntegrationResources retrieves all appintegrations.EventIntegration items from an AWS CloudFormation template func (t *Template) GetAllAppIntegrationsEventIntegrationResources() map[string]*appintegrations.EventIntegration { results := map[string]*appintegrations.EventIntegration{} @@ -13682,6 +13713,30 @@ func (t *Template) GetKMSReplicaKeyWithName(name string) (*kms.ReplicaKey, error return nil, fmt.Errorf("resource %q of type kms.ReplicaKey not found", name) } +// GetAllKafkaConnectConnectorResources retrieves all kafkaconnect.Connector items from an AWS CloudFormation template +func (t *Template) GetAllKafkaConnectConnectorResources() map[string]*kafkaconnect.Connector { + results := map[string]*kafkaconnect.Connector{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *kafkaconnect.Connector: + results[name] = resource + } + } + return results +} + +// GetKafkaConnectConnectorWithName retrieves all kafkaconnect.Connector items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetKafkaConnectConnectorWithName(name string) (*kafkaconnect.Connector, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *kafkaconnect.Connector: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type kafkaconnect.Connector not found", name) +} + // GetAllKendraDataSourceResources retrieves all kendra.DataSource items from an AWS CloudFormation template func (t *Template) GetAllKendraDataSourceResources() map[string]*kendra.DataSource { results := map[string]*kendra.DataSource{} @@ -14522,6 +14577,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 +14673,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{} @@ -17954,6 +18081,30 @@ func (t *Template) GetRefactorSpacesServiceWithName(name string) (*refactorspace return nil, fmt.Errorf("resource %q of type refactorspaces.Service not found", name) } +// GetAllRekognitionCollectionResources retrieves all rekognition.Collection items from an AWS CloudFormation template +func (t *Template) GetAllRekognitionCollectionResources() map[string]*rekognition.Collection { + results := map[string]*rekognition.Collection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *rekognition.Collection: + results[name] = resource + } + } + return results +} + +// GetRekognitionCollectionWithName retrieves all rekognition.Collection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRekognitionCollectionWithName(name string) (*rekognition.Collection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *rekognition.Collection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type rekognition.Collection not found", name) +} + // GetAllRekognitionProjectResources retrieves all rekognition.Project items from an AWS CloudFormation template func (t *Template) GetAllRekognitionProjectResources() map[string]*rekognition.Project { results := map[string]*rekognition.Project{} diff --git a/cloudformation/appintegrations/aws-appintegrations-dataintegration.go b/cloudformation/appintegrations/aws-appintegrations-dataintegration.go new file mode 100644 index 0000000000..9f3ad9fbea --- /dev/null +++ b/cloudformation/appintegrations/aws-appintegrations-dataintegration.go @@ -0,0 +1,132 @@ +package appintegrations + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// DataIntegration AWS CloudFormation Resource (AWS::AppIntegrations::DataIntegration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html +type DataIntegration struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-description + Description string `json:"Description,omitempty"` + + // KmsKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-kmskey + KmsKey string `json:"KmsKey,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-name + Name string `json:"Name,omitempty"` + + // ScheduleConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-scheduleconfig + ScheduleConfig interface{} `json:"ScheduleConfig,omitempty"` + + // SourceURI AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-sourceuri + SourceURI string `json:"SourceURI,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-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 *DataIntegration) AWSCloudFormationType() string { + return "AWS::AppIntegrations::DataIntegration" +} + +// 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 DataIntegration) MarshalJSON() ([]byte, error) { + type Properties DataIntegration + 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 *DataIntegration) UnmarshalJSON(b []byte) error { + type Properties DataIntegration + 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 = DataIntegration(*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/appintegrations/aws-appintegrations-dataintegration_scheduleconfig.go b/cloudformation/appintegrations/aws-appintegrations-dataintegration_scheduleconfig.go new file mode 100644 index 0000000000..4800108c0e --- /dev/null +++ b/cloudformation/appintegrations/aws-appintegrations-dataintegration_scheduleconfig.go @@ -0,0 +1,45 @@ +package appintegrations + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// DataIntegration_ScheduleConfig AWS CloudFormation Resource (AWS::AppIntegrations::DataIntegration.ScheduleConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html +type DataIntegration_ScheduleConfig struct { + + // FirstExecutionFrom AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-firstexecutionfrom + FirstExecutionFrom string `json:"FirstExecutionFrom,omitempty"` + + // Object AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-object + Object string `json:"Object,omitempty"` + + // ScheduleExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-scheduleexpression + ScheduleExpression string `json:"ScheduleExpression,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 *DataIntegration_ScheduleConfig) AWSCloudFormationType() string { + return "AWS::AppIntegrations::DataIntegration.ScheduleConfig" +} 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..515e463446 --- /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: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-agreetoinstallhanadbclient + AgreeToInstallHANADBClient bool `json:"AgreeToInstallHANADBClient"` + + // HANAPort AWS CloudFormation Property + // Required: true + // 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: true + // 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: true + // 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/cognito/aws-cognito-userpool_smsconfiguration.go b/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go index 3ffc91b6ef..8de7955558 100644 --- a/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpool_smsconfiguration.go @@ -18,6 +18,11 @@ type UserPool_SmsConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn SnsCallerArn string `json:"SnsCallerArn,omitempty"` + // SnsRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snsregion + SnsRegion string `json:"SnsRegion,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` 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/dms/aws-dms-endpoint_s3settings.go b/cloudformation/dms/aws-dms-endpoint_s3settings.go index 14cf793e2b..dcfb81a7ee 100644 --- a/cloudformation/dms/aws-dms-endpoint_s3settings.go +++ b/cloudformation/dms/aws-dms-endpoint_s3settings.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html type Endpoint_S3Settings struct { + // AddColumnName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-addcolumnname + AddColumnName bool `json:"AddColumnName,omitempty"` + // BucketFolder AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketfolder @@ -18,6 +23,36 @@ type Endpoint_S3Settings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketname BucketName string `json:"BucketName,omitempty"` + // CannedAclForObjects AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cannedaclforobjects + CannedAclForObjects string `json:"CannedAclForObjects,omitempty"` + + // CdcInsertsAndUpdates AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cdcinsertsandupdates + CdcInsertsAndUpdates bool `json:"CdcInsertsAndUpdates,omitempty"` + + // CdcInsertsOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cdcinsertsonly + CdcInsertsOnly bool `json:"CdcInsertsOnly,omitempty"` + + // CdcMaxBatchInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cdcmaxbatchinterval + CdcMaxBatchInterval int `json:"CdcMaxBatchInterval,omitempty"` + + // CdcMinFileSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cdcminfilesize + CdcMinFileSize int `json:"CdcMinFileSize,omitempty"` + + // CdcPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-cdcpath + CdcPath string `json:"CdcPath,omitempty"` + // CompressionType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-compressiontype @@ -28,21 +63,141 @@ type Endpoint_S3Settings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvdelimiter CsvDelimiter string `json:"CsvDelimiter,omitempty"` + // CsvNoSupValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvnosupvalue + CsvNoSupValue string `json:"CsvNoSupValue,omitempty"` + + // CsvNullValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvnullvalue + CsvNullValue string `json:"CsvNullValue,omitempty"` + // CsvRowDelimiter AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvrowdelimiter CsvRowDelimiter string `json:"CsvRowDelimiter,omitempty"` + // DataFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-dataformat + DataFormat string `json:"DataFormat,omitempty"` + + // DataPageSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-datapagesize + DataPageSize int `json:"DataPageSize,omitempty"` + + // DatePartitionDelimiter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-datepartitiondelimiter + DatePartitionDelimiter string `json:"DatePartitionDelimiter,omitempty"` + + // DatePartitionEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-datepartitionenabled + DatePartitionEnabled bool `json:"DatePartitionEnabled,omitempty"` + + // DatePartitionSequence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-datepartitionsequence + DatePartitionSequence string `json:"DatePartitionSequence,omitempty"` + + // DatePartitionTimezone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-datepartitiontimezone + DatePartitionTimezone string `json:"DatePartitionTimezone,omitempty"` + + // DictPageSizeLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-dictpagesizelimit + DictPageSizeLimit int `json:"DictPageSizeLimit,omitempty"` + + // EnableStatistics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-enablestatistics + EnableStatistics bool `json:"EnableStatistics,omitempty"` + + // EncodingType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-encodingtype + EncodingType string `json:"EncodingType,omitempty"` + + // EncryptionMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-encryptionmode + EncryptionMode string `json:"EncryptionMode,omitempty"` + // ExternalTableDefinition AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-externaltabledefinition ExternalTableDefinition string `json:"ExternalTableDefinition,omitempty"` + // IgnoreHeaderRows AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-ignoreheaderrows + IgnoreHeaderRows int `json:"IgnoreHeaderRows,omitempty"` + + // IncludeOpForFullLoad AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-includeopforfullload + IncludeOpForFullLoad bool `json:"IncludeOpForFullLoad,omitempty"` + + // MaxFileSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-maxfilesize + MaxFileSize int `json:"MaxFileSize,omitempty"` + + // ParquetTimestampInMillisecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-parquettimestampinmillisecond + ParquetTimestampInMillisecond bool `json:"ParquetTimestampInMillisecond,omitempty"` + + // ParquetVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-parquetversion + ParquetVersion string `json:"ParquetVersion,omitempty"` + + // PreserveTransactions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-preservetransactions + PreserveTransactions bool `json:"PreserveTransactions,omitempty"` + + // Rfc4180 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-rfc4180 + Rfc4180 bool `json:"Rfc4180,omitempty"` + + // RowGroupLength AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-rowgrouplength + RowGroupLength int `json:"RowGroupLength,omitempty"` + + // ServerSideEncryptionKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-serversideencryptionkmskeyid + ServerSideEncryptionKmsKeyId string `json:"ServerSideEncryptionKmsKeyId,omitempty"` + // ServiceAccessRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-serviceaccessrolearn ServiceAccessRoleArn string `json:"ServiceAccessRoleArn,omitempty"` + // TimestampColumnName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-timestampcolumnname + TimestampColumnName string `json:"TimestampColumnName,omitempty"` + + // UseCsvNoSupValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-usecsvnosupvalue + UseCsvNoSupValue bool `json:"UseCsvNoSupValue,omitempty"` + + // UseTaskStartTimeForFullLoadTimestamp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-usetaskstarttimeforfullloadtimestamp + UseTaskStartTimeForFullLoadTimestamp bool `json:"UseTaskStartTimeForFullLoadTimestamp,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go index 59f575a39f..9094217148 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go @@ -123,6 +123,11 @@ type LaunchTemplate_LaunchTemplateData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-placement Placement *LaunchTemplate_Placement `json:"Placement,omitempty"` + // PrivateDnsNameOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions + PrivateDnsNameOptions *LaunchTemplate_PrivateDnsNameOptions `json:"PrivateDnsNameOptions,omitempty"` + // RamDiskId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ramdiskid diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go index cf0d18c3fb..b6c43efc5e 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_metadataoptions.go @@ -28,6 +28,11 @@ type LaunchTemplate_MetadataOptions struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httptokens HttpTokens string `json:"HttpTokens,omitempty"` + // InstanceMetadataTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-instancemetadatatags + InstanceMetadataTags string `json:"InstanceMetadataTags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_privatednsnameoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_privatednsnameoptions.go new file mode 100644 index 0000000000..89cee8623a --- /dev/null +++ b/cloudformation/ec2/aws-ec2-launchtemplate_privatednsnameoptions.go @@ -0,0 +1,45 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// LaunchTemplate_PrivateDnsNameOptions AWS CloudFormation Resource (AWS::EC2::LaunchTemplate.PrivateDnsNameOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions.html +type LaunchTemplate_PrivateDnsNameOptions struct { + + // EnableResourceNameDnsAAAARecord AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions-enableresourcenamednsaaaarecord + EnableResourceNameDnsAAAARecord bool `json:"EnableResourceNameDnsAAAARecord,omitempty"` + + // EnableResourceNameDnsARecord AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions-enableresourcenamednsarecord + EnableResourceNameDnsARecord bool `json:"EnableResourceNameDnsARecord,omitempty"` + + // HostnameType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions-hostnametype + HostnameType string `json:"HostnameType,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 *LaunchTemplate_PrivateDnsNameOptions) AWSCloudFormationType() string { + return "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" +} diff --git a/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go b/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go index 8e2ccbf148..d3f05c8da0 100644 --- a/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go +++ b/cloudformation/ecs/aws-ecs-taskdefinition_efsvolumeconfiguration.go @@ -11,7 +11,7 @@ type TaskDefinition_EFSVolumeConfiguration struct { // AuthorizationConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-authorizationconfig - AuthorizationConfig interface{} `json:"AuthorizationConfig,omitempty"` + AuthorizationConfig *TaskDefinition_AuthorizationConfig `json:"AuthorizationConfig,omitempty"` // FilesystemId AWS CloudFormation Property // Required: true diff --git a/cloudformation/events/aws-events-rule_sagemakerpipelineparameter.go b/cloudformation/events/aws-events-rule_sagemakerpipelineparameter.go new file mode 100644 index 0000000000..4ce0db3f86 --- /dev/null +++ b/cloudformation/events/aws-events-rule_sagemakerpipelineparameter.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_SageMakerPipelineParameter AWS CloudFormation Resource (AWS::Events::Rule.SageMakerPipelineParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html +type Rule_SageMakerPipelineParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html#cfn-events-rule-sagemakerpipelineparameter-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html#cfn-events-rule-sagemakerpipelineparameter-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Rule_SageMakerPipelineParameter) AWSCloudFormationType() string { + return "AWS::Events::Rule.SageMakerPipelineParameter" +} diff --git a/cloudformation/events/aws-events-rule_sagemakerpipelineparameters.go b/cloudformation/events/aws-events-rule_sagemakerpipelineparameters.go new file mode 100644 index 0000000000..432fbf2fc6 --- /dev/null +++ b/cloudformation/events/aws-events-rule_sagemakerpipelineparameters.go @@ -0,0 +1,35 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_SageMakerPipelineParameters AWS CloudFormation Resource (AWS::Events::Rule.SageMakerPipelineParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameters.html +type Rule_SageMakerPipelineParameters struct { + + // PipelineParameterList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameters.html#cfn-events-rule-sagemakerpipelineparameters-pipelineparameterlist + PipelineParameterList []Rule_SageMakerPipelineParameter `json:"PipelineParameterList,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 *Rule_SageMakerPipelineParameters) AWSCloudFormationType() string { + return "AWS::Events::Rule.SageMakerPipelineParameters" +} diff --git a/cloudformation/events/aws-events-rule_target.go b/cloudformation/events/aws-events-rule_target.go index 38d4f4655f..b3daa2ebab 100644 --- a/cloudformation/events/aws-events-rule_target.go +++ b/cloudformation/events/aws-events-rule_target.go @@ -78,6 +78,11 @@ type Rule_Target struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters RunCommandParameters *Rule_RunCommandParameters `json:"RunCommandParameters,omitempty"` + // SageMakerPipelineParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sagemakerpipelineparameters + SageMakerPipelineParameters *Rule_SageMakerPipelineParameters `json:"SageMakerPipelineParameters,omitempty"` + // SqsParameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters diff --git a/cloudformation/guardduty/aws-guardduty-detector_cfndatasourceconfigurations.go b/cloudformation/guardduty/aws-guardduty-detector_cfndatasourceconfigurations.go index 5810dcab4a..9d34e710f0 100644 --- a/cloudformation/guardduty/aws-guardduty-detector_cfndatasourceconfigurations.go +++ b/cloudformation/guardduty/aws-guardduty-detector_cfndatasourceconfigurations.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html type Detector_CFNDataSourceConfigurations struct { + // Kubernetes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-kubernetes + Kubernetes *Detector_CFNKubernetesConfiguration `json:"Kubernetes,omitempty"` + // S3Logs AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-s3logs diff --git a/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesauditlogsconfiguration.go b/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesauditlogsconfiguration.go new file mode 100644 index 0000000000..7db0cfb07c --- /dev/null +++ b/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesauditlogsconfiguration.go @@ -0,0 +1,35 @@ +package guardduty + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Detector_CFNKubernetesAuditLogsConfiguration AWS CloudFormation Resource (AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesauditlogsconfiguration.html +type Detector_CFNKubernetesAuditLogsConfiguration struct { + + // Enable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesauditlogsconfiguration.html#cfn-guardduty-detector-cfnkubernetesauditlogsconfiguration-enable + Enable bool `json:"Enable,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Detector_CFNKubernetesAuditLogsConfiguration) AWSCloudFormationType() string { + return "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" +} diff --git a/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesconfiguration.go b/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesconfiguration.go new file mode 100644 index 0000000000..5921cf4fd2 --- /dev/null +++ b/cloudformation/guardduty/aws-guardduty-detector_cfnkubernetesconfiguration.go @@ -0,0 +1,35 @@ +package guardduty + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Detector_CFNKubernetesConfiguration AWS CloudFormation Resource (AWS::GuardDuty::Detector.CFNKubernetesConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesconfiguration.html +type Detector_CFNKubernetesConfiguration struct { + + // AuditLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesconfiguration.html#cfn-guardduty-detector-cfnkubernetesconfiguration-auditlogs + AuditLogs *Detector_CFNKubernetesAuditLogsConfiguration `json:"AuditLogs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Detector_CFNKubernetesConfiguration) AWSCloudFormationType() string { + return "AWS::GuardDuty::Detector.CFNKubernetesConfiguration" +} diff --git a/cloudformation/ivs/aws-ivs-recordingconfiguration.go b/cloudformation/ivs/aws-ivs-recordingconfiguration.go index 7d680f8837..0ce125a851 100644 --- a/cloudformation/ivs/aws-ivs-recordingconfiguration.go +++ b/cloudformation/ivs/aws-ivs-recordingconfiguration.go @@ -28,6 +28,11 @@ type RecordingConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-tags Tags []tags.Tag `json:"Tags,omitempty"` + // ThumbnailConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration + ThumbnailConfiguration *RecordingConfiguration_ThumbnailConfiguration `json:"ThumbnailConfiguration,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ivs/aws-ivs-recordingconfiguration_thumbnailconfiguration.go b/cloudformation/ivs/aws-ivs-recordingconfiguration_thumbnailconfiguration.go new file mode 100644 index 0000000000..54f27743fe --- /dev/null +++ b/cloudformation/ivs/aws-ivs-recordingconfiguration_thumbnailconfiguration.go @@ -0,0 +1,40 @@ +package ivs + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// RecordingConfiguration_ThumbnailConfiguration AWS CloudFormation Resource (AWS::IVS::RecordingConfiguration.ThumbnailConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html +type RecordingConfiguration_ThumbnailConfiguration struct { + + // RecordingMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-recordingmode + RecordingMode string `json:"RecordingMode,omitempty"` + + // TargetIntervalSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-targetintervalseconds + TargetIntervalSeconds int `json:"TargetIntervalSeconds,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 *RecordingConfiguration_ThumbnailConfiguration) AWSCloudFormationType() string { + return "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go new file mode 100644 index 0000000000..5e812d1672 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector.go @@ -0,0 +1,161 @@ +package kafkaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector AWS CloudFormation Resource (AWS::KafkaConnect::Connector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html +type Connector struct { + + // Capacity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-capacity + Capacity *Connector_Capacity `json:"Capacity,omitempty"` + + // ConnectorConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-connectorconfiguration + ConnectorConfiguration map[string]string `json:"ConnectorConfiguration,omitempty"` + + // ConnectorDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-connectordescription + ConnectorDescription string `json:"ConnectorDescription,omitempty"` + + // ConnectorName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-connectorname + ConnectorName string `json:"ConnectorName,omitempty"` + + // KafkaCluster AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-kafkacluster + KafkaCluster *Connector_KafkaCluster `json:"KafkaCluster,omitempty"` + + // KafkaClusterClientAuthentication AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-kafkaclusterclientauthentication + KafkaClusterClientAuthentication *Connector_KafkaClusterClientAuthentication `json:"KafkaClusterClientAuthentication,omitempty"` + + // KafkaClusterEncryptionInTransit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-kafkaclusterencryptionintransit + KafkaClusterEncryptionInTransit *Connector_KafkaClusterEncryptionInTransit `json:"KafkaClusterEncryptionInTransit,omitempty"` + + // KafkaConnectVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-kafkaconnectversion + KafkaConnectVersion string `json:"KafkaConnectVersion,omitempty"` + + // LogDelivery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-logdelivery + LogDelivery *Connector_LogDelivery `json:"LogDelivery,omitempty"` + + // Plugins AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-plugins + Plugins []Connector_Plugin `json:"Plugins,omitempty"` + + // ServiceExecutionRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-serviceexecutionrolearn + ServiceExecutionRoleArn string `json:"ServiceExecutionRoleArn,omitempty"` + + // WorkerConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-workerconfiguration + WorkerConfiguration *Connector_WorkerConfiguration `json:"WorkerConfiguration,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 *Connector) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Connector) MarshalJSON() ([]byte, error) { + type Properties Connector + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Connector) UnmarshalJSON(b []byte) error { + type Properties Connector + res := &struct { + Type string + Properties *Properties + DependsOn []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 = Connector(*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/kafkaconnect/aws-kafkaconnect-connector_apachekafkacluster.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_apachekafkacluster.go new file mode 100644 index 0000000000..aa198dad92 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_apachekafkacluster.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_ApacheKafkaCluster AWS CloudFormation Resource (AWS::KafkaConnect::Connector.ApacheKafkaCluster) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-apachekafkacluster.html +type Connector_ApacheKafkaCluster struct { + + // BootstrapServers AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-apachekafkacluster.html#cfn-kafkaconnect-connector-apachekafkacluster-bootstrapservers + BootstrapServers string `json:"BootstrapServers,omitempty"` + + // Vpc AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-apachekafkacluster.html#cfn-kafkaconnect-connector-apachekafkacluster-vpc + Vpc *Connector_Vpc `json:"Vpc,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 *Connector_ApacheKafkaCluster) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.ApacheKafkaCluster" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_autoscaling.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_autoscaling.go new file mode 100644 index 0000000000..d8261863ff --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_autoscaling.go @@ -0,0 +1,55 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_AutoScaling AWS CloudFormation Resource (AWS::KafkaConnect::Connector.AutoScaling) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html +type Connector_AutoScaling struct { + + // MaxWorkerCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html#cfn-kafkaconnect-connector-autoscaling-maxworkercount + MaxWorkerCount int `json:"MaxWorkerCount"` + + // McuCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html#cfn-kafkaconnect-connector-autoscaling-mcucount + McuCount int `json:"McuCount"` + + // MinWorkerCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html#cfn-kafkaconnect-connector-autoscaling-minworkercount + MinWorkerCount int `json:"MinWorkerCount"` + + // ScaleInPolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html#cfn-kafkaconnect-connector-autoscaling-scaleinpolicy + ScaleInPolicy *Connector_ScaleInPolicy `json:"ScaleInPolicy,omitempty"` + + // ScaleOutPolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html#cfn-kafkaconnect-connector-autoscaling-scaleoutpolicy + ScaleOutPolicy *Connector_ScaleOutPolicy `json:"ScaleOutPolicy,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 *Connector_AutoScaling) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.AutoScaling" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_capacity.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_capacity.go new file mode 100644 index 0000000000..2fb1d6a958 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_capacity.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_Capacity AWS CloudFormation Resource (AWS::KafkaConnect::Connector.Capacity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-capacity.html +type Connector_Capacity struct { + + // AutoScaling AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-capacity.html#cfn-kafkaconnect-connector-capacity-autoscaling + AutoScaling *Connector_AutoScaling `json:"AutoScaling,omitempty"` + + // ProvisionedCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-capacity.html#cfn-kafkaconnect-connector-capacity-provisionedcapacity + ProvisionedCapacity *Connector_ProvisionedCapacity `json:"ProvisionedCapacity,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 *Connector_Capacity) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.Capacity" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_cloudwatchlogslogdelivery.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_cloudwatchlogslogdelivery.go new file mode 100644 index 0000000000..7a55766092 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_cloudwatchlogslogdelivery.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_CloudWatchLogsLogDelivery AWS CloudFormation Resource (AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-cloudwatchlogslogdelivery.html +type Connector_CloudWatchLogsLogDelivery struct { + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-cloudwatchlogslogdelivery.html#cfn-kafkaconnect-connector-cloudwatchlogslogdelivery-enabled + Enabled bool `json:"Enabled"` + + // LogGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-cloudwatchlogslogdelivery.html#cfn-kafkaconnect-connector-cloudwatchlogslogdelivery-loggroup + LogGroup string `json:"LogGroup,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 *Connector_CloudWatchLogsLogDelivery) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_customplugin.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_customplugin.go new file mode 100644 index 0000000000..2a1f8167ac --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_customplugin.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_CustomPlugin AWS CloudFormation Resource (AWS::KafkaConnect::Connector.CustomPlugin) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-customplugin.html +type Connector_CustomPlugin struct { + + // CustomPluginArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-customplugin.html#cfn-kafkaconnect-connector-customplugin-custompluginarn + CustomPluginArn string `json:"CustomPluginArn,omitempty"` + + // Revision AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-customplugin.html#cfn-kafkaconnect-connector-customplugin-revision + Revision int `json:"Revision"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_CustomPlugin) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.CustomPlugin" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_firehoselogdelivery.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_firehoselogdelivery.go new file mode 100644 index 0000000000..677667b7b9 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_firehoselogdelivery.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_FirehoseLogDelivery AWS CloudFormation Resource (AWS::KafkaConnect::Connector.FirehoseLogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-firehoselogdelivery.html +type Connector_FirehoseLogDelivery struct { + + // DeliveryStream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-firehoselogdelivery.html#cfn-kafkaconnect-connector-firehoselogdelivery-deliverystream + DeliveryStream string `json:"DeliveryStream,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-firehoselogdelivery.html#cfn-kafkaconnect-connector-firehoselogdelivery-enabled + Enabled bool `json:"Enabled"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_FirehoseLogDelivery) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.FirehoseLogDelivery" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkacluster.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkacluster.go new file mode 100644 index 0000000000..7e921ecf2f --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkacluster.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_KafkaCluster AWS CloudFormation Resource (AWS::KafkaConnect::Connector.KafkaCluster) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkacluster.html +type Connector_KafkaCluster struct { + + // ApacheKafkaCluster AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkacluster.html#cfn-kafkaconnect-connector-kafkacluster-apachekafkacluster + ApacheKafkaCluster *Connector_ApacheKafkaCluster `json:"ApacheKafkaCluster,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 *Connector_KafkaCluster) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.KafkaCluster" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterclientauthentication.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterclientauthentication.go new file mode 100644 index 0000000000..011535ab72 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterclientauthentication.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_KafkaClusterClientAuthentication AWS CloudFormation Resource (AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterclientauthentication.html +type Connector_KafkaClusterClientAuthentication struct { + + // AuthenticationType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterclientauthentication.html#cfn-kafkaconnect-connector-kafkaclusterclientauthentication-authenticationtype + AuthenticationType string `json:"AuthenticationType,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 *Connector_KafkaClusterClientAuthentication) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterencryptionintransit.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterencryptionintransit.go new file mode 100644 index 0000000000..c25ccb2722 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_kafkaclusterencryptionintransit.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_KafkaClusterEncryptionInTransit AWS CloudFormation Resource (AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterencryptionintransit.html +type Connector_KafkaClusterEncryptionInTransit struct { + + // EncryptionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterencryptionintransit.html#cfn-kafkaconnect-connector-kafkaclusterencryptionintransit-encryptiontype + EncryptionType string `json:"EncryptionType,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 *Connector_KafkaClusterEncryptionInTransit) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_logdelivery.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_logdelivery.go new file mode 100644 index 0000000000..3ba00c3bb6 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_logdelivery.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_LogDelivery AWS CloudFormation Resource (AWS::KafkaConnect::Connector.LogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-logdelivery.html +type Connector_LogDelivery struct { + + // WorkerLogDelivery AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-logdelivery.html#cfn-kafkaconnect-connector-logdelivery-workerlogdelivery + WorkerLogDelivery *Connector_WorkerLogDelivery `json:"WorkerLogDelivery,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 *Connector_LogDelivery) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.LogDelivery" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_plugin.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_plugin.go new file mode 100644 index 0000000000..8ac99d8a10 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_plugin.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_Plugin AWS CloudFormation Resource (AWS::KafkaConnect::Connector.Plugin) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-plugin.html +type Connector_Plugin struct { + + // CustomPlugin AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-plugin.html#cfn-kafkaconnect-connector-plugin-customplugin + CustomPlugin *Connector_CustomPlugin `json:"CustomPlugin,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 *Connector_Plugin) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.Plugin" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_provisionedcapacity.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_provisionedcapacity.go new file mode 100644 index 0000000000..3b64b4af59 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_provisionedcapacity.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_ProvisionedCapacity AWS CloudFormation Resource (AWS::KafkaConnect::Connector.ProvisionedCapacity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-provisionedcapacity.html +type Connector_ProvisionedCapacity struct { + + // McuCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-provisionedcapacity.html#cfn-kafkaconnect-connector-provisionedcapacity-mcucount + McuCount int `json:"McuCount,omitempty"` + + // WorkerCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-provisionedcapacity.html#cfn-kafkaconnect-connector-provisionedcapacity-workercount + WorkerCount int `json:"WorkerCount"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_ProvisionedCapacity) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.ProvisionedCapacity" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_s3logdelivery.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_s3logdelivery.go new file mode 100644 index 0000000000..feda69f929 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_s3logdelivery.go @@ -0,0 +1,45 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_S3LogDelivery AWS CloudFormation Resource (AWS::KafkaConnect::Connector.S3LogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-s3logdelivery.html +type Connector_S3LogDelivery struct { + + // Bucket AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-s3logdelivery.html#cfn-kafkaconnect-connector-s3logdelivery-bucket + Bucket string `json:"Bucket,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-s3logdelivery.html#cfn-kafkaconnect-connector-s3logdelivery-enabled + Enabled bool `json:"Enabled"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-s3logdelivery.html#cfn-kafkaconnect-connector-s3logdelivery-prefix + Prefix string `json:"Prefix,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 *Connector_S3LogDelivery) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.S3LogDelivery" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleinpolicy.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleinpolicy.go new file mode 100644 index 0000000000..e0aa573d1f --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleinpolicy.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_ScaleInPolicy AWS CloudFormation Resource (AWS::KafkaConnect::Connector.ScaleInPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleinpolicy.html +type Connector_ScaleInPolicy struct { + + // CpuUtilizationPercentage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleinpolicy.html#cfn-kafkaconnect-connector-scaleinpolicy-cpuutilizationpercentage + CpuUtilizationPercentage int `json:"CpuUtilizationPercentage"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_ScaleInPolicy) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.ScaleInPolicy" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleoutpolicy.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleoutpolicy.go new file mode 100644 index 0000000000..bdacb8ccac --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_scaleoutpolicy.go @@ -0,0 +1,35 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_ScaleOutPolicy AWS CloudFormation Resource (AWS::KafkaConnect::Connector.ScaleOutPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleoutpolicy.html +type Connector_ScaleOutPolicy struct { + + // CpuUtilizationPercentage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleoutpolicy.html#cfn-kafkaconnect-connector-scaleoutpolicy-cpuutilizationpercentage + CpuUtilizationPercentage int `json:"CpuUtilizationPercentage"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_ScaleOutPolicy) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.ScaleOutPolicy" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_vpc.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_vpc.go new file mode 100644 index 0000000000..8022946bfb --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_vpc.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_Vpc AWS CloudFormation Resource (AWS::KafkaConnect::Connector.Vpc) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-vpc.html +type Connector_Vpc struct { + + // SecurityGroups AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-vpc.html#cfn-kafkaconnect-connector-vpc-securitygroups + SecurityGroups []string `json:"SecurityGroups,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-vpc.html#cfn-kafkaconnect-connector-vpc-subnets + Subnets []string `json:"Subnets,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 *Connector_Vpc) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.Vpc" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerconfiguration.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerconfiguration.go new file mode 100644 index 0000000000..ffb54e08bf --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerconfiguration.go @@ -0,0 +1,40 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_WorkerConfiguration AWS CloudFormation Resource (AWS::KafkaConnect::Connector.WorkerConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerconfiguration.html +type Connector_WorkerConfiguration struct { + + // Revision AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerconfiguration.html#cfn-kafkaconnect-connector-workerconfiguration-revision + Revision int `json:"Revision"` + + // WorkerConfigurationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerconfiguration.html#cfn-kafkaconnect-connector-workerconfiguration-workerconfigurationarn + WorkerConfigurationArn string `json:"WorkerConfigurationArn,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 *Connector_WorkerConfiguration) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.WorkerConfiguration" +} diff --git a/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerlogdelivery.go b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerlogdelivery.go new file mode 100644 index 0000000000..439ce3b4a7 --- /dev/null +++ b/cloudformation/kafkaconnect/aws-kafkaconnect-connector_workerlogdelivery.go @@ -0,0 +1,45 @@ +package kafkaconnect + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Connector_WorkerLogDelivery AWS CloudFormation Resource (AWS::KafkaConnect::Connector.WorkerLogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerlogdelivery.html +type Connector_WorkerLogDelivery struct { + + // CloudWatchLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerlogdelivery.html#cfn-kafkaconnect-connector-workerlogdelivery-cloudwatchlogs + CloudWatchLogs *Connector_CloudWatchLogsLogDelivery `json:"CloudWatchLogs,omitempty"` + + // Firehose AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerlogdelivery.html#cfn-kafkaconnect-connector-workerlogdelivery-firehose + Firehose *Connector_FirehoseLogDelivery `json:"Firehose,omitempty"` + + // S3 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerlogdelivery.html#cfn-kafkaconnect-connector-workerlogdelivery-s3 + S3 *Connector_S3LogDelivery `json:"S3,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Connector_WorkerLogDelivery) AWSCloudFormationType() string { + return "AWS::KafkaConnect::Connector.WorkerLogDelivery" +} 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/location/aws-location-geofencecollection.go b/cloudformation/location/aws-location-geofencecollection.go index 07fb774675..854618ad54 100644 --- a/cloudformation/location/aws-location-geofencecollection.go +++ b/cloudformation/location/aws-location-geofencecollection.go @@ -28,7 +28,7 @@ type GeofenceCollection struct { KmsKeyId string `json:"KmsKeyId,omitempty"` // PricingPlan AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html#cfn-location-geofencecollection-pricingplan PricingPlan string `json:"PricingPlan,omitempty"` diff --git a/cloudformation/location/aws-location-map.go b/cloudformation/location/aws-location-map.go index 7eb058add5..7157e3327f 100644 --- a/cloudformation/location/aws-location-map.go +++ b/cloudformation/location/aws-location-map.go @@ -28,7 +28,7 @@ type Map struct { MapName string `json:"MapName,omitempty"` // PricingPlan AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html#cfn-location-map-pricingplan PricingPlan string `json:"PricingPlan,omitempty"` diff --git a/cloudformation/location/aws-location-placeindex.go b/cloudformation/location/aws-location-placeindex.go index 8d47d90c57..d0057ea70e 100644 --- a/cloudformation/location/aws-location-placeindex.go +++ b/cloudformation/location/aws-location-placeindex.go @@ -33,7 +33,7 @@ type PlaceIndex struct { IndexName string `json:"IndexName,omitempty"` // PricingPlan AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html#cfn-location-placeindex-pricingplan PricingPlan string `json:"PricingPlan,omitempty"` diff --git a/cloudformation/location/aws-location-routecalculator.go b/cloudformation/location/aws-location-routecalculator.go index f60a6119f5..4159cfe1ae 100644 --- a/cloudformation/location/aws-location-routecalculator.go +++ b/cloudformation/location/aws-location-routecalculator.go @@ -28,7 +28,7 @@ type RouteCalculator struct { Description string `json:"Description,omitempty"` // PricingPlan AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html#cfn-location-routecalculator-pricingplan PricingPlan string `json:"PricingPlan,omitempty"` diff --git a/cloudformation/location/aws-location-tracker.go b/cloudformation/location/aws-location-tracker.go index 4f337fc87a..e57819b7b6 100644 --- a/cloudformation/location/aws-location-tracker.go +++ b/cloudformation/location/aws-location-tracker.go @@ -28,7 +28,7 @@ type Tracker struct { PositionFiltering string `json:"PositionFiltering,omitempty"` // PricingPlan AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html#cfn-location-tracker-pricingplan PricingPlan string `json:"PricingPlan,omitempty"` diff --git a/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go b/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go index 3a334cfccb..105bb2a3be 100644 --- a/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go +++ b/cloudformation/msk/aws-msk-cluster_ebsstorageinfo.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html type Cluster_EBSStorageInfo struct { + // ProvisionedThroughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-provisionedthroughput + ProvisionedThroughput *Cluster_ProvisionedThroughput `json:"ProvisionedThroughput,omitempty"` + // VolumeSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-volumesize diff --git a/cloudformation/msk/aws-msk-cluster_provisionedthroughput.go b/cloudformation/msk/aws-msk-cluster_provisionedthroughput.go new file mode 100644 index 0000000000..7c6fb46f63 --- /dev/null +++ b/cloudformation/msk/aws-msk-cluster_provisionedthroughput.go @@ -0,0 +1,40 @@ +package msk + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Cluster_ProvisionedThroughput AWS CloudFormation Resource (AWS::MSK::Cluster.ProvisionedThroughput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html +type Cluster_ProvisionedThroughput struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-enabled + Enabled bool `json:"Enabled,omitempty"` + + // VolumeThroughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-volumethroughput + VolumeThroughput int `json:"VolumeThroughput,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 *Cluster_ProvisionedThroughput) AWSCloudFormationType() string { + return "AWS::MSK::Cluster.ProvisionedThroughput" +} diff --git a/cloudformation/rekognition/aws-rekognition-collection.go b/cloudformation/rekognition/aws-rekognition-collection.go new file mode 100644 index 0000000000..aabd8f61d4 --- /dev/null +++ b/cloudformation/rekognition/aws-rekognition-collection.go @@ -0,0 +1,112 @@ +package rekognition + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// Collection AWS CloudFormation Resource (AWS::Rekognition::Collection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html +type Collection struct { + + // CollectionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html#cfn-rekognition-collection-collectionid + CollectionId string `json:"CollectionId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html#cfn-rekognition-collection-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 *Collection) AWSCloudFormationType() string { + return "AWS::Rekognition::Collection" +} + +// 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 Collection) MarshalJSON() ([]byte, error) { + type Properties Collection + 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 *Collection) UnmarshalJSON(b []byte) error { + type Properties Collection + 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 = Collection(*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/robomaker/aws-robomaker-robotapplication.go b/cloudformation/robomaker/aws-robomaker-robotapplication.go index 74b56c199b..c9f68758f5 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplication.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplication.go @@ -17,6 +17,11 @@ type RobotApplication struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-currentrevisionid CurrentRevisionId string `json:"CurrentRevisionId,omitempty"` + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-environment + Environment string `json:"Environment,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-name @@ -28,14 +33,14 @@ type RobotApplication struct { RobotSoftwareSuite *RobotApplication_RobotSoftwareSuite `json:"RobotSoftwareSuite,omitempty"` // Sources AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources Sources []RobotApplication_SourceConfig `json:"Sources,omitempty"` // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-tags - Tags interface{} `json:"Tags,omitempty"` + Tags map[string]string `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go b/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go index 154d096491..48de203766 100644 --- a/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go +++ b/cloudformation/robomaker/aws-robomaker-robotapplication_robotsoftwaresuite.go @@ -14,7 +14,7 @@ type RobotApplication_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-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-version Version string `json:"Version,omitempty"` 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/route53/aws-route53-recordsetgroup_recordset.go b/cloudformation/route53/aws-route53-recordsetgroup_recordset.go index a7b5346864..5c627dbb28 100644 --- a/cloudformation/route53/aws-route53-recordsetgroup_recordset.go +++ b/cloudformation/route53/aws-route53-recordsetgroup_recordset.go @@ -13,11 +13,6 @@ type RecordSetGroup_RecordSet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget AliasTarget *RecordSetGroup_AliasTarget `json:"AliasTarget,omitempty"` - // Comment AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment - Comment string `json:"Comment,omitempty"` - // Failover AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover 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/secretsmanager/aws-secretsmanager-rotationschedule.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go index 8f06202e60..f71e00db92 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule.go @@ -17,6 +17,11 @@ type RotationSchedule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda HostedRotationLambda *RotationSchedule_HostedRotationLambda `json:"HostedRotationLambda,omitempty"` + // RotateImmediatelyOnUpdate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotateimmediatelyonupdate + RotateImmediatelyOnUpdate bool `json:"RotateImmediatelyOnUpdate,omitempty"` + // RotationLambdaARN AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationlambdaarn diff --git a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go index 8c260499ca..eef7b23475 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-rotationschedule_rotationrules.go @@ -13,6 +13,16 @@ type RotationSchedule_RotationRules struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html#cfn-secretsmanager-rotationschedule-rotationrules-automaticallyafterdays AutomaticallyAfterDays int `json:"AutomaticallyAfterDays,omitempty"` + // Duration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html#cfn-secretsmanager-rotationschedule-rotationrules-duration + Duration string `json:"Duration,omitempty"` + + // ScheduleExpression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html#cfn-secretsmanager-rotationschedule-rotationrules-scheduleexpression + ScheduleExpression string `json:"ScheduleExpression,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` 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/timestream/aws-timestream-table.go b/cloudformation/timestream/aws-timestream-table.go index 89dbf86395..969469b17f 100644 --- a/cloudformation/timestream/aws-timestream-table.go +++ b/cloudformation/timestream/aws-timestream-table.go @@ -18,6 +18,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-databasename DatabaseName string `json:"DatabaseName,omitempty"` + // MagneticStoreWriteProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-magneticstorewriteproperties + MagneticStoreWriteProperties interface{} `json:"MagneticStoreWriteProperties,omitempty"` + // RetentionProperties AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-retentionproperties 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..a2cced4e58 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -8022,6 +8022,109 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13852,6 +13955,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 +13998,42 @@ 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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26644,6 +26789,9 @@ var CdkSchema = `{ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30817,6 +30965,9 @@ var CdkSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30950,6 +31101,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": { @@ -31214,26 +31410,119 @@ var CdkSchema = `{ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32308,6 +32597,9 @@ var CdkSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32367,6 +32659,9 @@ var CdkSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39297,6 +39592,9 @@ var CdkSchema = `{ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39398,6 +39696,9 @@ var CdkSchema = `{ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39513,6 +39814,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46675,7 +46991,7 @@ var CdkSchema = `{ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54419,6 +54735,34 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54488,6 +54832,9 @@ var CdkSchema = `{ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63671,12 +64018,33 @@ var CdkSchema = `{ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65490,6 +65858,9 @@ var CdkSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65542,6 +65913,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74411,6 +74797,390 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81950,6 +82720,295 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82126,20 +83185,143 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82149,14 +83331,16 @@ var CdkSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82175,33 +83359,117 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82754,8 +84022,7 @@ var CdkSchema = `{ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82827,8 +84094,7 @@ var CdkSchema = `{ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82915,8 +84181,7 @@ var CdkSchema = `{ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82997,8 +84262,7 @@ var CdkSchema = `{ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83075,7 +84339,6 @@ var CdkSchema = `{ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84555,6 +85818,9 @@ var CdkSchema = `{ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84684,6 +85950,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103540,16 +104818,174 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103558,15 +104994,20 @@ var CdkSchema = `{ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103580,93 +105021,36 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103701,13 +105085,19 @@ var CdkSchema = `{ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103716,20 +105106,22 @@ var CdkSchema = `{ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103748,31 +105140,34 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103804,22 +105199,7 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103827,23 +105207,16 @@ var CdkSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103862,33 +105235,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104537,6 +105883,9 @@ var CdkSchema = `{ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104550,12 +105899,17 @@ var CdkSchema = `{ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104591,8 +105945,7 @@ var CdkSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104801,8 +106154,7 @@ var CdkSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104817,8 +106169,7 @@ var CdkSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105508,9 +106859,6 @@ var CdkSchema = `{ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111187,6 +112535,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 +112596,9 @@ var CdkSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111245,6 +112608,9 @@ var CdkSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113222,7 +114588,7 @@ var CdkSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116726,6 +118092,9 @@ var CdkSchema = `{ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116803,6 +118172,12 @@ var CdkSchema = `{ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -120263,6 +121638,9 @@ var CdkSchema = `{ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -125466,6 +126844,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -126876,6 +128257,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -126981,12 +128365,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" }, @@ -127410,6 +128803,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 0fae8166dc..f00de23066 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -8019,6 +8019,109 @@ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13849,6 +13952,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 +13995,42 @@ ], "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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26641,6 +26786,9 @@ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30814,6 +30962,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30947,6 +31098,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": { @@ -31211,26 +31407,119 @@ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32305,6 +32594,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32364,6 +32656,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39294,6 +39589,9 @@ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39395,6 +39693,9 @@ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39510,6 +39811,21 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46672,7 +46988,7 @@ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54416,6 +54732,34 @@ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54485,6 +54829,9 @@ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63668,12 +64015,33 @@ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65487,6 +65855,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65539,6 +65910,21 @@ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74408,6 +74794,390 @@ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81947,6 +82717,295 @@ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82123,20 +83182,143 @@ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82146,14 +83328,16 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82172,33 +83356,117 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82751,8 +84019,7 @@ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82824,8 +84091,7 @@ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82912,8 +84178,7 @@ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82994,8 +84259,7 @@ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83072,7 +84336,6 @@ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84552,6 +85815,9 @@ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84681,6 +85947,18 @@ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103537,16 +104815,174 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103555,15 +104991,20 @@ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103577,93 +105018,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103698,13 +105082,19 @@ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103713,20 +105103,22 @@ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103745,31 +105137,34 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103801,22 +105196,7 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103824,23 +105204,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103859,33 +105232,6 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104534,6 +105880,9 @@ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104547,12 +105896,17 @@ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104588,8 +105942,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104798,8 +106151,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104814,8 +106166,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105505,9 +106856,6 @@ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111184,6 +112532,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 +112593,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111242,6 +112605,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113219,7 +114585,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116723,6 +118089,9 @@ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116800,6 +118169,12 @@ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -120260,6 +121635,9 @@ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -125463,6 +126841,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -126873,6 +128254,9 @@ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -126978,12 +128362,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" }, @@ -127407,6 +128800,9 @@ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 878203c57b..a6017e0571 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -8022,6 +8022,109 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13852,6 +13955,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 +13998,42 @@ 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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26586,6 +26731,9 @@ var CloudformationSchema = `{ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30759,6 +30907,9 @@ var CloudformationSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30892,6 +31043,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": { @@ -31156,26 +31352,119 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32250,6 +32539,9 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32309,6 +32601,9 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39239,6 +39534,9 @@ var CloudformationSchema = `{ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39340,6 +39638,9 @@ var CloudformationSchema = `{ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39455,6 +39756,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46617,7 +46933,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54361,6 +54677,34 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54430,6 +54774,9 @@ var CloudformationSchema = `{ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63613,12 +63960,33 @@ var CloudformationSchema = `{ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65432,6 +65800,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65484,6 +65855,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74353,6 +74739,390 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81892,6 +82662,295 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82068,20 +83127,143 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82091,14 +83273,16 @@ var CloudformationSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82117,33 +83301,117 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82696,8 +83964,7 @@ var CloudformationSchema = `{ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82769,8 +84036,7 @@ var CloudformationSchema = `{ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82857,8 +84123,7 @@ var CloudformationSchema = `{ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82939,8 +84204,7 @@ var CloudformationSchema = `{ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83017,7 +84281,6 @@ var CloudformationSchema = `{ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84497,6 +85760,9 @@ var CloudformationSchema = `{ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84626,6 +85892,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103482,16 +104760,174 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103500,15 +104936,20 @@ var CloudformationSchema = `{ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103522,93 +104963,36 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103643,13 +105027,19 @@ var CloudformationSchema = `{ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103658,20 +105048,22 @@ var CloudformationSchema = `{ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103690,31 +105082,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103746,22 +105141,7 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103769,23 +105149,16 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103804,33 +105177,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104479,6 +105825,9 @@ var CloudformationSchema = `{ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104492,12 +105841,17 @@ var CloudformationSchema = `{ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104533,8 +105887,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104743,8 +106096,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104759,8 +106111,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105450,9 +106801,6 @@ var CloudformationSchema = `{ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111129,6 +112477,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 +112538,9 @@ var CloudformationSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111187,6 +112550,9 @@ var CloudformationSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113164,7 +114530,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116668,6 +118034,9 @@ var CloudformationSchema = `{ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116745,6 +118114,12 @@ var CloudformationSchema = `{ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -120205,6 +121580,9 @@ var CloudformationSchema = `{ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -125408,6 +126786,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -126815,6 +128196,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -126920,12 +128304,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" }, @@ -127349,6 +128742,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index b710b164b8..065f307e93 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -8019,6 +8019,109 @@ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13849,6 +13952,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 +13995,42 @@ ], "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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26583,6 +26728,9 @@ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30756,6 +30904,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30889,6 +31040,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": { @@ -31153,26 +31349,119 @@ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32247,6 +32536,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32306,6 +32598,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39236,6 +39531,9 @@ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39337,6 +39635,9 @@ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39452,6 +39753,21 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46614,7 +46930,7 @@ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54358,6 +54674,34 @@ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54427,6 +54771,9 @@ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63610,12 +63957,33 @@ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65429,6 +65797,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65481,6 +65852,21 @@ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74350,6 +74736,390 @@ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81889,6 +82659,295 @@ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82065,20 +83124,143 @@ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82088,14 +83270,16 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82114,33 +83298,117 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82693,8 +83961,7 @@ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82766,8 +84033,7 @@ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82854,8 +84120,7 @@ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82936,8 +84201,7 @@ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83014,7 +84278,6 @@ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84494,6 +85757,9 @@ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84623,6 +85889,18 @@ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103479,16 +104757,174 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103497,15 +104933,20 @@ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103519,93 +104960,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103640,13 +105024,19 @@ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103655,20 +105045,22 @@ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103687,31 +105079,34 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103743,22 +105138,7 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103766,23 +105146,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103801,33 +105174,6 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104476,6 +105822,9 @@ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104489,12 +105838,17 @@ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104530,8 +105884,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104740,8 +106093,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104756,8 +106108,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105447,9 +106798,6 @@ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111126,6 +112474,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 +112535,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111184,6 +112547,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113161,7 +114527,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116665,6 +118031,9 @@ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116742,6 +118111,12 @@ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -120202,6 +121577,9 @@ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -125405,6 +126783,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -126812,6 +128193,9 @@ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -126917,12 +128301,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" }, @@ -127346,6 +128739,9 @@ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, diff --git a/schema/sam.go b/schema/sam.go index 9bdcdb9dc3..fb93bd49d5 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -8022,6 +8022,109 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13852,6 +13955,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 +13998,42 @@ 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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26586,6 +26731,9 @@ var SamSchema = `{ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30759,6 +30907,9 @@ var SamSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30892,6 +31043,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": { @@ -31156,26 +31352,119 @@ var SamSchema = `{ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32250,6 +32539,9 @@ var SamSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32309,6 +32601,9 @@ var SamSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39239,6 +39534,9 @@ var SamSchema = `{ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39340,6 +39638,9 @@ var SamSchema = `{ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39455,6 +39756,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46617,7 +46933,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54361,6 +54677,34 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54430,6 +54774,9 @@ var SamSchema = `{ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63613,12 +63960,33 @@ var SamSchema = `{ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65432,6 +65800,9 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65484,6 +65855,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74353,6 +74739,390 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81892,6 +82662,295 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82068,20 +83127,143 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82091,14 +83273,16 @@ var SamSchema = `{ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82117,33 +83301,117 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82696,8 +83964,7 @@ var SamSchema = `{ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82769,8 +84036,7 @@ var SamSchema = `{ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82857,8 +84123,7 @@ var SamSchema = `{ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82939,8 +84204,7 @@ var SamSchema = `{ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83017,7 +84281,6 @@ var SamSchema = `{ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84497,6 +85760,9 @@ var SamSchema = `{ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84626,6 +85892,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103482,16 +104760,174 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103500,15 +104936,20 @@ var SamSchema = `{ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103522,93 +104963,36 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103643,13 +105027,19 @@ var SamSchema = `{ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103658,20 +105048,22 @@ var SamSchema = `{ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103690,31 +105082,34 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103746,22 +105141,7 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103769,23 +105149,16 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103804,33 +105177,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104479,6 +105825,9 @@ var SamSchema = `{ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104492,12 +105841,17 @@ var SamSchema = `{ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104533,8 +105887,7 @@ var SamSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104743,8 +106096,7 @@ var SamSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104759,8 +106111,7 @@ var SamSchema = `{ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105450,9 +106801,6 @@ var SamSchema = `{ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111129,6 +112477,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 +112538,9 @@ var SamSchema = `{ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111187,6 +112550,9 @@ var SamSchema = `{ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113164,7 +114530,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116668,6 +118034,9 @@ var SamSchema = `{ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116745,6 +118114,12 @@ var SamSchema = `{ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -122597,6 +123972,9 @@ var SamSchema = `{ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -128086,6 +129464,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -129493,6 +130874,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -129598,12 +130982,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" }, @@ -130027,6 +131420,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 391283781a..45e1d5ffb3 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -8019,6 +8019,109 @@ ], "type": "object" }, + "AWS::AppIntegrations::DataIntegration": { + "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": { + "Description": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "type": "object" + }, + "SourceURI": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KmsKey", + "Name", + "ScheduleConfig", + "SourceURI" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "FirstExecutionFrom": { + "type": "string" + }, + "Object": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "FirstExecutionFrom", + "Object", + "ScheduleExpression" + ], + "type": "object" + }, "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { @@ -13849,6 +13952,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 +13995,42 @@ ], "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" + } + }, + "required": [ + "AgreeToInstallHANADBClient", + "HANAPort", + "HANASID", + "HANASecretName" + ], + "type": "object" + }, "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { "additionalProperties": false, "properties": { @@ -26583,6 +26728,9 @@ }, "SnsCallerArn": { "type": "string" + }, + "SnsRegion": { + "type": "string" } }, "type": "object" @@ -30756,6 +30904,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings" + }, "IbmDb2Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" }, @@ -30889,6 +31040,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": { @@ -31153,26 +31349,119 @@ "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { + "AddColumnName": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, "BucketName": { "type": "string" }, + "CannedAclForObjects": { + "type": "string" + }, + "CdcInsertsAndUpdates": { + "type": "boolean" + }, + "CdcInsertsOnly": { + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "type": "number" + }, + "CdcMinFileSize": { + "type": "number" + }, + "CdcPath": { + "type": "string" + }, "CompressionType": { "type": "string" }, "CsvDelimiter": { "type": "string" }, + "CsvNoSupValue": { + "type": "string" + }, + "CsvNullValue": { + "type": "string" + }, "CsvRowDelimiter": { "type": "string" }, + "DataFormat": { + "type": "string" + }, + "DataPageSize": { + "type": "number" + }, + "DatePartitionDelimiter": { + "type": "string" + }, + "DatePartitionEnabled": { + "type": "boolean" + }, + "DatePartitionSequence": { + "type": "string" + }, + "DatePartitionTimezone": { + "type": "string" + }, + "DictPageSizeLimit": { + "type": "number" + }, + "EnableStatistics": { + "type": "boolean" + }, + "EncodingType": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "IgnoreHeaderRows": { + "type": "number" + }, + "IncludeOpForFullLoad": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "type": "boolean" + }, + "ParquetVersion": { + "type": "string" + }, + "PreserveTransactions": { + "type": "boolean" + }, + "Rfc4180": { + "type": "boolean" + }, + "RowGroupLength": { + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, "ServiceAccessRoleArn": { "type": "string" + }, + "TimestampColumnName": { + "type": "string" + }, + "UseCsvNoSupValue": { + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "type": "boolean" } }, "type": "object" @@ -32247,6 +32536,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -32306,6 +32598,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "Key": { "type": "string" } @@ -39236,6 +39531,9 @@ "Placement": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions" + }, "RamDiskId": { "type": "string" }, @@ -39337,6 +39635,9 @@ }, "HttpTokens": { "type": "string" + }, + "InstanceMetadataTags": { + "type": "string" } }, "type": "object" @@ -39452,6 +39753,21 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { @@ -46614,7 +46930,7 @@ "additionalProperties": false, "properties": { "AuthorizationConfig": { - "type": "object" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig" }, "FilesystemId": { "type": "string" @@ -54358,6 +54674,34 @@ ], "type": "object" }, + "AWS::Events::Rule.SageMakerPipelineParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Events::Rule.SageMakerPipelineParameters": { + "additionalProperties": false, + "properties": { + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Events::Rule.SqsParameters": { "additionalProperties": false, "properties": { @@ -54427,6 +54771,9 @@ "RunCommandParameters": { "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters" + }, "SqsParameters": { "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } @@ -63610,12 +63957,33 @@ "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { + "Kubernetes": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesConfiguration" + }, "S3Logs": { "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, + "AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNKubernetesAuditLogsConfiguration" + } + }, + "type": "object" + }, "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { @@ -65429,6 +65797,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.ThumbnailConfiguration" } }, "required": [ @@ -65481,6 +65852,21 @@ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration.ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "RecordingMode": { + "type": "string" + }, + "TargetIntervalSeconds": { + "type": "number" + } + }, + "required": [ + "RecordingMode" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -74350,6 +74736,390 @@ ], "type": "object" }, + "AWS::KafkaConnect::Connector": { + "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": { + "Capacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Capacity" + }, + "ConnectorConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConnectorDescription": { + "type": "string" + }, + "ConnectorName": { + "type": "string" + }, + "KafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaCluster" + }, + "KafkaClusterClientAuthentication": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication" + }, + "KafkaClusterEncryptionInTransit": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit" + }, + "KafkaConnectVersion": { + "type": "string" + }, + "LogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.LogDelivery" + }, + "Plugins": { + "items": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Plugin" + }, + "type": "array" + }, + "ServiceExecutionRoleArn": { + "type": "string" + }, + "WorkerConfiguration": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerConfiguration" + } + }, + "required": [ + "Capacity", + "ConnectorConfiguration", + "ConnectorName", + "KafkaCluster", + "KafkaClusterClientAuthentication", + "KafkaClusterEncryptionInTransit", + "KafkaConnectVersion", + "Plugins", + "ServiceExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ApacheKafkaCluster": { + "additionalProperties": false, + "properties": { + "BootstrapServers": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.Vpc" + } + }, + "required": [ + "BootstrapServers", + "Vpc" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.AutoScaling": { + "additionalProperties": false, + "properties": { + "MaxWorkerCount": { + "type": "number" + }, + "McuCount": { + "type": "number" + }, + "MinWorkerCount": { + "type": "number" + }, + "ScaleInPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleInPolicy" + }, + "ScaleOutPolicy": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ScaleOutPolicy" + } + }, + "required": [ + "MaxWorkerCount", + "McuCount", + "MinWorkerCount", + "ScaleInPolicy", + "ScaleOutPolicy" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Capacity": { + "additionalProperties": false, + "properties": { + "AutoScaling": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.AutoScaling" + }, + "ProvisionedCapacity": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ProvisionedCapacity" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.CustomPlugin": { + "additionalProperties": false, + "properties": { + "CustomPluginArn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "CustomPluginArn", + "Revision" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.FirehoseLogDelivery": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaCluster": { + "additionalProperties": false, + "properties": { + "ApacheKafkaCluster": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.ApacheKafkaCluster" + } + }, + "required": [ + "ApacheKafkaCluster" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterClientAuthentication": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + } + }, + "required": [ + "AuthenticationType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.KafkaClusterEncryptionInTransit": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.LogDelivery": { + "additionalProperties": false, + "properties": { + "WorkerLogDelivery": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.WorkerLogDelivery" + } + }, + "required": [ + "WorkerLogDelivery" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Plugin": { + "additionalProperties": false, + "properties": { + "CustomPlugin": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CustomPlugin" + } + }, + "required": [ + "CustomPlugin" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ProvisionedCapacity": { + "additionalProperties": false, + "properties": { + "McuCount": { + "type": "number" + }, + "WorkerCount": { + "type": "number" + } + }, + "required": [ + "WorkerCount" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.S3LogDelivery": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleInPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.ScaleOutPolicy": { + "additionalProperties": false, + "properties": { + "CpuUtilizationPercentage": { + "type": "number" + } + }, + "required": [ + "CpuUtilizationPercentage" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.Vpc": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerConfiguration": { + "additionalProperties": false, + "properties": { + "Revision": { + "type": "number" + }, + "WorkerConfigurationArn": { + "type": "string" + } + }, + "required": [ + "Revision", + "WorkerConfigurationArn" + ], + "type": "object" + }, + "AWS::KafkaConnect::Connector.WorkerLogDelivery": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.CloudWatchLogsLogDelivery" + }, + "Firehose": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.FirehoseLogDelivery" + }, + "S3": { + "$ref": "#/definitions/AWS::KafkaConnect::Connector.S3LogDelivery" + } + }, + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -81889,6 +82659,295 @@ }, "type": "object" }, + "AWS::Lightsail::Certificate": { + "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": { + "CertificateName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CertificateName", + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { @@ -82065,20 +83124,143 @@ "Properties": { "additionalProperties": false, "properties": { - "AddOns": { + "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::Disk.AddOn" + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehaviorPerPath" }, "type": "array" }, - "AvailabilityZone": { + "CertificateName": { "type": "string" }, - "DiskName": { + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.CacheBehavior" + }, + "DistributionName": { "type": "string" }, - "SizeInGb": { - "type": "number" + "IpAddressType": { + "type": "string" + }, + "IsEnabled": { + "type": "boolean" + }, + "Origin": { + "$ref": "#/definitions/AWS::Lightsail::Distribution.InputOrigin" }, "Tags": { "items": { @@ -82088,14 +83270,16 @@ } }, "required": [ - "DiskName", - "SizeInGb" + "BundleId", + "DefaultCacheBehavior", + "DistributionName", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Disk" + "AWS::Lightsail::Distribution" ], "type": "string" }, @@ -82114,33 +83298,117 @@ ], "type": "object" }, - "AWS::Lightsail::Disk.AddOn": { + "AWS::Lightsail::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "AddOnType": { + "Behavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheBehaviorPerPath": { + "additionalProperties": false, + "properties": { + "Behavior": { "type": "string" }, - "AutoSnapshotAddOnRequest": { - "$ref": "#/definitions/AWS::Lightsail::Disk.AutoSnapshotAddOn" + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Distribution.CacheSettings": { + "additionalProperties": false, + "properties": { + "AllowedHTTPMethods": { + "type": "string" }, - "Status": { + "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" } }, - "required": [ - "AddOnType" - ], "type": "object" }, - "AWS::Lightsail::Disk.AutoSnapshotAddOn": { + "AWS::Lightsail::Distribution.CookieObject": { "additionalProperties": false, "properties": { - "SnapshotTimeOfDay": { + "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": { @@ -82693,8 +83961,7 @@ } }, "required": [ - "CollectionName", - "PricingPlan" + "CollectionName" ], "type": "object" }, @@ -82766,8 +84033,7 @@ }, "required": [ "Configuration", - "MapName", - "PricingPlan" + "MapName" ], "type": "object" }, @@ -82854,8 +84120,7 @@ }, "required": [ "DataSource", - "IndexName", - "PricingPlan" + "IndexName" ], "type": "object" }, @@ -82936,8 +84201,7 @@ }, "required": [ "CalculatorName", - "DataSource", - "PricingPlan" + "DataSource" ], "type": "object" }, @@ -83014,7 +84278,6 @@ } }, "required": [ - "PricingPlan", "TrackerName" ], "type": "object" @@ -84494,6 +85757,9 @@ "AWS::MSK::Cluster.EBSStorageInfo": { "additionalProperties": false, "properties": { + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::MSK::Cluster.ProvisionedThroughput" + }, "VolumeSize": { "type": "number" } @@ -84623,6 +85889,18 @@ }, "type": "object" }, + "AWS::MSK::Cluster.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "VolumeThroughput": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MSK::Cluster.PublicAccess": { "additionalProperties": false, "properties": { @@ -103479,16 +104757,174 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput" + }, + "EnvironmentIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProxyType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { + "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": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFabricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RefactorSpaces::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route": { + "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": { + "ApplicationIdentifier": { + "type": "string" }, "EnvironmentIdentifier": { "type": "string" }, - "Name": { + "RouteType": { "type": "string" }, - "ProxyType": { + "ServiceIdentifier": { "type": "string" }, "Tags": { @@ -103497,15 +104933,20 @@ }, "type": "array" }, - "VpcId": { - "type": "string" + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" } }, + "required": [ + "ApplicationIdentifier", + "EnvironmentIdentifier", + "ServiceIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -103519,93 +104960,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { + "AWS::RefactorSpaces::Route.UriPathRouteInput": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActivationState": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFabricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103640,13 +105024,19 @@ "ApplicationIdentifier": { "type": "string" }, - "EnvironmentIdentifier": { + "Description": { "type": "string" }, - "RouteType": { + "EndpointType": { "type": "string" }, - "ServiceIdentifier": { + "EnvironmentIdentifier": { + "type": "string" + }, + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" + }, + "Name": { "type": "string" }, "Tags": { @@ -103655,20 +105045,22 @@ }, "type": "array" }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" + }, + "VpcId": { + "type": "string" } }, "required": [ "ApplicationIdentifier", - "EnvironmentIdentifier", - "ServiceIdentifier" + "EnvironmentIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -103687,31 +105079,34 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "ActivationState": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { "type": "string" }, - "IncludeChildPaths": { - "type": "boolean" - }, - "Methods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePath": { + "Url": { "type": "string" } }, "required": [ - "ActivationState" + "Url" ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -103743,22 +105138,7 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput" - }, - "Name": { + "CollectionId": { "type": "string" }, "Tags": { @@ -103766,23 +105146,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput" - }, - "VpcId": { - "type": "string" } }, "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier" + "CollectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -103801,33 +105174,6 @@ ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { - "additionalProperties": false, - "properties": { - "HealthUrl": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { @@ -104476,6 +105822,9 @@ "CurrentRevisionId": { "type": "string" }, + "Environment": { + "type": "string" + }, "Name": { "type": "string" }, @@ -104489,12 +105838,17 @@ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "RobotSoftwareSuite" ], "type": "object" }, @@ -104530,8 +105884,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104740,8 +106093,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -104756,8 +106108,7 @@ } }, "required": [ - "Name", - "Version" + "Name" ], "type": "object" }, @@ -105447,9 +106798,6 @@ "AliasTarget": { "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "Comment": { - "type": "string" - }, "Failover": { "type": "string" }, @@ -111126,6 +112474,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 +112535,9 @@ "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig" + }, "Comment": { "type": "string" }, @@ -111184,6 +112547,9 @@ "DocumentHashType": { "type": "string" }, + "DocumentVersion": { + "type": "string" + }, "NotificationConfig": { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" }, @@ -113161,7 +114527,7 @@ "additionalProperties": false, "properties": { "Device": { - "type": "object" + "$ref": "#/definitions/AWS::SageMaker::Device.Device" }, "DeviceFleetName": { "type": "string" @@ -116665,6 +118031,9 @@ "HostedRotationLambda": { "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, "RotationLambdaARN": { "type": "string" }, @@ -116742,6 +118111,12 @@ "properties": { "AutomaticallyAfterDays": { "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" } }, "type": "object" @@ -122594,6 +123969,9 @@ "DatabaseName": { "type": "string" }, + "MagneticStoreWriteProperties": { + "type": "object" + }, "RetentionProperties": { "type": "object" }, @@ -128083,6 +129461,9 @@ { "$ref": "#/definitions/AWS::AppFlow::Flow" }, + { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration" + }, { "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" }, @@ -129490,6 +130871,9 @@ { "$ref": "#/definitions/AWS::KMS::ReplicaKey" }, + { + "$ref": "#/definitions/AWS::KafkaConnect::Connector" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, @@ -129595,12 +130979,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" }, @@ -130024,6 +131417,9 @@ { "$ref": "#/definitions/AWS::RefactorSpaces::Service" }, + { + "$ref": "#/definitions/AWS::Rekognition::Collection" + }, { "$ref": "#/definitions/AWS::Rekognition::Project" },