From 1606bbe6d8a2b0bd206505ec38542e8d7f6512d6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:24:52 +0400 Subject: [PATCH] fix(schema): CloudFormation Updates (#400) Co-authored-by: Paul Maddox --- ...-certificateauthority_ocspconfiguration.go | 40 ++ ...ficateauthority_revocationconfiguration.go | 5 + cloudformation/all.go | 75 +++ ...appflow-flow_scheduledtriggerproperties.go | 5 + .../aws-appflow-flow_veevasourceproperties.go | 20 + .../cloudtrail/aws-cloudtrail-trail.go | 10 + .../aws-cloudtrail-trail_eventselector.go | 5 + .../aws-cloudtrail-trail_insightselector.go | 35 + ...arnotifications-notificationrule_target.go | 4 +- cloudformation/datasync/aws-datasync-task.go | 5 + ...luster_cloudwatchlogsdestinationdetails.go | 2 +- ...uster_kinesisfirehosedestinationdetails.go | 2 +- ...cluster_logdeliveryconfigurationrequest.go | 8 +- ...ngroup_cloudwatchlogsdestinationdetails.go | 2 +- ...group_kinesisfirehosedestinationdetails.go | 2 +- ...ongroup_logdeliveryconfigurationrequest.go | 8 +- .../aws-elasticloadbalancingv2-targetgroup.go | 5 + ...vents-rule_capacityproviderstrategyitem.go | 45 ++ .../events/aws-events-rule_ecsparameters.go | 41 ++ .../aws-events-rule_placementconstraint.go | 40 ++ .../aws-events-rule_placementstrategy.go | 40 ++ cloudformation/events/aws-events-rule_tag.go | 40 ++ .../aws-eventschemas-discoverer.go | 5 + cloudformation/iot/aws-iot-fleetmetric.go | 152 +++++ .../aws-iot-fleetmetric_aggregationtype.go | 40 ++ ...stream_dynamicpartitioningconfiguration.go | 40 ++ ...ream_extendeds3destinationconfiguration.go | 5 + .../redshift/aws-redshift-cluster.go | 5 - .../robomaker/aws-robomaker-fleet.go | 2 +- .../robomaker/aws-robomaker-robot.go | 2 +- .../aws-robomaker-simulationapplication.go | 2 +- .../s3/aws-s3-multiregionaccesspoint.go | 116 ++++ ...esspoint_publicaccessblockconfiguration.go | 50 ++ .../aws-s3-multiregionaccesspoint_region.go | 35 + .../s3/aws-s3-multiregionaccesspointpolicy.go | 111 ++++ ...bdefinition_dataqualityappspecification.go | 2 +- ...jobdefinition_modelbiasappspecification.go | 2 +- ...ion_modelexplainabilityappspecification.go | 2 +- ...definition_modelqualityappspecification.go | 2 +- ...itoringschedule_monitoringjobdefinition.go | 2 +- .../transfer/aws-transfer-server.go | 5 + .../aws-transfer-server_workflowdetail.go | 40 ++ .../aws-transfer-server_workflowdetails.go | 35 + schema/cloudformation.go | 606 +++++++++++++++++- schema/cloudformation.schema.json | 606 +++++++++++++++++- schema/sam.go | 606 +++++++++++++++++- schema/sam.schema.json | 606 +++++++++++++++++- 47 files changed, 3359 insertions(+), 159 deletions(-) create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_ocspconfiguration.go create mode 100644 cloudformation/cloudtrail/aws-cloudtrail-trail_insightselector.go create mode 100644 cloudformation/events/aws-events-rule_capacityproviderstrategyitem.go create mode 100644 cloudformation/events/aws-events-rule_placementconstraint.go create mode 100644 cloudformation/events/aws-events-rule_placementstrategy.go create mode 100644 cloudformation/events/aws-events-rule_tag.go create mode 100644 cloudformation/iot/aws-iot-fleetmetric.go create mode 100644 cloudformation/iot/aws-iot-fleetmetric_aggregationtype.go create mode 100644 cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dynamicpartitioningconfiguration.go create mode 100644 cloudformation/s3/aws-s3-multiregionaccesspoint.go create mode 100644 cloudformation/s3/aws-s3-multiregionaccesspoint_publicaccessblockconfiguration.go create mode 100644 cloudformation/s3/aws-s3-multiregionaccesspoint_region.go create mode 100644 cloudformation/s3/aws-s3-multiregionaccesspointpolicy.go create mode 100644 cloudformation/transfer/aws-transfer-server_workflowdetail.go create mode 100644 cloudformation/transfer/aws-transfer-server_workflowdetails.go diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_ocspconfiguration.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_ocspconfiguration.go new file mode 100644 index 0000000000..0f1bc5207e --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_ocspconfiguration.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// CertificateAuthority_OcspConfiguration AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.OcspConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html +type CertificateAuthority_OcspConfiguration struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html#cfn-acmpca-certificateauthority-ocspconfiguration-enabled + Enabled bool `json:"Enabled,omitempty"` + + // OcspCustomCname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html#cfn-acmpca-certificateauthority-ocspconfiguration-ocspcustomcname + OcspCustomCname string `json:"OcspCustomCname,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 *CertificateAuthority_OcspConfiguration) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.OcspConfiguration" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go index f827ae0d37..0a3a71adac 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_revocationconfiguration.go @@ -13,6 +13,11 @@ type CertificateAuthority_RevocationConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html#cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration CrlConfiguration *CertificateAuthority_CrlConfiguration `json:"CrlConfiguration,omitempty"` + // OcspConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html#cfn-acmpca-certificateauthority-revocationconfiguration-ocspconfiguration + OcspConfiguration *CertificateAuthority_OcspConfiguration `json:"OcspConfiguration,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/all.go b/cloudformation/all.go index da9dcbd7c9..1ac2b46d34 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -619,6 +619,7 @@ func AllResources() map[string]Resource { "AWS::IoT::CustomMetric": &iot.CustomMetric{}, "AWS::IoT::Dimension": &iot.Dimension{}, "AWS::IoT::DomainConfiguration": &iot.DomainConfiguration{}, + "AWS::IoT::FleetMetric": &iot.FleetMetric{}, "AWS::IoT::MitigationAction": &iot.MitigationAction{}, "AWS::IoT::Policy": &iot.Policy{}, "AWS::IoT::PolicyPrincipalAttachment": &iot.PolicyPrincipalAttachment{}, @@ -833,6 +834,8 @@ func AllResources() map[string]Resource { "AWS::S3::AccessPoint": &s3.AccessPoint{}, "AWS::S3::Bucket": &s3.Bucket{}, "AWS::S3::BucketPolicy": &s3.BucketPolicy{}, + "AWS::S3::MultiRegionAccessPoint": &s3.MultiRegionAccessPoint{}, + "AWS::S3::MultiRegionAccessPointPolicy": &s3.MultiRegionAccessPointPolicy{}, "AWS::S3::StorageLens": &s3.StorageLens{}, "AWS::S3ObjectLambda::AccessPoint": &s3objectlambda.AccessPoint{}, "AWS::S3ObjectLambda::AccessPointPolicy": &s3objectlambda.AccessPointPolicy{}, @@ -11606,6 +11609,30 @@ func (t *Template) GetIoTDomainConfigurationWithName(name string) (*iot.DomainCo return nil, fmt.Errorf("resource %q of type iot.DomainConfiguration not found", name) } +// GetAllIoTFleetMetricResources retrieves all iot.FleetMetric items from an AWS CloudFormation template +func (t *Template) GetAllIoTFleetMetricResources() map[string]*iot.FleetMetric { + results := map[string]*iot.FleetMetric{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *iot.FleetMetric: + results[name] = resource + } + } + return results +} + +// GetIoTFleetMetricWithName retrieves all iot.FleetMetric items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIoTFleetMetricWithName(name string) (*iot.FleetMetric, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *iot.FleetMetric: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type iot.FleetMetric not found", name) +} + // GetAllIoTMitigationActionResources retrieves all iot.MitigationAction items from an AWS CloudFormation template func (t *Template) GetAllIoTMitigationActionResources() map[string]*iot.MitigationAction { results := map[string]*iot.MitigationAction{} @@ -16742,6 +16769,54 @@ func (t *Template) GetS3BucketPolicyWithName(name string) (*s3.BucketPolicy, err return nil, fmt.Errorf("resource %q of type s3.BucketPolicy not found", name) } +// GetAllS3MultiRegionAccessPointResources retrieves all s3.MultiRegionAccessPoint items from an AWS CloudFormation template +func (t *Template) GetAllS3MultiRegionAccessPointResources() map[string]*s3.MultiRegionAccessPoint { + results := map[string]*s3.MultiRegionAccessPoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.MultiRegionAccessPoint: + results[name] = resource + } + } + return results +} + +// GetS3MultiRegionAccessPointWithName retrieves all s3.MultiRegionAccessPoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3MultiRegionAccessPointWithName(name string) (*s3.MultiRegionAccessPoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.MultiRegionAccessPoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.MultiRegionAccessPoint not found", name) +} + +// GetAllS3MultiRegionAccessPointPolicyResources retrieves all s3.MultiRegionAccessPointPolicy items from an AWS CloudFormation template +func (t *Template) GetAllS3MultiRegionAccessPointPolicyResources() map[string]*s3.MultiRegionAccessPointPolicy { + results := map[string]*s3.MultiRegionAccessPointPolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.MultiRegionAccessPointPolicy: + results[name] = resource + } + } + return results +} + +// GetS3MultiRegionAccessPointPolicyWithName retrieves all s3.MultiRegionAccessPointPolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3MultiRegionAccessPointPolicyWithName(name string) (*s3.MultiRegionAccessPointPolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.MultiRegionAccessPointPolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.MultiRegionAccessPointPolicy not found", name) +} + // GetAllS3StorageLensResources retrieves all s3.StorageLens items from an AWS CloudFormation template func (t *Template) GetAllS3StorageLensResources() map[string]*s3.StorageLens { results := map[string]*s3.StorageLens{} diff --git a/cloudformation/appflow/aws-appflow-flow_scheduledtriggerproperties.go b/cloudformation/appflow/aws-appflow-flow_scheduledtriggerproperties.go index 0f1ab02049..e89b356b1b 100644 --- a/cloudformation/appflow/aws-appflow-flow_scheduledtriggerproperties.go +++ b/cloudformation/appflow/aws-appflow-flow_scheduledtriggerproperties.go @@ -23,6 +23,11 @@ type Flow_ScheduledTriggerProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-scheduleexpression ScheduleExpression string `json:"ScheduleExpression,omitempty"` + // ScheduleOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-scheduleoffset + ScheduleOffset float64 `json:"ScheduleOffset,omitempty"` + // ScheduleStartTime AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-schedulestarttime diff --git a/cloudformation/appflow/aws-appflow-flow_veevasourceproperties.go b/cloudformation/appflow/aws-appflow-flow_veevasourceproperties.go index a1735450cd..b372556966 100644 --- a/cloudformation/appflow/aws-appflow-flow_veevasourceproperties.go +++ b/cloudformation/appflow/aws-appflow-flow_veevasourceproperties.go @@ -8,6 +8,26 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html type Flow_VeevaSourceProperties struct { + // DocumentType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-documenttype + DocumentType string `json:"DocumentType,omitempty"` + + // IncludeAllVersions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-includeallversions + IncludeAllVersions bool `json:"IncludeAllVersions,omitempty"` + + // IncludeRenditions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-includerenditions + IncludeRenditions bool `json:"IncludeRenditions,omitempty"` + + // IncludeSourceFiles AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-includesourcefiles + IncludeSourceFiles bool `json:"IncludeSourceFiles,omitempty"` + // Object AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-object diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail.go b/cloudformation/cloudtrail/aws-cloudtrail-trail.go index 7bac6d6ab8..2490ea17c2 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-trail.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail.go @@ -38,6 +38,11 @@ type Trail struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-includeglobalserviceevents IncludeGlobalServiceEvents bool `json:"IncludeGlobalServiceEvents,omitempty"` + // InsightSelectors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-insightselectors + InsightSelectors []Trail_InsightSelector `json:"InsightSelectors,omitempty"` + // IsLogging AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-islogging @@ -48,6 +53,11 @@ type Trail struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-ismultiregiontrail IsMultiRegionTrail bool `json:"IsMultiRegionTrail,omitempty"` + // IsOrganizationTrail AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-isorganizationtrail + IsOrganizationTrail bool `json:"IsOrganizationTrail,omitempty"` + // KMSKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-kmskeyid diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go b/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go index 6a8b4fb27b..cf62174dd4 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail_eventselector.go @@ -13,6 +13,11 @@ type Trail_EventSelector struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-dataresources DataResources []Trail_DataResource `json:"DataResources,omitempty"` + // ExcludeManagementEventSources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-excludemanagementeventsources + ExcludeManagementEventSources []string `json:"ExcludeManagementEventSources,omitempty"` + // IncludeManagementEvents AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-includemanagementevents diff --git a/cloudformation/cloudtrail/aws-cloudtrail-trail_insightselector.go b/cloudformation/cloudtrail/aws-cloudtrail-trail_insightselector.go new file mode 100644 index 0000000000..9f8abf7b61 --- /dev/null +++ b/cloudformation/cloudtrail/aws-cloudtrail-trail_insightselector.go @@ -0,0 +1,35 @@ +package cloudtrail + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Trail_InsightSelector AWS CloudFormation Resource (AWS::CloudTrail::Trail.InsightSelector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-insightselector.html +type Trail_InsightSelector struct { + + // InsightType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-insightselector.html#cfn-cloudtrail-trail-insightselector-insighttype + InsightType string `json:"InsightType,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 *Trail_InsightSelector) AWSCloudFormationType() string { + return "AWS::CloudTrail::Trail.InsightSelector" +} diff --git a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go index c89b858023..25768d17f2 100644 --- a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go +++ b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule_target.go @@ -9,12 +9,12 @@ import ( type NotificationRule_Target struct { // TargetAddress AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targetaddress TargetAddress string `json:"TargetAddress,omitempty"` // TargetType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targettype TargetType string `json:"TargetType,omitempty"` diff --git a/cloudformation/datasync/aws-datasync-task.go b/cloudformation/datasync/aws-datasync-task.go index 37d9ce47bf..25a6348d24 100644 --- a/cloudformation/datasync/aws-datasync-task.go +++ b/cloudformation/datasync/aws-datasync-task.go @@ -28,6 +28,11 @@ type Task struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-excludes Excludes []Task_FilterRule `json:"Excludes,omitempty"` + // Includes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-includes + Includes []Task_FilterRule `json:"Includes,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-name diff --git a/cloudformation/elasticache/aws-elasticache-cachecluster_cloudwatchlogsdestinationdetails.go b/cloudformation/elasticache/aws-elasticache-cachecluster_cloudwatchlogsdestinationdetails.go index 6d0a64f8ee..3f7e5f49dd 100644 --- a/cloudformation/elasticache/aws-elasticache-cachecluster_cloudwatchlogsdestinationdetails.go +++ b/cloudformation/elasticache/aws-elasticache-cachecluster_cloudwatchlogsdestinationdetails.go @@ -9,7 +9,7 @@ import ( type CacheCluster_CloudWatchLogsDestinationDetails struct { // LogGroup AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-cloudwatchlogsdestinationdetails.html#cfn-elasticache-cachecluster-cloudwatchlogsdestinationdetails-loggroup LogGroup string `json:"LogGroup,omitempty"` diff --git a/cloudformation/elasticache/aws-elasticache-cachecluster_kinesisfirehosedestinationdetails.go b/cloudformation/elasticache/aws-elasticache-cachecluster_kinesisfirehosedestinationdetails.go index 8af174f90e..bc367150ff 100644 --- a/cloudformation/elasticache/aws-elasticache-cachecluster_kinesisfirehosedestinationdetails.go +++ b/cloudformation/elasticache/aws-elasticache-cachecluster_kinesisfirehosedestinationdetails.go @@ -9,7 +9,7 @@ import ( type CacheCluster_KinesisFirehoseDestinationDetails struct { // DeliveryStream AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-kinesisfirehosedestinationdetails.html#cfn-elasticache-cachecluster-kinesisfirehosedestinationdetails-deliverystream DeliveryStream string `json:"DeliveryStream,omitempty"` diff --git a/cloudformation/elasticache/aws-elasticache-cachecluster_logdeliveryconfigurationrequest.go b/cloudformation/elasticache/aws-elasticache-cachecluster_logdeliveryconfigurationrequest.go index b698163e30..e3c6919e2a 100644 --- a/cloudformation/elasticache/aws-elasticache-cachecluster_logdeliveryconfigurationrequest.go +++ b/cloudformation/elasticache/aws-elasticache-cachecluster_logdeliveryconfigurationrequest.go @@ -9,22 +9,22 @@ import ( type CacheCluster_LogDeliveryConfigurationRequest struct { // DestinationDetails AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationdetails DestinationDetails *CacheCluster_DestinationDetails `json:"DestinationDetails,omitempty"` // DestinationType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationtype DestinationType string `json:"DestinationType,omitempty"` // LogFormat AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logformat LogFormat string `json:"LogFormat,omitempty"` // LogType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logtype LogType string `json:"LogType,omitempty"` diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup_cloudwatchlogsdestinationdetails.go b/cloudformation/elasticache/aws-elasticache-replicationgroup_cloudwatchlogsdestinationdetails.go index def0055a9d..ba758608c7 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup_cloudwatchlogsdestinationdetails.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup_cloudwatchlogsdestinationdetails.go @@ -9,7 +9,7 @@ import ( type ReplicationGroup_CloudWatchLogsDestinationDetails struct { // LogGroup AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-cloudwatchlogsdestinationdetails.html#cfn-elasticache-replicationgroup-cloudwatchlogsdestinationdetails-loggroup LogGroup string `json:"LogGroup,omitempty"` diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup_kinesisfirehosedestinationdetails.go b/cloudformation/elasticache/aws-elasticache-replicationgroup_kinesisfirehosedestinationdetails.go index 693f181105..757ac3f033 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup_kinesisfirehosedestinationdetails.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup_kinesisfirehosedestinationdetails.go @@ -9,7 +9,7 @@ import ( type ReplicationGroup_KinesisFirehoseDestinationDetails struct { // DeliveryStream AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-kinesisfirehosedestinationdetails.html#cfn-elasticache-replicationgroup-kinesisfirehosedestinationdetails-deliverystream DeliveryStream string `json:"DeliveryStream,omitempty"` diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup_logdeliveryconfigurationrequest.go b/cloudformation/elasticache/aws-elasticache-replicationgroup_logdeliveryconfigurationrequest.go index 34f69676c9..52c82cd424 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup_logdeliveryconfigurationrequest.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup_logdeliveryconfigurationrequest.go @@ -9,22 +9,22 @@ import ( type ReplicationGroup_LogDeliveryConfigurationRequest struct { // DestinationDetails AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-destinationdetails DestinationDetails *ReplicationGroup_DestinationDetails `json:"DestinationDetails,omitempty"` // DestinationType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-destinationtype DestinationType string `json:"DestinationType,omitempty"` // LogFormat AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-logformat LogFormat string `json:"LogFormat,omitempty"` // LogType AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-logtype LogType string `json:"LogType,omitempty"` diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go index 31f78bb305..0736d7a791 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go @@ -48,6 +48,11 @@ type TargetGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthythresholdcount HealthyThresholdCount int `json:"HealthyThresholdCount,omitempty"` + // IpAddressType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-ipaddresstype + IpAddressType string `json:"IpAddressType,omitempty"` + // Matcher AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-matcher diff --git a/cloudformation/events/aws-events-rule_capacityproviderstrategyitem.go b/cloudformation/events/aws-events-rule_capacityproviderstrategyitem.go new file mode 100644 index 0000000000..f1a7b90b74 --- /dev/null +++ b/cloudformation/events/aws-events-rule_capacityproviderstrategyitem.go @@ -0,0 +1,45 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_CapacityProviderStrategyItem AWS CloudFormation Resource (AWS::Events::Rule.CapacityProviderStrategyItem) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html +type Rule_CapacityProviderStrategyItem struct { + + // Base AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-base + Base int `json:"Base,omitempty"` + + // CapacityProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-capacityprovider + CapacityProvider string `json:"CapacityProvider,omitempty"` + + // Weight AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-weight + Weight int `json:"Weight,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_CapacityProviderStrategyItem) AWSCloudFormationType() string { + return "AWS::Events::Rule.CapacityProviderStrategyItem" +} diff --git a/cloudformation/events/aws-events-rule_ecsparameters.go b/cloudformation/events/aws-events-rule_ecsparameters.go index 87cbca72ac..ed4adfa6fe 100644 --- a/cloudformation/events/aws-events-rule_ecsparameters.go +++ b/cloudformation/events/aws-events-rule_ecsparameters.go @@ -2,12 +2,28 @@ package events import ( "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" ) // Rule_EcsParameters AWS CloudFormation Resource (AWS::Events::Rule.EcsParameters) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html type Rule_EcsParameters struct { + // CapacityProviderStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-capacityproviderstrategy + CapacityProviderStrategy []Rule_CapacityProviderStrategyItem `json:"CapacityProviderStrategy,omitempty"` + + // EnableECSManagedTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-enableecsmanagedtags + EnableECSManagedTags bool `json:"EnableECSManagedTags,omitempty"` + + // EnableExecuteCommand AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-enableexecutecommand + EnableExecuteCommand bool `json:"EnableExecuteCommand,omitempty"` + // Group AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group @@ -23,11 +39,36 @@ type Rule_EcsParameters struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration NetworkConfiguration *Rule_NetworkConfiguration `json:"NetworkConfiguration,omitempty"` + // PlacementConstraints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-placementconstraints + PlacementConstraints []Rule_PlacementConstraint `json:"PlacementConstraints,omitempty"` + + // PlacementStrategies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-placementstrategies + PlacementStrategies []Rule_PlacementStrategy `json:"PlacementStrategies,omitempty"` + // PlatformVersion AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion PlatformVersion string `json:"PlatformVersion,omitempty"` + // PropagateTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-propagatetags + PropagateTags string `json:"PropagateTags,omitempty"` + + // ReferenceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-referenceid + ReferenceId string `json:"ReferenceId,omitempty"` + + // TagList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taglist + TagList []tags.Tag `json:"TagList,omitempty"` + // TaskCount AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount diff --git a/cloudformation/events/aws-events-rule_placementconstraint.go b/cloudformation/events/aws-events-rule_placementconstraint.go new file mode 100644 index 0000000000..9a2aa665fa --- /dev/null +++ b/cloudformation/events/aws-events-rule_placementconstraint.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_PlacementConstraint AWS CloudFormation Resource (AWS::Events::Rule.PlacementConstraint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html +type Rule_PlacementConstraint struct { + + // Expression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html#cfn-events-rule-placementconstraint-expression + Expression string `json:"Expression,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html#cfn-events-rule-placementconstraint-type + Type string `json:"Type,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_PlacementConstraint) AWSCloudFormationType() string { + return "AWS::Events::Rule.PlacementConstraint" +} diff --git a/cloudformation/events/aws-events-rule_placementstrategy.go b/cloudformation/events/aws-events-rule_placementstrategy.go new file mode 100644 index 0000000000..fc46bd59b1 --- /dev/null +++ b/cloudformation/events/aws-events-rule_placementstrategy.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_PlacementStrategy AWS CloudFormation Resource (AWS::Events::Rule.PlacementStrategy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html +type Rule_PlacementStrategy struct { + + // Field AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html#cfn-events-rule-placementstrategy-field + Field string `json:"Field,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html#cfn-events-rule-placementstrategy-type + Type string `json:"Type,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_PlacementStrategy) AWSCloudFormationType() string { + return "AWS::Events::Rule.PlacementStrategy" +} diff --git a/cloudformation/events/aws-events-rule_tag.go b/cloudformation/events/aws-events-rule_tag.go new file mode 100644 index 0000000000..48d9b9d82d --- /dev/null +++ b/cloudformation/events/aws-events-rule_tag.go @@ -0,0 +1,40 @@ +package events + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Rule_Tag AWS CloudFormation Resource (AWS::Events::Rule.Tag) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html +type Rule_Tag struct { + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html#cfn-events-rule-tag-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html#cfn-events-rule-tag-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_Tag) AWSCloudFormationType() string { + return "AWS::Events::Rule.Tag" +} diff --git a/cloudformation/eventschemas/aws-eventschemas-discoverer.go b/cloudformation/eventschemas/aws-eventschemas-discoverer.go index c5a1d8c9d2..c8f145d833 100644 --- a/cloudformation/eventschemas/aws-eventschemas-discoverer.go +++ b/cloudformation/eventschemas/aws-eventschemas-discoverer.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html type Discoverer struct { + // CrossAccount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-crossaccount + CrossAccount bool `json:"CrossAccount,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-description diff --git a/cloudformation/iot/aws-iot-fleetmetric.go b/cloudformation/iot/aws-iot-fleetmetric.go new file mode 100644 index 0000000000..7e300cef07 --- /dev/null +++ b/cloudformation/iot/aws-iot-fleetmetric.go @@ -0,0 +1,152 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// FleetMetric AWS CloudFormation Resource (AWS::IoT::FleetMetric) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html +type FleetMetric struct { + + // AggregationField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-aggregationfield + AggregationField string `json:"AggregationField,omitempty"` + + // AggregationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-aggregationtype + AggregationType *FleetMetric_AggregationType `json:"AggregationType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-description + Description string `json:"Description,omitempty"` + + // IndexName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-indexname + IndexName string `json:"IndexName,omitempty"` + + // MetricName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-metricname + MetricName string `json:"MetricName,omitempty"` + + // Period AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-period + Period int `json:"Period,omitempty"` + + // QueryString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-querystring + QueryString string `json:"QueryString,omitempty"` + + // QueryVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-queryversion + QueryVersion string `json:"QueryVersion,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Unit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html#cfn-iot-fleetmetric-unit + Unit string `json:"Unit,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 *FleetMetric) AWSCloudFormationType() string { + return "AWS::IoT::FleetMetric" +} + +// 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 FleetMetric) MarshalJSON() ([]byte, error) { + type Properties FleetMetric + 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 *FleetMetric) UnmarshalJSON(b []byte) error { + type Properties FleetMetric + 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 = FleetMetric(*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/iot/aws-iot-fleetmetric_aggregationtype.go b/cloudformation/iot/aws-iot-fleetmetric_aggregationtype.go new file mode 100644 index 0000000000..0d959b8cb9 --- /dev/null +++ b/cloudformation/iot/aws-iot-fleetmetric_aggregationtype.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// FleetMetric_AggregationType AWS CloudFormation Resource (AWS::IoT::FleetMetric.AggregationType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-fleetmetric-aggregationtype.html +type FleetMetric_AggregationType struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-fleetmetric-aggregationtype.html#cfn-iot-fleetmetric-aggregationtype-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-fleetmetric-aggregationtype.html#cfn-iot-fleetmetric-aggregationtype-values + Values []string `json:"Values,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 *FleetMetric_AggregationType) AWSCloudFormationType() string { + return "AWS::IoT::FleetMetric.AggregationType" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dynamicpartitioningconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dynamicpartitioningconfiguration.go new file mode 100644 index 0000000000..0222931896 --- /dev/null +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_dynamicpartitioningconfiguration.go @@ -0,0 +1,40 @@ +package kinesisfirehose + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// DeliveryStream_DynamicPartitioningConfiguration AWS CloudFormation Resource (AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration.html +type DeliveryStream_DynamicPartitioningConfiguration struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration.html#cfn-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration-enabled + Enabled bool `json:"Enabled,omitempty"` + + // RetryOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration.html#cfn-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration-retryoptions + RetryOptions *DeliveryStream_RetryOptions `json:"RetryOptions,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 *DeliveryStream_DynamicPartitioningConfiguration) AWSCloudFormationType() string { + return "AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration" +} diff --git a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go index eb5634d7fd..de5fd814b7 100644 --- a/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go +++ b/cloudformation/kinesisfirehose/aws-kinesisfirehose-deliverystream_extendeds3destinationconfiguration.go @@ -33,6 +33,11 @@ type DeliveryStream_ExtendedS3DestinationConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dataformatconversionconfiguration DataFormatConversionConfiguration *DeliveryStream_DataFormatConversionConfiguration `json:"DataFormatConversionConfiguration,omitempty"` + // DynamicPartitioningConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dynamicpartitioningconfiguration + DynamicPartitioningConfiguration *DeliveryStream_DynamicPartitioningConfiguration `json:"DynamicPartitioningConfiguration,omitempty"` + // EncryptionConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-encryptionconfiguration diff --git a/cloudformation/redshift/aws-redshift-cluster.go b/cloudformation/redshift/aws-redshift-cluster.go index dd3bd5fba0..2519b368de 100644 --- a/cloudformation/redshift/aws-redshift-cluster.go +++ b/cloudformation/redshift/aws-redshift-cluster.go @@ -98,11 +98,6 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-defermaintenanceendtime DeferMaintenanceEndTime string `json:"DeferMaintenanceEndTime,omitempty"` - // DeferMaintenanceIdentifier AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-defermaintenanceidentifier - DeferMaintenanceIdentifier string `json:"DeferMaintenanceIdentifier,omitempty"` - // DeferMaintenanceStartTime AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-defermaintenancestarttime diff --git a/cloudformation/robomaker/aws-robomaker-fleet.go b/cloudformation/robomaker/aws-robomaker-fleet.go index 438e5a8a74..5e8823c405 100644 --- a/cloudformation/robomaker/aws-robomaker-fleet.go +++ b/cloudformation/robomaker/aws-robomaker-fleet.go @@ -20,7 +20,7 @@ type Fleet struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html#cfn-robomaker-fleet-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-robot.go b/cloudformation/robomaker/aws-robomaker-robot.go index 9155e128c8..347253aa1d 100644 --- a/cloudformation/robomaker/aws-robomaker-robot.go +++ b/cloudformation/robomaker/aws-robomaker-robot.go @@ -35,7 +35,7 @@ type Robot struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-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-simulationapplication.go b/cloudformation/robomaker/aws-robomaker-simulationapplication.go index 0cb7f64313..36fb8cf72d 100644 --- a/cloudformation/robomaker/aws-robomaker-simulationapplication.go +++ b/cloudformation/robomaker/aws-robomaker-simulationapplication.go @@ -45,7 +45,7 @@ type SimulationApplication struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-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/s3/aws-s3-multiregionaccesspoint.go b/cloudformation/s3/aws-s3-multiregionaccesspoint.go new file mode 100644 index 0000000000..5d85e04cfb --- /dev/null +++ b/cloudformation/s3/aws-s3-multiregionaccesspoint.go @@ -0,0 +1,116 @@ +package s3 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// MultiRegionAccessPoint AWS CloudFormation Resource (AWS::S3::MultiRegionAccessPoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html +type MultiRegionAccessPoint struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-name + Name string `json:"Name,omitempty"` + + // PublicAccessBlockConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration + PublicAccessBlockConfiguration *MultiRegionAccessPoint_PublicAccessBlockConfiguration `json:"PublicAccessBlockConfiguration,omitempty"` + + // Regions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-regions + Regions []MultiRegionAccessPoint_Region `json:"Regions,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 *MultiRegionAccessPoint) AWSCloudFormationType() string { + return "AWS::S3::MultiRegionAccessPoint" +} + +// 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 MultiRegionAccessPoint) MarshalJSON() ([]byte, error) { + type Properties MultiRegionAccessPoint + 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 *MultiRegionAccessPoint) UnmarshalJSON(b []byte) error { + type Properties MultiRegionAccessPoint + 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 = MultiRegionAccessPoint(*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/s3/aws-s3-multiregionaccesspoint_publicaccessblockconfiguration.go b/cloudformation/s3/aws-s3-multiregionaccesspoint_publicaccessblockconfiguration.go new file mode 100644 index 0000000000..ea93343354 --- /dev/null +++ b/cloudformation/s3/aws-s3-multiregionaccesspoint_publicaccessblockconfiguration.go @@ -0,0 +1,50 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// MultiRegionAccessPoint_PublicAccessBlockConfiguration AWS CloudFormation Resource (AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html +type MultiRegionAccessPoint_PublicAccessBlockConfiguration struct { + + // BlockPublicAcls AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicacls + BlockPublicAcls bool `json:"BlockPublicAcls,omitempty"` + + // BlockPublicPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicpolicy + BlockPublicPolicy bool `json:"BlockPublicPolicy,omitempty"` + + // IgnorePublicAcls AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-ignorepublicacls + IgnorePublicAcls bool `json:"IgnorePublicAcls,omitempty"` + + // RestrictPublicBuckets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-restrictpublicbuckets + RestrictPublicBuckets bool `json:"RestrictPublicBuckets,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 *MultiRegionAccessPoint_PublicAccessBlockConfiguration) AWSCloudFormationType() string { + return "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration" +} diff --git a/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go b/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go new file mode 100644 index 0000000000..351ee179ee --- /dev/null +++ b/cloudformation/s3/aws-s3-multiregionaccesspoint_region.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// MultiRegionAccessPoint_Region AWS CloudFormation Resource (AWS::S3::MultiRegionAccessPoint.Region) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html +type MultiRegionAccessPoint_Region struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucket + Bucket string `json:"Bucket,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 *MultiRegionAccessPoint_Region) AWSCloudFormationType() string { + return "AWS::S3::MultiRegionAccessPoint.Region" +} diff --git a/cloudformation/s3/aws-s3-multiregionaccesspointpolicy.go b/cloudformation/s3/aws-s3-multiregionaccesspointpolicy.go new file mode 100644 index 0000000000..3f3ffa8382 --- /dev/null +++ b/cloudformation/s3/aws-s3-multiregionaccesspointpolicy.go @@ -0,0 +1,111 @@ +package s3 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// MultiRegionAccessPointPolicy AWS CloudFormation Resource (AWS::S3::MultiRegionAccessPointPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html +type MultiRegionAccessPointPolicy struct { + + // MrapName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-mrapname + MrapName string `json:"MrapName,omitempty"` + + // Policy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-policy + Policy interface{} `json:"Policy,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 *MultiRegionAccessPointPolicy) AWSCloudFormationType() string { + return "AWS::S3::MultiRegionAccessPointPolicy" +} + +// 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 MultiRegionAccessPointPolicy) MarshalJSON() ([]byte, error) { + type Properties MultiRegionAccessPointPolicy + 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 *MultiRegionAccessPointPolicy) UnmarshalJSON(b []byte) error { + type Properties MultiRegionAccessPointPolicy + 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 = MultiRegionAccessPointPolicy(*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/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go index 0d3cdc3cc5..5afdfd653b 100644 --- a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go @@ -21,7 +21,7 @@ type DataQualityJobDefinition_DataQualityAppSpecification struct { // Environment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-environment - Environment *DataQualityJobDefinition_Environment `json:"Environment,omitempty"` + Environment map[string]string `json:"Environment,omitempty"` // ImageUri AWS CloudFormation Property // Required: true diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go index ea0b7442ca..a530a70d30 100644 --- a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go @@ -16,7 +16,7 @@ type ModelBiasJobDefinition_ModelBiasAppSpecification struct { // Environment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-environment - Environment *ModelBiasJobDefinition_Environment `json:"Environment,omitempty"` + Environment map[string]string `json:"Environment,omitempty"` // ImageUri AWS CloudFormation Property // Required: true diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go index f0aca2f299..29d9f32650 100644 --- a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go @@ -16,7 +16,7 @@ type ModelExplainabilityJobDefinition_ModelExplainabilityAppSpecification struct // Environment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-environment - Environment *ModelExplainabilityJobDefinition_Environment `json:"Environment,omitempty"` + Environment map[string]string `json:"Environment,omitempty"` // ImageUri AWS CloudFormation Property // Required: true diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go index e19b1e1141..2aefef4389 100644 --- a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go @@ -21,7 +21,7 @@ type ModelQualityJobDefinition_ModelQualityAppSpecification struct { // Environment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-environment - Environment *ModelQualityJobDefinition_Environment `json:"Environment,omitempty"` + Environment map[string]string `json:"Environment,omitempty"` // ImageUri AWS CloudFormation Property // Required: true diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go index 1fc67fbd07..6d502e1863 100644 --- a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringjobdefinition.go @@ -16,7 +16,7 @@ type MonitoringSchedule_MonitoringJobDefinition struct { // Environment AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-environment - Environment *MonitoringSchedule_Environment `json:"Environment,omitempty"` + Environment map[string]string `json:"Environment,omitempty"` // MonitoringAppSpecification AWS CloudFormation Property // Required: true diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index 7301593a4f..b9f8ed1939 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -68,6 +68,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags Tags []tags.Tag `json:"Tags,omitempty"` + // WorkflowDetails AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-workflowdetails + WorkflowDetails *Server_WorkflowDetails `json:"WorkflowDetails,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-server_workflowdetail.go b/cloudformation/transfer/aws-transfer-server_workflowdetail.go new file mode 100644 index 0000000000..2feb36db68 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_workflowdetail.go @@ -0,0 +1,40 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Server_WorkflowDetail AWS CloudFormation Resource (AWS::Transfer::Server.WorkflowDetail) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html +type Server_WorkflowDetail struct { + + // ExecutionRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html#cfn-transfer-server-workflowdetail-executionrole + ExecutionRole string `json:"ExecutionRole,omitempty"` + + // WorkflowId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html#cfn-transfer-server-workflowdetail-workflowid + WorkflowId string `json:"WorkflowId,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 *Server_WorkflowDetail) AWSCloudFormationType() string { + return "AWS::Transfer::Server.WorkflowDetail" +} diff --git a/cloudformation/transfer/aws-transfer-server_workflowdetails.go b/cloudformation/transfer/aws-transfer-server_workflowdetails.go new file mode 100644 index 0000000000..8d6994c37d --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_workflowdetails.go @@ -0,0 +1,35 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Server_WorkflowDetails AWS CloudFormation Resource (AWS::Transfer::Server.WorkflowDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetails.html +type Server_WorkflowDetails struct { + + // OnUpload AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetails.html#cfn-transfer-server-workflowdetails-onupload + OnUpload []Server_WorkflowDetail `json:"OnUpload,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 *Server_WorkflowDetails) AWSCloudFormationType() string { + return "AWS::Transfer::Server.WorkflowDetails" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index e410703ca9..589d9d4766 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -576,6 +576,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.OtherName": { "additionalProperties": false, "properties": { @@ -597,6 +609,9 @@ var CloudformationSchema = `{ "properties": { "CrlConfiguration": { "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OcspConfiguration" } }, "type": "object" @@ -6874,6 +6889,9 @@ var CloudformationSchema = `{ "ScheduleExpression": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleStartTime": { "type": "number" }, @@ -7128,6 +7146,18 @@ var CloudformationSchema = `{ "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { + "DocumentType": { + "type": "string" + }, + "IncludeAllVersions": { + "type": "boolean" + }, + "IncludeRenditions": { + "type": "boolean" + }, + "IncludeSourceFiles": { + "type": "boolean" + }, "Object": { "type": "string" } @@ -19866,12 +19896,21 @@ var CloudformationSchema = `{ "IncludeGlobalServiceEvents": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "type": "array" + }, "IsLogging": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, + "IsOrganizationTrail": { + "type": "boolean" + }, "KMSKeyId": { "type": "string" }, @@ -19948,6 +19987,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "type": "array" + }, "IncludeManagementEvents": { "type": "boolean" }, @@ -19957,6 +20002,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { @@ -23381,6 +23435,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TargetAddress", + "TargetType" + ], "type": "object" }, "AWS::Cognito::IdentityPool": { @@ -30689,6 +30747,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -44976,6 +45040,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.DestinationDetails": { @@ -44997,6 +45064,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { @@ -45015,6 +45085,12 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::GlobalReplicationGroup": { @@ -45430,6 +45506,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { @@ -45451,6 +45530,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { @@ -45469,6 +45551,12 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { @@ -47617,6 +47705,9 @@ var CloudformationSchema = `{ "HealthyThresholdCount": { "type": "number" }, + "IpAddressType": { + "type": "string" + }, "Matcher": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" }, @@ -48075,6 +48166,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CrossAccount": { + "type": "boolean" + }, "Description": { "type": "string" }, @@ -48908,6 +49002,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -48920,6 +49032,18 @@ var CloudformationSchema = `{ "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, "Group": { "type": "string" }, @@ -48929,9 +49053,33 @@ var CloudformationSchema = `{ "NetworkConfiguration": { "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" + }, + "type": "array" + }, "PlatformVersion": { "type": "string" }, + "PropagateTags": { + "type": "string" + }, + "ReferenceId": { + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TaskCount": { "type": "number" }, @@ -49016,6 +49164,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { @@ -49102,6 +49274,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { @@ -61154,6 +61338,117 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoT::FleetMetric": { + "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": { + "AggregationField": { + "type": "string" + }, + "AggregationType": { + "$ref": "#/definitions/AWS::IoT::FleetMetric.AggregationType" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "QueryString": { + "type": "string" + }, + "QueryVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::FleetMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::FleetMetric.AggregationType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { @@ -70177,6 +70472,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { @@ -70278,6 +70585,9 @@ var CloudformationSchema = `{ "DataFormatConversionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, + "DynamicPartitioningConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration" + }, "EncryptionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, @@ -90746,9 +91056,6 @@ var CloudformationSchema = `{ "DeferMaintenanceEndTime": { "type": "string" }, - "DeferMaintenanceIdentifier": { - "type": "string" - }, "DeferMaintenanceStartTime": { "type": "string" }, @@ -91417,6 +91724,12 @@ var CloudformationSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91487,6 +91800,12 @@ var CloudformationSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91750,6 +92069,12 @@ var CloudformationSchema = `{ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -95250,6 +95575,173 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::S3::MultiRegionAccessPoint": { + "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": { + "Name": { + "type": "string" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.Region": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPointPolicy": { + "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": { + "MrapName": { + "type": "string" + }, + "Policy": { + "type": "object" + } + }, + "required": [ + "MrapName", + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { @@ -99695,7 +100187,13 @@ var CloudformationSchema = `{ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -99761,11 +100259,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { @@ -101286,11 +101779,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { @@ -101298,7 +101786,13 @@ var CloudformationSchema = `{ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -101619,11 +102113,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { @@ -101631,7 +102120,13 @@ var CloudformationSchema = `{ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102016,11 +102511,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { @@ -102037,7 +102527,13 @@ var CloudformationSchema = `{ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102358,11 +102854,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { @@ -102449,7 +102940,13 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "MonitoringAppSpecification": { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" @@ -106709,6 +107206,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkflowDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetails" } }, "type": "object" @@ -106792,6 +107292,37 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.WorkflowDetail": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + } + }, + "required": [ + "ExecutionRole", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Transfer::Server.WorkflowDetails": { + "additionalProperties": false, + "properties": { + "OnUpload": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetail" + }, + "type": "array" + } + }, + "required": [ + "OnUpload" + ], + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -112403,6 +112934,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoT::DomainConfiguration" }, + { + "$ref": "#/definitions/AWS::IoT::FleetMetric" + }, { "$ref": "#/definitions/AWS::IoT::MitigationAction" }, @@ -113045,6 +113579,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPointPolicy" + }, { "$ref": "#/definitions/AWS::S3::StorageLens" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index c6b37fc09e..2f9d001eff 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -573,6 +573,18 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.OtherName": { "additionalProperties": false, "properties": { @@ -594,6 +606,9 @@ "properties": { "CrlConfiguration": { "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OcspConfiguration" } }, "type": "object" @@ -6871,6 +6886,9 @@ "ScheduleExpression": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleStartTime": { "type": "number" }, @@ -7125,6 +7143,18 @@ "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { + "DocumentType": { + "type": "string" + }, + "IncludeAllVersions": { + "type": "boolean" + }, + "IncludeRenditions": { + "type": "boolean" + }, + "IncludeSourceFiles": { + "type": "boolean" + }, "Object": { "type": "string" } @@ -19863,12 +19893,21 @@ "IncludeGlobalServiceEvents": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "type": "array" + }, "IsLogging": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, + "IsOrganizationTrail": { + "type": "boolean" + }, "KMSKeyId": { "type": "string" }, @@ -19945,6 +19984,12 @@ }, "type": "array" }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "type": "array" + }, "IncludeManagementEvents": { "type": "boolean" }, @@ -19954,6 +19999,15 @@ }, "type": "object" }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { @@ -23378,6 +23432,10 @@ "type": "string" } }, + "required": [ + "TargetAddress", + "TargetType" + ], "type": "object" }, "AWS::Cognito::IdentityPool": { @@ -30686,6 +30744,12 @@ }, "type": "array" }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -44973,6 +45037,9 @@ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.DestinationDetails": { @@ -44994,6 +45061,9 @@ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { @@ -45012,6 +45082,12 @@ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::GlobalReplicationGroup": { @@ -45427,6 +45503,9 @@ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { @@ -45448,6 +45527,9 @@ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { @@ -45466,6 +45548,12 @@ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { @@ -47614,6 +47702,9 @@ "HealthyThresholdCount": { "type": "number" }, + "IpAddressType": { + "type": "string" + }, "Matcher": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" }, @@ -48072,6 +48163,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CrossAccount": { + "type": "boolean" + }, "Description": { "type": "string" }, @@ -48905,6 +48999,24 @@ }, "type": "object" }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -48917,6 +49029,18 @@ "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, "Group": { "type": "string" }, @@ -48926,9 +49050,33 @@ "NetworkConfiguration": { "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" + }, + "type": "array" + }, "PlatformVersion": { "type": "string" }, + "PropagateTags": { + "type": "string" + }, + "ReferenceId": { + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TaskCount": { "type": "number" }, @@ -49013,6 +49161,30 @@ }, "type": "object" }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { @@ -49099,6 +49271,18 @@ ], "type": "object" }, + "AWS::Events::Rule.Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { @@ -61151,6 +61335,117 @@ }, "type": "object" }, + "AWS::IoT::FleetMetric": { + "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": { + "AggregationField": { + "type": "string" + }, + "AggregationType": { + "$ref": "#/definitions/AWS::IoT::FleetMetric.AggregationType" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "QueryString": { + "type": "string" + }, + "QueryVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::FleetMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::FleetMetric.AggregationType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { @@ -70174,6 +70469,18 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { @@ -70275,6 +70582,9 @@ "DataFormatConversionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, + "DynamicPartitioningConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration" + }, "EncryptionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, @@ -90743,9 +91053,6 @@ "DeferMaintenanceEndTime": { "type": "string" }, - "DeferMaintenanceIdentifier": { - "type": "string" - }, "DeferMaintenanceStartTime": { "type": "string" }, @@ -91414,6 +91721,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91484,6 +91797,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91747,6 +92066,12 @@ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -95247,6 +95572,173 @@ ], "type": "object" }, + "AWS::S3::MultiRegionAccessPoint": { + "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": { + "Name": { + "type": "string" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.Region": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPointPolicy": { + "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": { + "MrapName": { + "type": "string" + }, + "Policy": { + "type": "object" + } + }, + "required": [ + "MrapName", + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { @@ -99692,7 +100184,13 @@ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -99758,11 +100256,6 @@ ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { @@ -101283,11 +101776,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { @@ -101295,7 +101783,13 @@ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -101616,11 +102110,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { @@ -101628,7 +102117,13 @@ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102013,11 +102508,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { @@ -102034,7 +102524,13 @@ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102355,11 +102851,6 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { @@ -102446,7 +102937,13 @@ "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "MonitoringAppSpecification": { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" @@ -106706,6 +107203,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkflowDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetails" } }, "type": "object" @@ -106789,6 +107289,37 @@ }, "type": "object" }, + "AWS::Transfer::Server.WorkflowDetail": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + } + }, + "required": [ + "ExecutionRole", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Transfer::Server.WorkflowDetails": { + "additionalProperties": false, + "properties": { + "OnUpload": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetail" + }, + "type": "array" + } + }, + "required": [ + "OnUpload" + ], + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -112400,6 +112931,9 @@ { "$ref": "#/definitions/AWS::IoT::DomainConfiguration" }, + { + "$ref": "#/definitions/AWS::IoT::FleetMetric" + }, { "$ref": "#/definitions/AWS::IoT::MitigationAction" }, @@ -113042,6 +113576,12 @@ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPointPolicy" + }, { "$ref": "#/definitions/AWS::S3::StorageLens" }, diff --git a/schema/sam.go b/schema/sam.go index bbead0ab4a..490979694d 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -576,6 +576,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.OtherName": { "additionalProperties": false, "properties": { @@ -597,6 +609,9 @@ var SamSchema = `{ "properties": { "CrlConfiguration": { "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OcspConfiguration" } }, "type": "object" @@ -6874,6 +6889,9 @@ var SamSchema = `{ "ScheduleExpression": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleStartTime": { "type": "number" }, @@ -7128,6 +7146,18 @@ var SamSchema = `{ "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { + "DocumentType": { + "type": "string" + }, + "IncludeAllVersions": { + "type": "boolean" + }, + "IncludeRenditions": { + "type": "boolean" + }, + "IncludeSourceFiles": { + "type": "boolean" + }, "Object": { "type": "string" } @@ -19866,12 +19896,21 @@ var SamSchema = `{ "IncludeGlobalServiceEvents": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "type": "array" + }, "IsLogging": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, + "IsOrganizationTrail": { + "type": "boolean" + }, "KMSKeyId": { "type": "string" }, @@ -19948,6 +19987,12 @@ var SamSchema = `{ }, "type": "array" }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "type": "array" + }, "IncludeManagementEvents": { "type": "boolean" }, @@ -19957,6 +20002,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { @@ -23381,6 +23435,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TargetAddress", + "TargetType" + ], "type": "object" }, "AWS::Cognito::IdentityPool": { @@ -30689,6 +30747,12 @@ var SamSchema = `{ }, "type": "array" }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -44976,6 +45040,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.DestinationDetails": { @@ -44997,6 +45064,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { @@ -45015,6 +45085,12 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::GlobalReplicationGroup": { @@ -45430,6 +45506,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { @@ -45451,6 +45530,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { @@ -45469,6 +45551,12 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { @@ -47617,6 +47705,9 @@ var SamSchema = `{ "HealthyThresholdCount": { "type": "number" }, + "IpAddressType": { + "type": "string" + }, "Matcher": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" }, @@ -48075,6 +48166,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CrossAccount": { + "type": "boolean" + }, "Description": { "type": "string" }, @@ -48908,6 +49002,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -48920,6 +49032,18 @@ var SamSchema = `{ "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, "Group": { "type": "string" }, @@ -48929,9 +49053,33 @@ var SamSchema = `{ "NetworkConfiguration": { "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" + }, + "type": "array" + }, "PlatformVersion": { "type": "string" }, + "PropagateTags": { + "type": "string" + }, + "ReferenceId": { + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TaskCount": { "type": "number" }, @@ -49016,6 +49164,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { @@ -49102,6 +49274,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Events::Rule.Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { @@ -61154,6 +61338,117 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoT::FleetMetric": { + "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": { + "AggregationField": { + "type": "string" + }, + "AggregationType": { + "$ref": "#/definitions/AWS::IoT::FleetMetric.AggregationType" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "QueryString": { + "type": "string" + }, + "QueryVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::FleetMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::FleetMetric.AggregationType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { @@ -70177,6 +70472,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { @@ -70278,6 +70585,9 @@ var SamSchema = `{ "DataFormatConversionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, + "DynamicPartitioningConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration" + }, "EncryptionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, @@ -90746,9 +91056,6 @@ var SamSchema = `{ "DeferMaintenanceEndTime": { "type": "string" }, - "DeferMaintenanceIdentifier": { - "type": "string" - }, "DeferMaintenanceStartTime": { "type": "string" }, @@ -91417,6 +91724,12 @@ var SamSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91487,6 +91800,12 @@ var SamSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91750,6 +92069,12 @@ var SamSchema = `{ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -95250,6 +95575,173 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::S3::MultiRegionAccessPoint": { + "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": { + "Name": { + "type": "string" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.Region": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPointPolicy": { + "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": { + "MrapName": { + "type": "string" + }, + "Policy": { + "type": "object" + } + }, + "required": [ + "MrapName", + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { @@ -99695,7 +100187,13 @@ var SamSchema = `{ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -99761,11 +100259,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { @@ -101286,11 +101779,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { @@ -101298,7 +101786,13 @@ var SamSchema = `{ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -101619,11 +102113,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { @@ -101631,7 +102120,13 @@ var SamSchema = `{ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102016,11 +102511,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { @@ -102037,7 +102527,13 @@ var SamSchema = `{ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102358,11 +102854,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { @@ -102449,7 +102940,13 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "MonitoringAppSpecification": { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" @@ -109083,6 +109580,9 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkflowDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetails" } }, "type": "object" @@ -109166,6 +109666,37 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.WorkflowDetail": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + } + }, + "required": [ + "ExecutionRole", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Transfer::Server.WorkflowDetails": { + "additionalProperties": false, + "properties": { + "OnUpload": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetail" + }, + "type": "array" + } + }, + "required": [ + "OnUpload" + ], + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -115057,6 +115588,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoT::DomainConfiguration" }, + { + "$ref": "#/definitions/AWS::IoT::FleetMetric" + }, { "$ref": "#/definitions/AWS::IoT::MitigationAction" }, @@ -115699,6 +116233,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPointPolicy" + }, { "$ref": "#/definitions/AWS::S3::StorageLens" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 116d383c8e..29fa680441 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -573,6 +573,18 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.OtherName": { "additionalProperties": false, "properties": { @@ -594,6 +606,9 @@ "properties": { "CrlConfiguration": { "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OcspConfiguration" } }, "type": "object" @@ -6871,6 +6886,9 @@ "ScheduleExpression": { "type": "string" }, + "ScheduleOffset": { + "type": "number" + }, "ScheduleStartTime": { "type": "number" }, @@ -7125,6 +7143,18 @@ "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { + "DocumentType": { + "type": "string" + }, + "IncludeAllVersions": { + "type": "boolean" + }, + "IncludeRenditions": { + "type": "boolean" + }, + "IncludeSourceFiles": { + "type": "boolean" + }, "Object": { "type": "string" } @@ -19863,12 +19893,21 @@ "IncludeGlobalServiceEvents": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "type": "array" + }, "IsLogging": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, + "IsOrganizationTrail": { + "type": "boolean" + }, "KMSKeyId": { "type": "string" }, @@ -19945,6 +19984,12 @@ }, "type": "array" }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "type": "array" + }, "IncludeManagementEvents": { "type": "boolean" }, @@ -19954,6 +19999,15 @@ }, "type": "object" }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { @@ -23378,6 +23432,10 @@ "type": "string" } }, + "required": [ + "TargetAddress", + "TargetType" + ], "type": "object" }, "AWS::Cognito::IdentityPool": { @@ -30686,6 +30744,12 @@ }, "type": "array" }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, "Name": { "type": "string" }, @@ -44973,6 +45037,9 @@ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.DestinationDetails": { @@ -44994,6 +45061,9 @@ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { @@ -45012,6 +45082,12 @@ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::GlobalReplicationGroup": { @@ -45427,6 +45503,9 @@ "type": "string" } }, + "required": [ + "LogGroup" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { @@ -45448,6 +45527,9 @@ "type": "string" } }, + "required": [ + "DeliveryStream" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { @@ -45466,6 +45548,12 @@ "type": "string" } }, + "required": [ + "DestinationDetails", + "DestinationType", + "LogFormat", + "LogType" + ], "type": "object" }, "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { @@ -47614,6 +47702,9 @@ "HealthyThresholdCount": { "type": "number" }, + "IpAddressType": { + "type": "string" + }, "Matcher": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" }, @@ -48072,6 +48163,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CrossAccount": { + "type": "boolean" + }, "Description": { "type": "string" }, @@ -48905,6 +48999,24 @@ }, "type": "object" }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -48917,6 +49029,18 @@ "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, "Group": { "type": "string" }, @@ -48926,9 +49050,33 @@ "NetworkConfiguration": { "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" + }, + "type": "array" + }, "PlatformVersion": { "type": "string" }, + "PropagateTags": { + "type": "string" + }, + "ReferenceId": { + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TaskCount": { "type": "number" }, @@ -49013,6 +49161,30 @@ }, "type": "object" }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { @@ -49099,6 +49271,18 @@ ], "type": "object" }, + "AWS::Events::Rule.Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { @@ -61151,6 +61335,117 @@ }, "type": "object" }, + "AWS::IoT::FleetMetric": { + "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": { + "AggregationField": { + "type": "string" + }, + "AggregationType": { + "$ref": "#/definitions/AWS::IoT::FleetMetric.AggregationType" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "QueryString": { + "type": "string" + }, + "QueryVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::FleetMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::FleetMetric.AggregationType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { @@ -70174,6 +70469,18 @@ }, "type": "object" }, + "AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + } + }, + "type": "object" + }, "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { @@ -70275,6 +70582,9 @@ "DataFormatConversionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, + "DynamicPartitioningConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DynamicPartitioningConfiguration" + }, "EncryptionConfiguration": { "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, @@ -90743,9 +91053,6 @@ "DeferMaintenanceEndTime": { "type": "string" }, - "DeferMaintenanceIdentifier": { - "type": "string" - }, "DeferMaintenanceStartTime": { "type": "string" }, @@ -91414,6 +91721,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91484,6 +91797,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -91747,6 +92066,12 @@ "type": "array" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -95247,6 +95572,173 @@ ], "type": "object" }, + "AWS::S3::MultiRegionAccessPoint": { + "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": { + "Name": { + "type": "string" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::MultiRegionAccessPoint.Region": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::MultiRegionAccessPointPolicy": { + "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": { + "MrapName": { + "type": "string" + }, + "Policy": { + "type": "object" + } + }, + "required": [ + "MrapName", + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::MultiRegionAccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { @@ -99692,7 +100184,13 @@ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -99758,11 +100256,6 @@ ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { @@ -101283,11 +101776,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { @@ -101295,7 +101783,13 @@ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -101616,11 +102110,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { @@ -101628,7 +102117,13 @@ "type": "string" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102013,11 +102508,6 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { @@ -102034,7 +102524,13 @@ "type": "array" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "ImageUri": { "type": "string" @@ -102355,11 +102851,6 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { @@ -102446,7 +102937,13 @@ "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "MonitoringAppSpecification": { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" @@ -109080,6 +109577,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkflowDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetails" } }, "type": "object" @@ -109163,6 +109663,37 @@ }, "type": "object" }, + "AWS::Transfer::Server.WorkflowDetail": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + } + }, + "required": [ + "ExecutionRole", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Transfer::Server.WorkflowDetails": { + "additionalProperties": false, + "properties": { + "OnUpload": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.WorkflowDetail" + }, + "type": "array" + } + }, + "required": [ + "OnUpload" + ], + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -115054,6 +115585,9 @@ { "$ref": "#/definitions/AWS::IoT::DomainConfiguration" }, + { + "$ref": "#/definitions/AWS::IoT::FleetMetric" + }, { "$ref": "#/definitions/AWS::IoT::MitigationAction" }, @@ -115696,6 +116230,12 @@ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPointPolicy" + }, { "$ref": "#/definitions/AWS::S3::StorageLens" },