From da7efeae7a1ab20faa7aeceaa41adf965a136b7f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Mar 2023 11:11:01 +0200 Subject: [PATCH] fix(schema): CloudFormation Updates (#581) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RĂºben Fonseca --- cloudformation/all.go | 25 ++ ...batch-jobdefinition_containerproperties.go | 5 + .../aws-batch-jobdefinition_ekscontainer.go | 4 +- ...nition_ekscontainerresourcerequirements.go | 42 +++ ...bdefinition_ekscontainersecuritycontext.go | 57 ++++ .../aws-batch-jobdefinition_eksemptydir.go | 42 +++ .../aws-batch-jobdefinition_ekshostpath.go | 37 +++ .../aws-batch-jobdefinition_ekssecret.go | 42 +++ .../aws-batch-jobdefinition_eksvolume.go | 6 +- ...ws-batch-jobdefinition_ephemeralstorage.go | 37 +++ .../batch/aws-batch-jobdefinition_metadata.go | 37 +++ .../aws-batch-jobdefinition_podproperties.go | 5 + ...vopsguru-loganomalydetectionintegration.go | 112 +++++++ .../location/aws-location-tracker.go | 10 - .../aws-opensearchserverless-accesspolicy.go | 12 +- ...aws-opensearchserverless-securitypolicy.go | 8 +- .../aws-vpclattice-listener_defaultaction.go | 9 +- .../aws-vpclattice-listener_fixedresponse.go | 37 +++ .../vpclattice/aws-vpclattice-rule_action.go | 9 +- .../aws-vpclattice-rule_fixedresponse.go | 37 +++ ...pclattice-targetgroup_healthcheckconfig.go | 5 + ...pclattice-targetgroup_targetgroupconfig.go | 5 + schema/cdk.go | 278 +++++++++++++----- schema/cdk.schema.json | 278 +++++++++++++----- schema/cloudformation.go | 278 +++++++++++++----- schema/cloudformation.schema.json | 278 +++++++++++++----- schema/sam.go | 278 +++++++++++++----- schema/sam.schema.json | 278 +++++++++++++----- 28 files changed, 1754 insertions(+), 497 deletions(-) create mode 100644 cloudformation/batch/aws-batch-jobdefinition_ekscontainerresourcerequirements.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_ekscontainersecuritycontext.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_eksemptydir.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_ekshostpath.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_ekssecret.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_ephemeralstorage.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_metadata.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-loganomalydetectionintegration.go create mode 100644 cloudformation/vpclattice/aws-vpclattice-listener_fixedresponse.go create mode 100644 cloudformation/vpclattice/aws-vpclattice-rule_fixedresponse.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 61bbe2600d..888dcb254d 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -489,6 +489,7 @@ func AllResources() map[string]Resource { "AWS::DataSync::Task": &datasync.Task{}, "AWS::Detective::Graph": &detective.Graph{}, "AWS::Detective::MemberInvitation": &detective.MemberInvitation{}, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": &devopsguru.LogAnomalyDetectionIntegration{}, "AWS::DevOpsGuru::NotificationChannel": &devopsguru.NotificationChannel{}, "AWS::DevOpsGuru::ResourceCollection": &devopsguru.ResourceCollection{}, "AWS::DirectoryService::MicrosoftAD": &directoryservice.MicrosoftAD{}, @@ -7568,6 +7569,30 @@ func (t *Template) GetDetectiveMemberInvitationWithName(name string) (*detective return nil, fmt.Errorf("resource %q of type detective.MemberInvitation not found", name) } +// GetAllDevOpsGuruLogAnomalyDetectionIntegrationResources retrieves all devopsguru.LogAnomalyDetectionIntegration items from an AWS CloudFormation template +func (t *Template) GetAllDevOpsGuruLogAnomalyDetectionIntegrationResources() map[string]*devopsguru.LogAnomalyDetectionIntegration { + results := map[string]*devopsguru.LogAnomalyDetectionIntegration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *devopsguru.LogAnomalyDetectionIntegration: + results[name] = resource + } + } + return results +} + +// GetDevOpsGuruLogAnomalyDetectionIntegrationWithName retrieves all devopsguru.LogAnomalyDetectionIntegration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDevOpsGuruLogAnomalyDetectionIntegrationWithName(name string) (*devopsguru.LogAnomalyDetectionIntegration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *devopsguru.LogAnomalyDetectionIntegration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type devopsguru.LogAnomalyDetectionIntegration not found", name) +} + // GetAllDevOpsGuruNotificationChannelResources retrieves all devopsguru.NotificationChannel items from an AWS CloudFormation template func (t *Template) GetAllDevOpsGuruNotificationChannelResources() map[string]*devopsguru.NotificationChannel { results := map[string]*devopsguru.NotificationChannel{} diff --git a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go index 9923064d5a..1be5c030c1 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go +++ b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go @@ -20,6 +20,11 @@ type JobDefinition_ContainerProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-environment Environment []JobDefinition_Environment `json:"Environment,omitempty"` + // EphemeralStorage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-ephemeralstorage + EphemeralStorage *JobDefinition_EphemeralStorage `json:"EphemeralStorage,omitempty"` + // ExecutionRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-executionrolearn diff --git a/cloudformation/batch/aws-batch-jobdefinition_ekscontainer.go b/cloudformation/batch/aws-batch-jobdefinition_ekscontainer.go index cd55f6dca0..b231cbb242 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_ekscontainer.go +++ b/cloudformation/batch/aws-batch-jobdefinition_ekscontainer.go @@ -43,12 +43,12 @@ type JobDefinition_EksContainer struct { // Resources AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainer.html#cfn-batch-jobdefinition-ekscontainer-resources - Resources *JobDefinition_Resources `json:"Resources,omitempty"` + Resources *JobDefinition_EksContainerResourceRequirements `json:"Resources,omitempty"` // SecurityContext AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainer.html#cfn-batch-jobdefinition-ekscontainer-securitycontext - SecurityContext *JobDefinition_SecurityContext `json:"SecurityContext,omitempty"` + SecurityContext *JobDefinition_EksContainerSecurityContext `json:"SecurityContext,omitempty"` // VolumeMounts AWS CloudFormation Property // Required: false diff --git a/cloudformation/batch/aws-batch-jobdefinition_ekscontainerresourcerequirements.go b/cloudformation/batch/aws-batch-jobdefinition_ekscontainerresourcerequirements.go new file mode 100644 index 0000000000..470437736b --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_ekscontainerresourcerequirements.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EksContainerResourceRequirements AWS CloudFormation Resource (AWS::Batch::JobDefinition.EksContainerResourceRequirements) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerresourcerequirements.html +type JobDefinition_EksContainerResourceRequirements struct { + + // Limits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerresourcerequirements.html#cfn-batch-jobdefinition-ekscontainerresourcerequirements-limits + Limits interface{} `json:"Limits,omitempty"` + + // Requests AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerresourcerequirements.html#cfn-batch-jobdefinition-ekscontainerresourcerequirements-requests + Requests interface{} `json:"Requests,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 *JobDefinition_EksContainerResourceRequirements) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EksContainerResourceRequirements" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_ekscontainersecuritycontext.go b/cloudformation/batch/aws-batch-jobdefinition_ekscontainersecuritycontext.go new file mode 100644 index 0000000000..e4e3feea32 --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_ekscontainersecuritycontext.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EksContainerSecurityContext AWS CloudFormation Resource (AWS::Batch::JobDefinition.EksContainerSecurityContext) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html +type JobDefinition_EksContainerSecurityContext struct { + + // Privileged AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html#cfn-batch-jobdefinition-ekscontainersecuritycontext-privileged + Privileged *bool `json:"Privileged,omitempty"` + + // ReadOnlyRootFilesystem AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html#cfn-batch-jobdefinition-ekscontainersecuritycontext-readonlyrootfilesystem + ReadOnlyRootFilesystem *bool `json:"ReadOnlyRootFilesystem,omitempty"` + + // RunAsGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html#cfn-batch-jobdefinition-ekscontainersecuritycontext-runasgroup + RunAsGroup *int `json:"RunAsGroup,omitempty"` + + // RunAsNonRoot AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html#cfn-batch-jobdefinition-ekscontainersecuritycontext-runasnonroot + RunAsNonRoot *bool `json:"RunAsNonRoot,omitempty"` + + // RunAsUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html#cfn-batch-jobdefinition-ekscontainersecuritycontext-runasuser + RunAsUser *int `json:"RunAsUser,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 *JobDefinition_EksContainerSecurityContext) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EksContainerSecurityContext" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_eksemptydir.go b/cloudformation/batch/aws-batch-jobdefinition_eksemptydir.go new file mode 100644 index 0000000000..e28f222831 --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_eksemptydir.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EksEmptyDir AWS CloudFormation Resource (AWS::Batch::JobDefinition.EksEmptyDir) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksemptydir.html +type JobDefinition_EksEmptyDir struct { + + // Medium AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksemptydir.html#cfn-batch-jobdefinition-eksemptydir-medium + Medium *string `json:"Medium,omitempty"` + + // SizeLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksemptydir.html#cfn-batch-jobdefinition-eksemptydir-sizelimit + SizeLimit *string `json:"SizeLimit,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 *JobDefinition_EksEmptyDir) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EksEmptyDir" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_ekshostpath.go b/cloudformation/batch/aws-batch-jobdefinition_ekshostpath.go new file mode 100644 index 0000000000..239899ba8f --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_ekshostpath.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EksHostPath AWS CloudFormation Resource (AWS::Batch::JobDefinition.EksHostPath) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekshostpath.html +type JobDefinition_EksHostPath struct { + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekshostpath.html#cfn-batch-jobdefinition-ekshostpath-path + Path *string `json:"Path,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *JobDefinition_EksHostPath) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EksHostPath" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_ekssecret.go b/cloudformation/batch/aws-batch-jobdefinition_ekssecret.go new file mode 100644 index 0000000000..ab6521c569 --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_ekssecret.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EksSecret AWS CloudFormation Resource (AWS::Batch::JobDefinition.EksSecret) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekssecret.html +type JobDefinition_EksSecret struct { + + // Optional AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekssecret.html#cfn-batch-jobdefinition-ekssecret-optional + Optional *bool `json:"Optional,omitempty"` + + // SecretName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekssecret.html#cfn-batch-jobdefinition-ekssecret-secretname + SecretName string `json:"SecretName"` + + // 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 *JobDefinition_EksSecret) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EksSecret" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_eksvolume.go b/cloudformation/batch/aws-batch-jobdefinition_eksvolume.go index be136e0f8e..e26f79af3d 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_eksvolume.go +++ b/cloudformation/batch/aws-batch-jobdefinition_eksvolume.go @@ -13,12 +13,12 @@ type JobDefinition_EksVolume struct { // EmptyDir AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksvolume.html#cfn-batch-jobdefinition-eksvolume-emptydir - EmptyDir *JobDefinition_EmptyDir `json:"EmptyDir,omitempty"` + EmptyDir *JobDefinition_EksEmptyDir `json:"EmptyDir,omitempty"` // HostPath AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksvolume.html#cfn-batch-jobdefinition-eksvolume-hostpath - HostPath *JobDefinition_HostPath `json:"HostPath,omitempty"` + HostPath *JobDefinition_EksHostPath `json:"HostPath,omitempty"` // Name AWS CloudFormation Property // Required: true @@ -28,7 +28,7 @@ type JobDefinition_EksVolume struct { // Secret AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksvolume.html#cfn-batch-jobdefinition-eksvolume-secret - Secret *JobDefinition_Secret `json:"Secret,omitempty"` + Secret *JobDefinition_EksSecret `json:"Secret,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/batch/aws-batch-jobdefinition_ephemeralstorage.go b/cloudformation/batch/aws-batch-jobdefinition_ephemeralstorage.go new file mode 100644 index 0000000000..1a5807ed98 --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_ephemeralstorage.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_EphemeralStorage AWS CloudFormation Resource (AWS::Batch::JobDefinition.EphemeralStorage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-ephemeralstorage.html +type JobDefinition_EphemeralStorage struct { + + // SizeInGiB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-ephemeralstorage.html#cfn-batch-jobdefinition-containerproperties-ephemeralstorage-sizeingib + SizeInGiB int `json:"SizeInGiB"` + + // 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 *JobDefinition_EphemeralStorage) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EphemeralStorage" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_metadata.go b/cloudformation/batch/aws-batch-jobdefinition_metadata.go new file mode 100644 index 0000000000..11a43d7524 --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_metadata.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// JobDefinition_Metadata AWS CloudFormation Resource (AWS::Batch::JobDefinition.Metadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties-metadata.html +type JobDefinition_Metadata struct { + + // Labels AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties-metadata.html#cfn-batch-jobdefinition-podproperties-metadata-labels + Labels interface{} `json:"Labels,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 *JobDefinition_Metadata) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.Metadata" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_podproperties.go b/cloudformation/batch/aws-batch-jobdefinition_podproperties.go index a01101e91e..10e77b8d15 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_podproperties.go +++ b/cloudformation/batch/aws-batch-jobdefinition_podproperties.go @@ -25,6 +25,11 @@ type JobDefinition_PodProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-hostnetwork HostNetwork *bool `json:"HostNetwork,omitempty"` + // Metadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-metadata + Metadata *JobDefinition_Metadata `json:"Metadata,omitempty"` + // ServiceAccountName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-serviceaccountname diff --git a/cloudformation/devopsguru/aws-devopsguru-loganomalydetectionintegration.go b/cloudformation/devopsguru/aws-devopsguru-loganomalydetectionintegration.go new file mode 100644 index 0000000000..e4db2ffbfc --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-loganomalydetectionintegration.go @@ -0,0 +1,112 @@ +// Code generated by "go generate". Please don't change this file directly. + +package devopsguru + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LogAnomalyDetectionIntegration AWS CloudFormation Resource (AWS::DevOpsGuru::LogAnomalyDetectionIntegration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html +type LogAnomalyDetectionIntegration struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LogAnomalyDetectionIntegration) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" +} + +// 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 LogAnomalyDetectionIntegration) MarshalJSON() ([]byte, error) { + type Properties LogAnomalyDetectionIntegration + 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 *LogAnomalyDetectionIntegration) UnmarshalJSON(b []byte) error { + type Properties LogAnomalyDetectionIntegration + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = LogAnomalyDetectionIntegration(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/location/aws-location-tracker.go b/cloudformation/location/aws-location-tracker.go index 862d03b957..d2d5c4dbfe 100644 --- a/cloudformation/location/aws-location-tracker.go +++ b/cloudformation/location/aws-location-tracker.go @@ -28,16 +28,6 @@ type Tracker struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html#cfn-location-tracker-positionfiltering PositionFiltering *string `json:"PositionFiltering,omitempty"` - // PricingPlan AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html#cfn-location-tracker-pricingplan - PricingPlan *string `json:"PricingPlan,omitempty"` - - // PricingPlanDataSource AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html#cfn-location-tracker-pricingplandatasource - PricingPlanDataSource *string `json:"PricingPlanDataSource,omitempty"` - // TrackerName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html#cfn-location-tracker-trackername diff --git a/cloudformation/opensearchserverless/aws-opensearchserverless-accesspolicy.go b/cloudformation/opensearchserverless/aws-opensearchserverless-accesspolicy.go index 32abcf61dc..8ca09a43f2 100644 --- a/cloudformation/opensearchserverless/aws-opensearchserverless-accesspolicy.go +++ b/cloudformation/opensearchserverless/aws-opensearchserverless-accesspolicy.go @@ -19,19 +19,19 @@ type AccessPolicy struct { Description *string `json:"Description,omitempty"` // Name AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-name - Name *string `json:"Name,omitempty"` + Name string `json:"Name"` // Policy AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-policy - Policy *string `json:"Policy,omitempty"` + Policy string `json:"Policy"` // Type AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-type - Type *string `json:"Type,omitempty"` + Type string `json:"Type"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/opensearchserverless/aws-opensearchserverless-securitypolicy.go b/cloudformation/opensearchserverless/aws-opensearchserverless-securitypolicy.go index 8d08a14ef7..9bad74e5fe 100644 --- a/cloudformation/opensearchserverless/aws-opensearchserverless-securitypolicy.go +++ b/cloudformation/opensearchserverless/aws-opensearchserverless-securitypolicy.go @@ -19,9 +19,9 @@ type SecurityPolicy struct { Description *string `json:"Description,omitempty"` // Name AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-name - Name *string `json:"Name,omitempty"` + Name string `json:"Name"` // Policy AWS CloudFormation Property // Required: true @@ -29,9 +29,9 @@ type SecurityPolicy struct { Policy string `json:"Policy"` // Type AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-type - Type *string `json:"Type,omitempty"` + Type string `json:"Type"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/vpclattice/aws-vpclattice-listener_defaultaction.go b/cloudformation/vpclattice/aws-vpclattice-listener_defaultaction.go index 435702cef8..785799101c 100644 --- a/cloudformation/vpclattice/aws-vpclattice-listener_defaultaction.go +++ b/cloudformation/vpclattice/aws-vpclattice-listener_defaultaction.go @@ -10,10 +10,15 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html type Listener_DefaultAction struct { + // FixedResponse AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html#cfn-vpclattice-listener-defaultaction-fixedresponse + FixedResponse *Listener_FixedResponse `json:"FixedResponse,omitempty"` + // Forward AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html#cfn-vpclattice-listener-defaultaction-forward - Forward *Listener_Forward `json:"Forward"` + Forward *Listener_Forward `json:"Forward,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/vpclattice/aws-vpclattice-listener_fixedresponse.go b/cloudformation/vpclattice/aws-vpclattice-listener_fixedresponse.go new file mode 100644 index 0000000000..6032c82a3f --- /dev/null +++ b/cloudformation/vpclattice/aws-vpclattice-listener_fixedresponse.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package vpclattice + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Listener_FixedResponse AWS CloudFormation Resource (AWS::VpcLattice::Listener.FixedResponse) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-fixedresponse.html +type Listener_FixedResponse struct { + + // StatusCode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-fixedresponse.html#cfn-vpclattice-listener-fixedresponse-statuscode + StatusCode int `json:"StatusCode"` + + // 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 *Listener_FixedResponse) AWSCloudFormationType() string { + return "AWS::VpcLattice::Listener.FixedResponse" +} diff --git a/cloudformation/vpclattice/aws-vpclattice-rule_action.go b/cloudformation/vpclattice/aws-vpclattice-rule_action.go index 4238c8146e..c5ce007118 100644 --- a/cloudformation/vpclattice/aws-vpclattice-rule_action.go +++ b/cloudformation/vpclattice/aws-vpclattice-rule_action.go @@ -10,10 +10,15 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html type Rule_Action struct { + // FixedResponse AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html#cfn-vpclattice-rule-action-fixedresponse + FixedResponse *Rule_FixedResponse `json:"FixedResponse,omitempty"` + // Forward AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html#cfn-vpclattice-rule-action-forward - Forward *Rule_Forward `json:"Forward"` + Forward *Rule_Forward `json:"Forward,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/vpclattice/aws-vpclattice-rule_fixedresponse.go b/cloudformation/vpclattice/aws-vpclattice-rule_fixedresponse.go new file mode 100644 index 0000000000..a5d73d6c82 --- /dev/null +++ b/cloudformation/vpclattice/aws-vpclattice-rule_fixedresponse.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package vpclattice + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Rule_FixedResponse AWS CloudFormation Resource (AWS::VpcLattice::Rule.FixedResponse) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-fixedresponse.html +type Rule_FixedResponse struct { + + // StatusCode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-fixedresponse.html#cfn-vpclattice-rule-fixedresponse-statuscode + StatusCode int `json:"StatusCode"` + + // 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_FixedResponse) AWSCloudFormationType() string { + return "AWS::VpcLattice::Rule.FixedResponse" +} diff --git a/cloudformation/vpclattice/aws-vpclattice-targetgroup_healthcheckconfig.go b/cloudformation/vpclattice/aws-vpclattice-targetgroup_healthcheckconfig.go index 2dda0314d5..8b397c854c 100644 --- a/cloudformation/vpclattice/aws-vpclattice-targetgroup_healthcheckconfig.go +++ b/cloudformation/vpclattice/aws-vpclattice-targetgroup_healthcheckconfig.go @@ -50,6 +50,11 @@ type TargetGroup_HealthCheckConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-protocol Protocol *string `json:"Protocol,omitempty"` + // ProtocolVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-protocolversion + ProtocolVersion *string `json:"ProtocolVersion,omitempty"` + // UnhealthyThresholdCount AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-unhealthythresholdcount diff --git a/cloudformation/vpclattice/aws-vpclattice-targetgroup_targetgroupconfig.go b/cloudformation/vpclattice/aws-vpclattice-targetgroup_targetgroupconfig.go index 143b74a6f8..c1dff7d18c 100644 --- a/cloudformation/vpclattice/aws-vpclattice-targetgroup_targetgroupconfig.go +++ b/cloudformation/vpclattice/aws-vpclattice-targetgroup_targetgroupconfig.go @@ -15,6 +15,11 @@ type TargetGroup_TargetGroupConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-healthcheck HealthCheck *TargetGroup_HealthCheckConfig `json:"HealthCheck,omitempty"` + // IpAddressType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-ipaddresstype + IpAddressType *string `json:"IpAddressType,omitempty"` + // Port AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-port diff --git a/schema/cdk.go b/schema/cdk.go index 07d9f56f7e..8c348201c5 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -6384,18 +6384,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19584,6 +19572,9 @@ var CdkSchema = `{ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19732,10 +19723,10 @@ var CdkSchema = `{ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19764,6 +19755,39 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19779,6 +19803,27 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19788,20 +19833,35 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19809,28 +19869,28 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19863,15 +19923,6 @@ var CdkSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19923,6 +19974,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -20000,6 +20060,9 @@ var CdkSchema = `{ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20024,18 +20087,6 @@ var CdkSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20067,27 +20118,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41629,6 +41659,63 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101865,12 +101952,6 @@ var CdkSchema = `{ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115781,6 +115862,11 @@ var CdkSchema = `{ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115799,7 +115885,8 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -116020,7 +116107,9 @@ var CdkSchema = `{ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -177902,12 +177991,24 @@ var CdkSchema = `{ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178101,12 +178202,24 @@ var CdkSchema = `{ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178663,6 +178776,9 @@ var CdkSchema = `{ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -178702,6 +178818,9 @@ var CdkSchema = `{ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -185067,6 +185186,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 18a980bd5d..fc6f3d2a41 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -6379,18 +6379,6 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19579,6 +19567,9 @@ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19727,10 +19718,10 @@ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19759,6 +19750,39 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19774,6 +19798,27 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19783,20 +19828,35 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19804,28 +19864,28 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19858,15 +19918,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19918,6 +19969,15 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -19995,6 +20055,9 @@ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20019,18 +20082,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20062,27 +20113,6 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41624,6 +41654,63 @@ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101860,12 +101947,6 @@ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115776,6 +115857,11 @@ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115794,7 +115880,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -116015,7 +116102,9 @@ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -177897,12 +177986,24 @@ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178096,12 +178197,24 @@ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178658,6 +178771,9 @@ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -178697,6 +178813,9 @@ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -185062,6 +185181,9 @@ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 03d9adba07..91ee6061bc 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -6384,18 +6384,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19584,6 +19572,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19732,10 +19723,10 @@ var CloudformationSchema = `{ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19764,6 +19755,39 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19779,6 +19803,27 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19788,20 +19833,35 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19809,28 +19869,28 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19863,15 +19923,6 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19923,6 +19974,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -20000,6 +20060,9 @@ var CloudformationSchema = `{ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20024,18 +20087,6 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20067,27 +20118,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41568,6 +41598,63 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101804,12 +101891,6 @@ var CloudformationSchema = `{ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115720,6 +115801,11 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115738,7 +115824,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -115959,7 +116046,9 @@ var CloudformationSchema = `{ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -177841,12 +177930,24 @@ var CloudformationSchema = `{ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178040,12 +178141,24 @@ var CloudformationSchema = `{ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178602,6 +178715,9 @@ var CloudformationSchema = `{ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -178641,6 +178757,9 @@ var CloudformationSchema = `{ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -185003,6 +185122,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index ed6a1b9793..31bbb38a15 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -6379,18 +6379,6 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19579,6 +19567,9 @@ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19727,10 +19718,10 @@ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19759,6 +19750,39 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19774,6 +19798,27 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19783,20 +19828,35 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19804,28 +19864,28 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19858,15 +19918,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19918,6 +19969,15 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -19995,6 +20055,9 @@ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20019,18 +20082,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20062,27 +20113,6 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41563,6 +41593,63 @@ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101799,12 +101886,6 @@ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115715,6 +115796,11 @@ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115733,7 +115819,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -115954,7 +116041,9 @@ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -177836,12 +177925,24 @@ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178035,12 +178136,24 @@ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -178597,6 +178710,9 @@ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -178636,6 +178752,9 @@ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -184998,6 +185117,9 @@ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" }, diff --git a/schema/sam.go b/schema/sam.go index c9ebcf2e6e..9277ef3867 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -6384,18 +6384,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19584,6 +19572,9 @@ var SamSchema = `{ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19732,10 +19723,10 @@ var SamSchema = `{ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19764,6 +19755,39 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19779,6 +19803,27 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19788,20 +19833,35 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19809,28 +19869,28 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19863,15 +19923,6 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19923,6 +19974,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -20000,6 +20060,9 @@ var SamSchema = `{ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20024,18 +20087,6 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20067,27 +20118,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41568,6 +41598,63 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101804,12 +101891,6 @@ var SamSchema = `{ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115720,6 +115801,11 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115738,7 +115824,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -115959,7 +116046,9 @@ var SamSchema = `{ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -180556,12 +180645,24 @@ var SamSchema = `{ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -180755,12 +180856,24 @@ var SamSchema = `{ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -181317,6 +181430,9 @@ var SamSchema = `{ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -181356,6 +181472,9 @@ var SamSchema = `{ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -188010,6 +188129,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index a3f400fc41..6a8ca84154 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -6379,18 +6379,6 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { @@ -19579,6 +19567,9 @@ }, "type": "array" }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage" + }, "ExecutionRoleArn": { "type": "string" }, @@ -19727,10 +19718,10 @@ "type": "string" }, "Resources": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Resources" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements" }, "SecurityContext": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.SecurityContext" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext" }, "VolumeMounts": { "items": { @@ -19759,6 +19750,39 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.EksContainerResourceRequirements": { + "additionalProperties": false, + "properties": { + "Limits": { + "type": "object" + }, + "Requests": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksContainerSecurityContext": { + "additionalProperties": false, + "properties": { + "Privileged": { + "type": "boolean" + }, + "ReadOnlyRootFilesystem": { + "type": "boolean" + }, + "RunAsGroup": { + "type": "number" + }, + "RunAsNonRoot": { + "type": "boolean" + }, + "RunAsUser": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksContainerVolumeMount": { "additionalProperties": false, "properties": { @@ -19774,6 +19798,27 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksEmptyDir": { + "additionalProperties": false, + "properties": { + "Medium": { + "type": "string" + }, + "SizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EksHostPath": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.EksProperties": { "additionalProperties": false, "properties": { @@ -19783,20 +19828,35 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EksSecret": { + "additionalProperties": false, + "properties": { + "Optional": { + "type": "boolean" + }, + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::Batch::JobDefinition.EksVolume": { "additionalProperties": false, "properties": { "EmptyDir": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EmptyDir" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir" }, "HostPath": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.HostPath" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath" }, "Name": { "type": "string" }, "Secret": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret" } }, "required": [ @@ -19804,28 +19864,28 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.EmptyDir": { + "AWS::Batch::JobDefinition.Environment": { "additionalProperties": false, "properties": { - "Medium": { + "Name": { "type": "string" }, - "SizeLimit": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::Batch::JobDefinition.Environment": { + "AWS::Batch::JobDefinition.EphemeralStorage": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "SizeInGiB": { + "type": "number" } }, + "required": [ + "SizeInGiB" + ], "type": "object" }, "AWS::Batch::JobDefinition.EvaluateOnExit": { @@ -19858,15 +19918,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.HostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -19918,6 +19969,15 @@ ], "type": "object" }, + "AWS::Batch::JobDefinition.Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.MountPoints": { "additionalProperties": false, "properties": { @@ -19995,6 +20055,9 @@ "HostNetwork": { "type": "boolean" }, + "Metadata": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata" + }, "ServiceAccountName": { "type": "string" }, @@ -20019,18 +20082,6 @@ }, "type": "object" }, - "AWS::Batch::JobDefinition.Resources": { - "additionalProperties": false, - "properties": { - "Limits": { - "type": "object" - }, - "Requests": { - "type": "object" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.RetryStrategy": { "additionalProperties": false, "properties": { @@ -20062,27 +20113,6 @@ ], "type": "object" }, - "AWS::Batch::JobDefinition.SecurityContext": { - "additionalProperties": false, - "properties": { - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "number" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::JobDefinition.Timeout": { "additionalProperties": false, "properties": { @@ -41563,6 +41593,63 @@ ], "type": "object" }, + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { @@ -101799,12 +101886,6 @@ "PositionFiltering": { "type": "string" }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, "TrackerName": { "type": "string" } @@ -115715,6 +115796,11 @@ "type": "string" } }, + "required": [ + "Name", + "Policy", + "Type" + ], "type": "object" }, "Type": { @@ -115733,7 +115819,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -115954,7 +116041,9 @@ } }, "required": [ - "Policy" + "Name", + "Policy", + "Type" ], "type": "object" }, @@ -180551,12 +180640,24 @@ "AWS::VpcLattice::Listener.DefaultAction": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Listener.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Listener.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Listener.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -180750,12 +180851,24 @@ "AWS::VpcLattice::Rule.Action": { "additionalProperties": false, "properties": { + "FixedResponse": { + "$ref": "#/definitions/AWS::VpcLattice::Rule.FixedResponse" + }, "Forward": { "$ref": "#/definitions/AWS::VpcLattice::Rule.Forward" } }, + "type": "object" + }, + "AWS::VpcLattice::Rule.FixedResponse": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "type": "number" + } + }, "required": [ - "Forward" + "StatusCode" ], "type": "object" }, @@ -181312,6 +181425,9 @@ "Protocol": { "type": "string" }, + "ProtocolVersion": { + "type": "string" + }, "UnhealthyThresholdCount": { "type": "number" } @@ -181351,6 +181467,9 @@ "HealthCheck": { "$ref": "#/definitions/AWS::VpcLattice::TargetGroup.HealthCheckConfig" }, + "IpAddressType": { + "type": "string" + }, "Port": { "type": "number" }, @@ -188005,6 +188124,9 @@ { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + }, { "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" },