Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(sam-spec): WIP - temp update it manually - DO not merge #1522

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

moelasmar
Copy link
Contributor

Testing .. do not merge

Copy link

@aws-cdk/aws-service-spec: Model database diff detected

└[~] service aws-sam
  └ resources
     ├[~]  resource AWS::Serverless::Api
     │  ├ properties
     │  │  ├ AccessLogSetting: - AccessLogSetting (immutable)
     │  │  │                   + json ⇐ AccessLogSetting (immutable)
     │  │  ├[+] ApiKeySourceType: json
     │  │  ├ BinaryMediaTypes: - Array<string> (immutable)
     │  │  │                   + json ⇐ Array<string> (immutable)
     │  │  ├ CacheClusterEnabled: - boolean (immutable)
     │  │  │                      + json ⇐ boolean (immutable)
     │  │  ├ CacheClusterSize: - string (immutable)
     │  │  │                   + json ⇐ string (immutable)
     │  │  ├ CanarySetting: - CanarySetting (immutable)
     │  │  │                + json ⇐ CanarySetting (immutable)
     │  │  ├ Cors: - string | CorsConfiguration (immutable)
     │  │  │       + json | string | Cors ⇐ string | CorsConfiguration (immutable)
     │  │  ├ DefinitionUri: - string | S3Location (immutable)
     │  │  │                + string | DefinitionUri ⇐ string | S3Location (immutable)
     │  │  ├ Description: - string (immutable)
     │  │  │              + json ⇐ string (immutable)
     │  │  ├ DisableExecuteApiEndpoint: - boolean (immutable)
     │  │  │                            + json ⇐ boolean (immutable)
     │  │  ├ Domain: - DomainConfiguration (immutable)
     │  │  │         + Domain ⇐ DomainConfiguration (immutable)
     │  │  ├ EndpointConfiguration: - string | EndpointConfiguration (immutable)
     │  │  │                        + json | EndpointConfiguration ⇐ string | EndpointConfiguration (immutable)
     │  │  ├[+] FailOnWarnings: json
     │  │  ├[+] MergeDefinitions: boolean
     │  │  ├ MethodSettings: - Array<json> (immutable)
     │  │  │                 + json ⇐ Array<json> (immutable)
     │  │  ├ MinimumCompressionSize: - number ⇐ integer (immutable)
     │  │  │                         + json ⇐ integer (immutable)
     │  │  ├[+] Mode: json
     │  │  ├ Name: - string (immutable)
     │  │  │       + json ⇐ string (immutable)
     │  │  ├ OpenApiVersion: - string (immutable)
     │  │  │                 + number | string ⇐ string (immutable)
     │  │  ├[+] PropagateTags: boolean
     │  │  ├ StageName: - string (required, immutable)
     │  │  │            + json | string ⇐ string (required, immutable)
     │  │  ├ Tags: - Map<string, string> (immutable)
     │  │  │       + json ⇐ Map<string, string> (immutable)
     │  │  ├ TracingEnabled: - boolean (immutable)
     │  │  │                 + json ⇐ boolean (immutable)
     │  │  └ Variables: - Map<string, string> (immutable)
     │  │               + json ⇐ Map<string, string> (immutable)
     │  └ types
     │     ├[~] type Auth
     │     │ └ properties
     │     │    ├[+] AddApiKeyRequiredToCorsPreflight: boolean
     │     │    ├[+] ApiKeyRequired: boolean
     │     │    ├ Authorizers: - json (immutable)
     │     │    │              + Map<string, CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer> ⇐ json (immutable)
     │     │    ├[+] InvokeRole: string
     │     │    ├[+] ResourcePolicy: ResourcePolicy
     │     │    └[+] UsagePlan: UsagePlan
     │     ├[+]  type CognitoAuthorizer
     │     │  ├      name: CognitoAuthorizer
     │     │  └ properties
     │     │     ├ AuthorizationScopes: Array<string>
     │     │     ├ Identity: CognitoAuthorizerIdentity
     │     │     └ UserPoolArn: json | string (required)
     │     ├[+]  type CognitoAuthorizerIdentity
     │     │  ├      name: CognitoAuthorizerIdentity
     │     │  └ properties
     │     │     ├ Header: string
     │     │     ├ ReauthorizeEvery: json | integer
     │     │     └ ValidationExpression: string
     │     ├[+]  type Cors
     │     │  ├      name: Cors
     │     │  └ properties
     │     │     ├ AllowCredentials: boolean
     │     │     ├ AllowHeaders: string
     │     │     ├ AllowMethods: string
     │     │     ├ AllowOrigin: string (required)
     │     │     └ MaxAge: string
     │     ├[+]  type DefinitionUri
     │     │  ├      name: DefinitionUri
     │     │  └ properties
     │     │     ├ Bucket: json (required)
     │     │     ├ Key: json (required)
     │     │     └ Version: json
     │     ├[+]  type Domain
     │     │  ├      name: Domain
     │     │  └ properties
     │     │     ├ BasePath: json
     │     │     ├ CertificateArn: json (required)
     │     │     ├ DomainName: json (required)
     │     │     ├ EndpointConfiguration: json | string
     │     │     ├ MutualTlsAuthentication: json
     │     │     ├ NormalizeBasePath: boolean
     │     │     ├ OwnershipVerificationCertificateArn: json
     │     │     ├ Route53: Route53
     │     │     └ SecurityPolicy: json
     │     ├[~] type EndpointConfiguration
     │     │ └ properties
     │     │    ├ Type: - string (immutable)
     │     │    │       + json ⇐ string (immutable)
     │     │    └[+] VPCEndpointIds: json
     │     ├[+]  type LambdaRequestAuthorizer
     │     │  ├      name: LambdaRequestAuthorizer
     │     │  └ properties
     │     │     ├ DisableFunctionDefaultPermissions: boolean
     │     │     ├ FunctionArn: json | string (required)
     │     │     ├ FunctionInvokeRole: string
     │     │     ├ FunctionPayloadType: string
     │     │     └ Identity: LambdaRequestAuthorizerIdentity
     │     ├[+]  type LambdaRequestAuthorizerIdentity
     │     │  ├      name: LambdaRequestAuthorizerIdentity
     │     │  └ properties
     │     │     ├ Context: Array<string>
     │     │     ├ Headers: Array<string>
     │     │     ├ QueryStrings: Array<string>
     │     │     ├ ReauthorizeEvery: json | integer
     │     │     └ StageVariables: Array<string>
     │     ├[+]  type LambdaTokenAuthorizer
     │     │  ├      name: LambdaTokenAuthorizer
     │     │  └ properties
     │     │     ├ DisableFunctionDefaultPermissions: boolean
     │     │     ├ FunctionArn: json | string (required)
     │     │     ├ FunctionInvokeRole: string
     │     │     ├ FunctionPayloadType: string
     │     │     └ Identity: LambdaTokenAuthorizerIdentity
     │     ├[+]  type LambdaTokenAuthorizerIdentity
     │     │  ├      name: LambdaTokenAuthorizerIdentity
     │     │  └ properties
     │     │     ├ Header: string
     │     │     ├ ReauthorizeEvery: json | integer
     │     │     └ ValidationExpression: string
     │     ├[+]  type ResourcePolicy
     │     │  ├      name: ResourcePolicy
     │     │  └ properties
     │     │     ├ AwsAccountBlacklist: Array<string | json>
     │     │     ├ AwsAccountWhitelist: Array<string | json>
     │     │     ├ CustomStatements: Array<string | json>
     │     │     ├ IntrinsicVpcBlacklist: Array<string | json>
     │     │     ├ IntrinsicVpcWhitelist: Array<string | json>
     │     │     ├ IntrinsicVpceBlacklist: Array<string | json>
     │     │     ├ IntrinsicVpceWhitelist: Array<string | json>
     │     │     ├ IpRangeBlacklist: Array<string | json>
     │     │     ├ IpRangeWhitelist: Array<string | json>
     │     │     ├ SourceVpcBlacklist: Array<string | json>
     │     │     └ SourceVpcWhitelist: Array<string | json>
     │     ├[+]  type Route53
     │     │  ├      name: Route53
     │     │  └ properties
     │     │     ├ DistributionDomainName: json
     │     │     ├ EvaluateTargetHealth: json
     │     │     ├ HostedZoneId: json
     │     │     ├ HostedZoneName: json
     │     │     ├ IpV6: boolean
     │     │     ├ Region: json
     │     │     ├ SeparateRecordSetGroup: boolean
     │     │     └ SetIdentifier: json
     │     ├[~] type S3Location
     │     │ └ properties
     │     │    └ Version: - number ⇐ integer (required, immutable)
     │     │               + integer (required, immutable)
     │     └[+]  type UsagePlan
     │        ├      name: UsagePlan
     │        └ properties
     │           ├ CreateUsagePlan: json | string (required)
     │           ├ Description: json
     │           ├ Quota: json
     │           ├ Tags: json
     │           ├ Throttle: json
     │           └ UsagePlanName: json
     ├[~]  resource AWS::Serverless::Application
     │  ├ properties
     │  │  ├ Location: - string | ApplicationLocation (required, immutable)
     │  │  │           + string | Location ⇐ string | ApplicationLocation (required, immutable)
     │  │  ├[+] NotificationARNs: json
     │  │  ├ Parameters: - Map<string, string> (immutable)
     │  │  │             + json ⇐ Map<string, string> (immutable)
     │  │  ├ Tags: - Map<string, string> (immutable)
     │  │  │       + json ⇐ Map<string, string> (immutable)
     │  │  └ TimeoutInMinutes: - number ⇐ integer (immutable)
     │  │                      + json ⇐ integer (immutable)
     │  └ types
     │     └[+]  type Location
     │        ├      name: Location
     │        └ properties
     │           ├ ApplicationId: json | string (required)
     │           └ SemanticVersion: json | string (required)
     ├[+]  resource AWS::Serverless::Connector
     │  ├      name: Connector
     │  │      cloudFormationType: AWS::Serverless::Connector
     │  │      cloudFormationTransform: AWS::Serverless-2016-10-31
     │  │      documentation: Definition of AWS::Serverless::Connector
     │  ├ properties
     │  │  ├ Destination: ResourceReference | Array<ResourceReference> (required)
     │  │  ├ Permissions: Array<string> (required)
     │  │  └ Source: ResourceReference (required)
     │  └ types
     │     └ type ResourceReference
     │       ├      name: ResourceReference
     │       └ properties
     │          ├ Arn: json
     │          ├ Id: string
     │          ├ Name: json
     │          ├ Qualifier: json
     │          ├ QueueUrl: json
     │          ├ ResourceId: json
     │          ├ RoleName: json
     │          └ Type: string
     ├[~]  resource AWS::Serverless::Function
     │  ├ properties
     │  │  ├ Architectures: - Array<string> (immutable)
     │  │  │                + json ⇐ Array<string> (immutable)
     │  │  ├ AutoPublishAlias: - string (immutable)
     │  │  │                   + json | string ⇐ string (immutable)
     │  │  ├[+] AutoPublishAliasAllProperties: boolean
     │  │  ├ AutoPublishCodeSha256: - string (immutable)
     │  │  │                        + json | string ⇐ string (immutable)
     │  │  ├ CodeSigningConfigArn: - string (immutable)
     │  │  │                       + json | string ⇐ string (immutable)
     │  │  ├ CodeUri: - string | S3Location (immutable)
     │  │  │          + string | CodeUri ⇐ string | S3Location (immutable)
     │  │  ├ DeadLetterQueue: - DeadLetterQueue (immutable)
     │  │  │                  + json | DeadLetterQueue ⇐ DeadLetterQueue (immutable)
     │  │  ├ Description: - string (immutable)
     │  │  │              + json ⇐ string (immutable)
     │  │  ├ Environment: - FunctionEnvironment (immutable)
     │  │  │              + json ⇐ FunctionEnvironment (immutable)
     │  │  ├ EphemeralStorage: - EphemeralStorage (immutable)
     │  │  │                   + json ⇐ EphemeralStorage (immutable)
     │  │  ├ Events: - Map<string, EventSource> (immutable)
     │  │  │         + Map<string, S3Event | SNSEvent | KinesisEvent | DynamoDBEvent | DocumentDBEvent | SQSEvent | ApiEvent | ScheduleEvent | ScheduleV2Event | CloudWatchEvent | EventBridgeRuleEvent | CloudWatchLogsEvent | IoTRuleEvent | AlexaSkillEvent | CognitoEvent | HttpApiEvent | MSKEvent | MQEvent | SelfManagedKafkaEvent> ⇐ Map<string, EventSource> (immutable)
     │  │  ├ FileSystemConfigs: - Array<FileSystemConfig> (immutable)
     │  │  │                    + json ⇐ Array<FileSystemConfig> (immutable)
     │  │  ├ FunctionName: - string (immutable)
     │  │  │               + json ⇐ string (immutable)
     │  │  ├ Handler: - string (immutable)
     │  │  │          + json ⇐ string (immutable)
     │  │  ├ ImageConfig: - ImageConfig (immutable)
     │  │  │              + json ⇐ ImageConfig (immutable)
     │  │  ├ ImageUri: - string (immutable)
     │  │  │           + json ⇐ string (immutable)
     │  │  ├ InlineCode: - string (immutable)
     │  │  │             + json ⇐ string (immutable)
     │  │  ├ KmsKeyArn: - string (immutable)
     │  │  │            + json ⇐ string (immutable)
     │  │  ├ Layers: - Array<string> (immutable)
     │  │  │         + json ⇐ Array<string> (immutable)
     │  │  ├[+] LoggingConfig: json
     │  │  ├ MemorySize: - number ⇐ integer (immutable)
     │  │  │             + json ⇐ integer (immutable)
     │  │  ├ PackageType: - string (immutable)
     │  │  │              + json ⇐ string (immutable)
     │  │  ├ PermissionsBoundary: - string (immutable)
     │  │  │                      + json ⇐ string (immutable)
     │  │  ├ Policies: - string | IAMPolicyDocument | Array<string | IAMPolicyDocument | SAMPolicyTemplate> (immutable)
     │  │  │           + string | json | Array<string | json> ⇐ string | IAMPolicyDocument | Array<string | IAMPolicyDocument | SAMPolicyTemplate> (immutable)
     │  │  ├[+] PropagateTags: boolean
     │  │  ├ ProvisionedConcurrencyConfig: - ProvisionedConcurrencyConfig (immutable)
     │  │  │                               + json ⇐ ProvisionedConcurrencyConfig (immutable)
     │  │  ├[+] RecursiveLoop: json
     │  │  ├ ReservedConcurrentExecutions: - number ⇐ integer (immutable)
     │  │  │                               + json ⇐ integer (immutable)
     │  │  ├ Role: - string (immutable)
     │  │  │       + json | string ⇐ string (immutable)
     │  │  ├[+] RolePath: json
     │  │  ├ Runtime: - string (immutable)
     │  │  │          + json ⇐ string (immutable)
     │  │  ├[+] RuntimeManagementConfig: json
     │  │  ├[+] SnapStart: json
     │  │  ├[+] SourceKMSKeyArn: json
     │  │  ├ Tags: - Map<string, string> (immutable)
     │  │  │       + json ⇐ Map<string, string> (immutable)
     │  │  ├ Timeout: - number ⇐ integer (immutable)
     │  │  │          + json ⇐ integer (immutable)
     │  │  ├ Tracing: - string (immutable)
     │  │  │          + json | string ⇐ string (immutable)
     │  │  ├ VersionDescription: - string (immutable)
     │  │  │                     + json ⇐ string (immutable)
     │  │  └ VpcConfig: - VpcConfig (immutable)
     │  │               + json ⇐ VpcConfig (immutable)
     │  └ types
     │     ├[~] type AlexaSkillEvent
     │     │ └ properties
     │     │    ├[+] Properties: AlexaSkillEventProperties
     │     │    ├ SkillId: - string (required, immutable)
     │     │    │          + string (immutable)
     │     │    └[+] Type: string (required)
     │     ├[+]  type AlexaSkillEventProperties
     │     │  ├      name: AlexaSkillEventProperties
     │     │  └ properties
     │     │     └ SkillId: string
     │     ├[+]  type ApiAuth
     │     │  ├      name: ApiAuth
     │     │  └ properties
     │     │     ├ ApiKeyRequired: boolean
     │     │     ├ AuthorizationScopes: Array<string>
     │     │     ├ Authorizer: string
     │     │     ├ InvokeRole: json | string
     │     │     ├ OverrideApiAuth: boolean
     │     │     └ ResourcePolicy: ResourcePolicy
     │     ├[~] type ApiEvent
     │     │ └ properties
     │     │    ├[+] Properties: ApiEventProperties (required)
     │     │    ├ RequestParameters: - Array<string | Map<string, RequestParameter>> ⇐ Array<string | RequestParameter> (immutable)
     │     │    │                    + Array<string | RequestParameter> (immutable)
     │     │    └[+] Type: string (required)
     │     ├[+]  type ApiEventProperties
     │     │  ├      name: ApiEventProperties
     │     │  └ properties
     │     │     ├ Auth: ApiAuth
     │     │     ├ Method: string (required)
     │     │     ├ Path: string (required)
     │     │     ├ RequestModel: RequestModel
     │     │     ├ RequestParameters: Array<string | Map<string, RequestParameters>>
     │     │     ├ RestApiId: string | Ref
     │     │     └ TimeoutInMillis: json
     │     ├[+]  type CloudWatchEvent
     │     │  ├      name: CloudWatchEvent
     │     │  └ properties
     │     │     ├ Properties: CloudWatchEventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type CloudWatchEventProperties
     │     │  ├      name: CloudWatchEventProperties
     │     │  └ properties
     │     │     ├ Enabled: boolean
     │     │     ├ EventBusName: json
     │     │     ├ Input: json
     │     │     ├ InputPath: json
     │     │     ├ Pattern: json
     │     │     └ State: json
     │     ├[~] type CloudWatchLogsEvent
     │     │ └ properties
     │     │    ├[+] Properties: CloudWatchLogsEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type CloudWatchLogsEventProperties
     │     │  ├      name: CloudWatchLogsEventProperties
     │     │  └ properties
     │     │     ├ FilterPattern: json (required)
     │     │     └ LogGroupName: json (required)
     │     ├[+]  type CodeUri
     │     │  ├      name: CodeUri
     │     │  └ properties
     │     │     ├ Bucket: json | string (required)
     │     │     ├ Key: json | string (required)
     │     │     └ Version: json | string
     │     ├[~] type CognitoEvent
     │     │ └ properties
     │     │    ├[+] Properties: CognitoEventProperties (required)
     │     │    ├ Trigger: - string | Array<string> ⇐ string (required)
     │     │    │          + string (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type CognitoEventProperties
     │     │  ├      name: CognitoEventProperties
     │     │  └ properties
     │     │     ├ Trigger: json (required)
     │     │     └ UserPool: json | string (required)
     │     ├[+]  type DeadLetterConfig
     │     │  ├      name: DeadLetterConfig
     │     │  └ properties
     │     │     ├ Arn: json
     │     │     ├ QueueLogicalId: string
     │     │     └ Type: string
     │     ├[~] type DeploymentPreference
     │     │ └ properties
     │     │    ├ Alarms: - Array<string> (immutable)
     │     │    │         + json | Array<json> ⇐ Array<string> (immutable)
     │     │    ├ Enabled: - boolean (immutable)
     │     │    │          + json | boolean ⇐ boolean (immutable)
     │     │    ├[+] PassthroughCondition: json | boolean
     │     │    ├ Role: - string
     │     │    │       + json | string
     │     │    ├[+] TriggerConfigurations: json
     │     │    └ Type: - string (immutable)
     │     │            + json | string ⇐ string (immutable)
     │     ├[+]  type DocumentDBEvent
     │     │  ├      name: DocumentDBEvent
     │     │  └ properties
     │     │     ├ Properties: DocumentDBEventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type DocumentDBEventProperties
     │     │  ├      name: DocumentDBEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ Cluster: json (required)
     │     │     ├ CollectionName: json
     │     │     ├ DatabaseName: json (required)
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ FullDocument: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ SecretsManagerKmsKeyId: string
     │     │     ├ SourceAccessConfigurations: json (required)
     │     │     ├ StartingPosition: json
     │     │     └ StartingPositionTimestamp: json
     │     ├[~] type DynamoDBEvent
     │     │ └ properties
     │     │    ├ BatchSize: - number ⇐ integer (immutable)
     │     │    │            + integer (immutable)
     │     │    ├ MaximumBatchingWindowInSeconds: - number ⇐ integer (immutable)
     │     │    │                                 + integer (immutable)
     │     │    ├ MaximumRecordAgeInSeconds: - number ⇐ integer (immutable)
     │     │    │                            + integer (immutable)
     │     │    ├ MaximumRetryAttempts: - number ⇐ integer (immutable)
     │     │    │                       + integer (immutable)
     │     │    ├ ParallelizationFactor: - number ⇐ integer (immutable)
     │     │    │                        + integer (immutable)
     │     │    ├[+] Properties: DynamoDBEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type DynamoDBEventProperties
     │     │  ├      name: DynamoDBEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ BisectBatchOnFunctionError: json
     │     │     ├ DestinationConfig: json
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ FunctionResponseTypes: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ MaximumRecordAgeInSeconds: json
     │     │     ├ MaximumRetryAttempts: json
     │     │     ├ MetricsConfig: json
     │     │     ├ ParallelizationFactor: json
     │     │     ├ StartingPosition: json
     │     │     ├ StartingPositionTimestamp: json
     │     │     ├ Stream: json (required)
     │     │     └ TumblingWindowInSeconds: json
     │     ├[~] type EphemeralStorage
     │     │ └ properties
     │     │    └ Size: - number ⇐ integer (required, immutable)
     │     │            + integer (required, immutable)
     │     ├[~] type EventBridgeRuleEvent
     │     │ └ properties
     │     │    ├[+] Properties: EventBridgeRuleEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type EventBridgeRuleEventProperties
     │     │  ├      name: EventBridgeRuleEventProperties
     │     │  └ properties
     │     │     ├ DeadLetterConfig: DeadLetterConfig
     │     │     ├ EventBusName: json
     │     │     ├ Input: json
     │     │     ├ InputPath: json
     │     │     ├ InputTransformer: json
     │     │     ├ Pattern: json (required)
     │     │     ├ RetryPolicy: json
     │     │     ├ RuleName: json
     │     │     └ Target: EventBridgeRuleTarget
     │     ├[+]  type EventBridgeRuleTarget
     │     │  ├      name: EventBridgeRuleTarget
     │     │  └ properties
     │     │     └ Id: json (required)
     │     ├[~] type EventInvokeConfig
     │     │ └ properties
     │     │    ├ MaximumEventAgeInSeconds: - number ⇐ integer (immutable)
     │     │    │                           + integer (immutable)
     │     │    └ MaximumRetryAttempts: - number ⇐ integer (immutable)
     │     │                            + integer (immutable)
     │     ├[~] type EventInvokeDestinationConfig
     │     │ └ properties
     │     │    ├ OnFailure: - Destination (required, immutable)
     │     │    │            + EventInvokeOnFailure ⇐ Destination (immutable)
     │     │    └ OnSuccess: - Destination (required, immutable)
     │     │                 + EventInvokeOnSuccess ⇐ Destination (immutable)
     │     ├[+]  type EventInvokeOnFailure
     │     │  ├      name: EventInvokeOnFailure
     │     │  └ properties
     │     │     ├ Destination: json | string
     │     │     └ Type: string
     │     ├[+]  type EventInvokeOnSuccess
     │     │  ├      name: EventInvokeOnSuccess
     │     │  └ properties
     │     │     ├ Destination: json | string
     │     │     └ Type: string
     │     ├[+]  type EventsScheduleProperties
     │     │  ├      name: EventsScheduleProperties
     │     │  └ properties
     │     │     ├ DeadLetterConfig: DeadLetterConfig
     │     │     ├ Description: json
     │     │     ├ Enabled: boolean
     │     │     ├ Input: json
     │     │     ├ Name: json
     │     │     ├ RetryPolicy: json
     │     │     ├ Schedule: json
     │     │     └ State: json
     │     ├[~] type FunctionUrlConfig
     │     │ └ properties
     │     │    ├ AuthType: - string (required, immutable)
     │     │    │           + json | string ⇐ string (required, immutable)
     │     │    ├ Cors: - string | CorsConfiguration (immutable)
     │     │    │       + json ⇐ string | CorsConfiguration (immutable)
     │     │    └ InvokeMode: - string (immutable)
     │     │                  + json ⇐ string (immutable)
     │     ├[~] type Hooks
     │     │ └ properties
     │     │    ├ PostTraffic: - string (immutable)
     │     │    │              + json | string ⇐ string (immutable)
     │     │    └ PreTraffic: - string (immutable)
     │     │                  + json | string ⇐ string (immutable)
     │     ├[+]  type HttpApiAuth
     │     │  ├      name: HttpApiAuth
     │     │  └ properties
     │     │     ├ AuthorizationScopes: Array<string>
     │     │     └ Authorizer: string
     │     ├[~] type HttpApiEvent
     │     │ └ properties
     │     │    ├[+] Properties: HttpApiEventProperties
     │     │    ├ TimeoutInMillis: - number ⇐ integer (immutable)
     │     │    │                  + integer (immutable)
     │     │    └[+] Type: string (required)
     │     ├[+]  type HttpApiEventProperties
     │     │  ├      name: HttpApiEventProperties
     │     │  └ properties
     │     │     ├ ApiId: json | string
     │     │     ├ Auth: HttpApiAuth
     │     │     ├ Method: string
     │     │     ├ Path: string
     │     │     ├ PayloadFormatVersion: json | string
     │     │     ├ RouteSettings: json
     │     │     └ TimeoutInMillis: json | integer
     │     ├[~] type IoTRuleEvent
     │     │ └ properties
     │     │    ├[+] Properties: IoTRuleEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type IoTRuleEventProperties
     │     │  ├      name: IoTRuleEventProperties
     │     │  └ properties
     │     │     ├ AwsIotSqlVersion: json
     │     │     └ Sql: json (required)
     │     ├[~] type KinesisEvent
     │     │ └ properties
     │     │    ├ BatchSize: - number ⇐ integer (immutable)
     │     │    │            + integer (immutable)
     │     │    ├[+] Properties: KinesisEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type KinesisEventProperties
     │     │  ├      name: KinesisEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ BisectBatchOnFunctionError: json
     │     │     ├ DestinationConfig: json
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ FunctionResponseTypes: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ MaximumRecordAgeInSeconds: json
     │     │     ├ MaximumRetryAttempts: json
     │     │     ├ MetricsConfig: json
     │     │     ├ ParallelizationFactor: json
     │     │     ├ StartingPosition: json
     │     │     ├ StartingPositionTimestamp: json
     │     │     ├ Stream: json (required)
     │     │     └ TumblingWindowInSeconds: json
     │     ├[+]  type MQEvent
     │     │  ├      name: MQEvent
     │     │  └ properties
     │     │     ├ Properties: MQEventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type MQEventProperties
     │     │  ├      name: MQEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ Broker: json (required)
     │     │     ├ DynamicPolicyName: boolean
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ Queues: json (required)
     │     │     ├ SecretsManagerKmsKeyId: string
     │     │     └ SourceAccessConfigurations: json (required)
     │     ├[+]  type MSKEvent
     │     │  ├      name: MSKEvent
     │     │  └ properties
     │     │     ├ Properties: MSKEventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type MSKEventProperties
     │     │  ├      name: MSKEventProperties
     │     │  └ properties
     │     │     ├ ConsumerGroupId: json
     │     │     ├ DestinationConfig: json
     │     │     ├ FilterCriteria: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ ProvisionedPollerConfig: json
     │     │     ├ SourceAccessConfigurations: json
     │     │     ├ StartingPosition: json
     │     │     ├ StartingPositionTimestamp: json
     │     │     ├ Stream: json (required)
     │     │     └ Topics: json (required)
     │     ├[+]  type Ref
     │     │  ├      name: Ref
     │     │  └ properties
     │     │     └ Ref: string (required)
     │     ├[+]  type RequestParameters
     │     │  ├      name: RequestParameters
     │     │  └ properties
     │     │     ├ Caching: boolean
     │     │     └ Required: boolean
     │     ├[+]  type ResourcePolicy
     │     │  ├      name: ResourcePolicy
     │     │  └ properties
     │     │     ├ AwsAccountBlacklist: Array<string | json>
     │     │     ├ AwsAccountWhitelist: Array<string | json>
     │     │     ├ CustomStatements: Array<string | json>
     │     │     ├ IntrinsicVpcBlacklist: Array<string | json>
     │     │     ├ IntrinsicVpcWhitelist: Array<string | json>
     │     │     ├ IntrinsicVpceBlacklist: Array<string | json>
     │     │     ├ IntrinsicVpceWhitelist: Array<string | json>
     │     │     ├ IpRangeBlacklist: Array<string | json>
     │     │     ├ IpRangeWhitelist: Array<string | json>
     │     │     ├ SourceVpcBlacklist: Array<string | json>
     │     │     └ SourceVpcWhitelist: Array<string | json>
     │     ├[~] type RouteSettings
     │     │ └ properties
     │     │    └ ThrottlingBurstLimit: - number ⇐ integer (immutable)
     │     │                            + integer (immutable)
     │     ├[~] type S3Event
     │     │ └ properties
     │     │    ├ Events: - string | Array<string> ⇐ string (required, immutable)
     │     │    │         + string (required, immutable)
     │     │    ├[+] Properties: S3EventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type S3EventProperties
     │     │  ├      name: S3EventProperties
     │     │  └ properties
     │     │     ├ Bucket: json | string (required)
     │     │     ├ Events: json (required)
     │     │     └ Filter: json
     │     ├[~] type S3Location
     │     │ └ properties
     │     │    └ Version: - number ⇐ integer (immutable)
     │     │               + integer (immutable)
     │     ├[~] type ScheduleEvent
     │     │ └ properties
     │     │    ├[+] Properties: EventsScheduleProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type ScheduleV2Event
     │     │  ├      name: ScheduleV2Event
     │     │  └ properties
     │     │     ├ Properties: ScheduleV2EventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type ScheduleV2EventProperties
     │     │  ├      name: ScheduleV2EventProperties
     │     │  └ properties
     │     │     ├ DeadLetterConfig: DeadLetterConfig
     │     │     ├ Description: json
     │     │     ├ EndDate: json
     │     │     ├ FlexibleTimeWindow: json
     │     │     ├ GroupName: json
     │     │     ├ Input: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ Name: json
     │     │     ├ OmitName: boolean
     │     │     ├ PermissionsBoundary: json
     │     │     ├ RetryPolicy: json
     │     │     ├ RoleArn: json
     │     │     ├ ScheduleExpression: json
     │     │     ├ ScheduleExpressionTimezone: json
     │     │     ├ StartDate: json
     │     │     └ State: json
     │     ├[+]  type SelfManagedKafkaEvent
     │     │  ├      name: SelfManagedKafkaEvent
     │     │  └ properties
     │     │     ├ Properties: SelfManagedKafkaEventProperties (required)
     │     │     └ Type: string (required)
     │     ├[+]  type SelfManagedKafkaEventProperties
     │     │  ├      name: SelfManagedKafkaEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ ConsumerGroupId: json
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ KafkaBootstrapServers: Array<string | json>
     │     │     ├ KmsKeyArn: json
     │     │     ├ ProvisionedPollerConfig: json
     │     │     ├ SourceAccessConfigurations: json (required)
     │     │     ├ StartingPosition: json
     │     │     ├ StartingPositionTimestamp: json
     │     │     └ Topics: json (required)
     │     ├[~] type SNSEvent
     │     │ └ properties
     │     │    ├[+] Properties: SNSEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type SNSEventProperties
     │     │  ├      name: SNSEventProperties
     │     │  └ properties
     │     │     ├ FilterPolicy: json
     │     │     ├ FilterPolicyScope: json
     │     │     ├ Region: json
     │     │     ├ SqsSubscription: boolean | SqsSubscription
     │     │     └ Topic: json (required)
     │     ├[~] type SQSEvent
     │     │ └ properties
     │     │    ├ BatchSize: - number ⇐ integer (immutable)
     │     │    │            + integer (immutable)
     │     │    ├[+] Properties: SQSEventProperties (required)
     │     │    └[+] Type: string (required)
     │     ├[+]  type SQSEventProperties
     │     │  ├      name: SQSEventProperties
     │     │  └ properties
     │     │     ├ BatchSize: json
     │     │     ├ Enabled: json
     │     │     ├ FilterCriteria: json
     │     │     ├ FunctionResponseTypes: json
     │     │     ├ KmsKeyArn: json
     │     │     ├ MaximumBatchingWindowInSeconds: json
     │     │     ├ MetricsConfig: json
     │     │     ├ Queue: json (required)
     │     │     └ ScalingConfig: json
     │     └[+]  type SqsSubscription
     │        ├      name: SqsSubscription
     │        └ properties
     │           ├ BatchSize: json | string
     │           ├ Enabled: boolean
     │           ├ QueueArn: json | string (required)
     │           ├ QueuePolicyLogicalId: string
     │           └ QueueUrl: json | string (required)
     ├[+]  resource AWS::Serverless::GraphQLApi
     │  ├      name: GraphQLApi
     │  │      cloudFormationType: AWS::Serverless::GraphQLApi
     │  │      cloudFormationTransform: AWS::Serverless-2016-10-31
     │  │      documentation: Definition of AWS::Serverless::GraphQLApi
     │  │      tagInformation: {"tagPropertyName":"Tags","variant":"map"}
     │  ├ properties
     │  │  ├ ApiKeys: Map<string, ApiKey>
     │  │  ├ Auth: Auth (required)
     │  │  ├ Cache: Cache
     │  │  ├ DataSources: DataSources
     │  │  ├ DomainName: DomainName
     │  │  ├ Functions: Map<string, Function>
     │  │  ├ IntrospectionConfig: json
     │  │  ├ Logging: Logging | boolean
     │  │  ├ Name: json
     │  │  ├ OwnerContact: json
     │  │  ├ QueryDepthLimit: json
     │  │  ├ ResolverCountLimit: json
     │  │  ├ Resolvers: Map<string, Map<string, Resolver>>
     │  │  ├ SchemaInline: json
     │  │  ├ SchemaUri: json
     │  │  ├ Tags: json
     │  │  ├ Visibility: json
     │  │  └ XrayEnabled: boolean
     │  └ types
     │     ├ type ApiKey
     │     │ ├      name: ApiKey
     │     │ └ properties
     │     │    ├ ApiKeyId: json
     │     │    ├ Description: json
     │     │    └ ExpiresOn: json
     │     ├ type Auth
     │     │ ├      name: Auth
     │     │ └ properties
     │     │    ├ Additional: Array<Authorizer>
     │     │    ├ LambdaAuthorizer: LambdaAuthorizerConfig
     │     │    ├ OpenIDConnect: OpenIDConnectConfig
     │     │    ├ Type: string (required)
     │     │    └ UserPool: UserPoolConfig
     │     ├ type Authorizer
     │     │ ├      name: Authorizer
     │     │ └ properties
     │     │    ├ LambdaAuthorizer: LambdaAuthorizerConfig
     │     │    ├ OpenIDConnect: OpenIDConnectConfig
     │     │    ├ Type: string (required)
     │     │    └ UserPool: UserPoolConfig
     │     ├ type Cache
     │     │ ├      name: Cache
     │     │ └ properties
     │     │    ├ ApiCachingBehavior: json (required)
     │     │    ├ AtRestEncryptionEnabled: json
     │     │    ├ TransitEncryptionEnabled: json
     │     │    ├ Ttl: json (required)
     │     │    └ Type: json (required)
     │     ├ type Caching
     │     │ ├      name: Caching
     │     │ └ properties
     │     │    ├ CachingKeys: Array<json>
     │     │    └ Ttl: json (required)
     │     ├ type DataSources
     │     │ ├      name: DataSources
     │     │ └ properties
     │     │    ├ DynamoDb: Map<string, DynamoDBDataSource>
     │     │    └ Lambda: Map<string, LambdaDataSource>
     │     ├ type DeltaSync
     │     │ ├      name: DeltaSync
     │     │ └ properties
     │     │    ├ BaseTableTTL: json (required)
     │     │    ├ DeltaSyncTableName: json (required)
     │     │    └ DeltaSyncTableTTL: json (required)
     │     ├ type DomainName
     │     │ ├      name: DomainName
     │     │ └ properties
     │     │    ├ CertificateArn: json (required)
     │     │    ├ Description: json
     │     │    └ DomainName: json (required)
     │     ├ type DynamoDBDataSource
     │     │ ├      name: DynamoDBDataSource
     │     │ └ properties
     │     │    ├ DeltaSync: DeltaSync
     │     │    ├ Description: json
     │     │    ├ Name: json
     │     │    ├ Permissions: Array<string>
     │     │    ├ Region: json
     │     │    ├ ServiceRoleArn: json
     │     │    ├ TableArn: json
     │     │    ├ TableName: json (required)
     │     │    ├ UseCallerCredentials: json
     │     │    └ Versioned: json
     │     ├ type Function
     │     │ ├      name: Function
     │     │ └ properties
     │     │    ├ CodeUri: json
     │     │    ├ DataSource: json | string
     │     │    ├ Description: json
     │     │    ├ Id: json
     │     │    ├ InlineCode: json
     │     │    ├ MaxBatchSize: json
     │     │    ├ Name: string
     │     │    ├ Runtime: Runtime
     │     │    └ Sync: Sync
     │     ├ type LambdaAuthorizerConfig
     │     │ ├      name: LambdaAuthorizerConfig
     │     │ └ properties
     │     │    ├ AuthorizerResultTtlInSeconds: json
     │     │    ├ AuthorizerUri: json (required)
     │     │    └ IdentityValidationExpression: json
     │     ├ type LambdaConflictHandlerConfig
     │     │ ├      name: LambdaConflictHandlerConfig
     │     │ └ properties
     │     │    └ LambdaConflictHandlerArn: json (required)
     │     ├ type LambdaDataSource
     │     │ ├      name: LambdaDataSource
     │     │ └ properties
     │     │    ├ Description: json
     │     │    ├ FunctionArn: json (required)
     │     │    ├ Name: json
     │     │    └ ServiceRoleArn: json
     │     ├ type Logging
     │     │ ├      name: Logging
     │     │ └ properties
     │     │    ├ CloudWatchLogsRoleArn: json
     │     │    ├ ExcludeVerboseContent: json
     │     │    └ FieldLogLevel: json
     │     ├ type OpenIDConnectConfig
     │     │ ├      name: OpenIDConnectConfig
     │     │ └ properties
     │     │    ├ AuthTTL: json
     │     │    ├ ClientId: json
     │     │    ├ IatTTL: json
     │     │    └ Issuer: json
     │     ├ type Resolver
     │     │ ├      name: Resolver
     │     │ └ properties
     │     │    ├ Caching: Caching
     │     │    ├ CodeUri: json
     │     │    ├ FieldName: string
     │     │    ├ InlineCode: json
     │     │    ├ MaxBatchSize: json
     │     │    ├ Pipeline: Array<string>
     │     │    ├ Runtime: Runtime
     │     │    └ Sync: Sync
     │     ├ type Runtime
     │     │ ├      name: Runtime
     │     │ └ properties
     │     │    ├ Name: json (required)
     │     │    └ Version: json (required)
     │     ├ type Sync
     │     │ ├      name: Sync
     │     │ └ properties
     │     │    ├ ConflictDetection: json (required)
     │     │    ├ ConflictHandler: json
     │     │    └ LambdaConflictHandlerConfig: LambdaConflictHandlerConfig
     │     └ type UserPoolConfig
     │       ├      name: UserPoolConfig
     │       └ properties
     │          ├ AppIdClientRegex: json
     │          ├ AwsRegion: json
     │          ├ DefaultAction: json
     │          └ UserPoolId: json (required)
     ├[~]  resource AWS::Serverless::HttpApi
     │  ├ properties
     │  │  ├[+] AccessLogSettings: json
     │  │  ├ Auth: - HttpApiAuth (immutable)
     │  │  │       + Auth ⇐ HttpApiAuth (immutable)
     │  │  ├ CorsConfiguration: - boolean | CorsConfigurationObject (immutable)
     │  │  │                    + json ⇐ boolean | CorsConfigurationObject (immutable)
     │  │  ├ DefaultRouteSettings: - RouteSettings (immutable)
     │  │  │                       + json ⇐ RouteSettings (immutable)
     │  │  ├ DefinitionUri: - string | S3Location (immutable)
     │  │  │                + string | DefinitionUri ⇐ string | S3Location (immutable)
     │  │  ├ DisableExecuteApiEndpoint: - boolean (immutable)
     │  │  │                            + json ⇐ boolean (immutable)
     │  │  ├ Domain: - HttpApiDomainConfiguration (immutable)
     │  │  │         + Domain ⇐ HttpApiDomainConfiguration (immutable)
     │  │  ├ FailOnWarnings: - boolean (immutable)
     │  │  │                 + json ⇐ boolean (immutable)
     │  │  ├[+] Name: json
     │  │  ├[+] PropagateTags: boolean
     │  │  ├ RouteSettings: - RouteSettings (immutable)
     │  │  │                + json ⇐ RouteSettings (immutable)
     │  │  ├ StageName: - string (immutable)
     │  │  │            + json ⇐ string (immutable)
     │  │  ├ StageVariables: - Map<string, string> (immutable)
     │  │  │                 + json ⇐ Map<string, string> (immutable)
     │  │  └ Tags: - Map<string, string> (immutable)
     │  │          + json ⇐ Map<string, string> (immutable)
     │  └ types
     │     ├[+]  type Auth
     │     │  ├      name: Auth
     │     │  └ properties
     │     │     ├ Authorizers: Map<string, OAuth2Authorizer | LambdaAuthorizer>
     │     │     ├ DefaultAuthorizer: string
     │     │     └ EnableIamAuthorizer: boolean
     │     ├[~] type CorsConfigurationObject
     │     │ └ properties
     │     │    └ MaxAge: - number ⇐ integer (immutable)
     │     │              + integer (immutable)
     │     ├[+]  type DefinitionUri
     │     │  ├      name: DefinitionUri
     │     │  └ properties
     │     │     ├ Bucket: string (required)
     │     │     ├ Key: string (required)
     │     │     └ Version: string
     │     ├[+]  type Domain
     │     │  ├      name: Domain
     │     │  └ properties
     │     │     ├ BasePath: Array<string>
     │     │     ├ CertificateArn: json (required)
     │     │     ├ DomainName: json (required)
     │     │     ├ EndpointConfiguration: json | string
     │     │     ├ MutualTlsAuthentication: json
     │     │     ├ OwnershipVerificationCertificateArn: json
     │     │     ├ Route53: Route53
     │     │     └ SecurityPolicy: json
     │     ├[+]  type LambdaAuthorizer
     │     │  ├      name: LambdaAuthorizer
     │     │  └ properties
     │     │     ├ AuthorizerPayloadFormatVersion: string | number (required)
     │     │     ├ EnableFunctionDefaultPermissions: boolean
     │     │     ├ EnableSimpleResponses: boolean
     │     │     ├ FunctionArn: json | string (required)
     │     │     ├ FunctionInvokeRole: json | string
     │     │     └ Identity: LambdaAuthorizerIdentity
     │     ├[+]  type LambdaAuthorizerIdentity
     │     │  ├      name: LambdaAuthorizerIdentity
     │     │  └ properties
     │     │     ├ Context: Array<string>
     │     │     ├ Headers: Array<string>
     │     │     ├ QueryStrings: Array<string>
     │     │     ├ ReauthorizeEvery: integer
     │     │     └ StageVariables: Array<string>
     │     ├[+]  type OAuth2Authorizer
     │     │  ├      name: OAuth2Authorizer
     │     │  └ properties
     │     │     ├ AuthorizationScopes: Array<string>
     │     │     ├ IdentitySource: string
     │     │     └ JwtConfiguration: json
     │     ├[+]  type Route53
     │     │  ├      name: Route53
     │     │  └ properties
     │     │     ├ DistributionDomainName: json
     │     │     ├ EvaluateTargetHealth: json
     │     │     ├ HostedZoneId: json
     │     │     ├ HostedZoneName: json
     │     │     ├ IpV6: boolean
     │     │     ├ Region: json
     │     │     └ SetIdentifier: json
     │     ├[~] type RouteSettings
     │     │ └ properties
     │     │    └ ThrottlingBurstLimit: - number ⇐ integer (immutable)
     │     │                            + integer (immutable)
     │     └[~] type S3Location
     │       └ properties
     │          └ Version: - number ⇐ integer (required, immutable)
     │                     + integer (required, immutable)
     ├[~]  resource AWS::Serverless::LayerVersion
     │  ├ properties
     │  │  ├[+] CompatibleArchitectures: json
     │  │  ├ CompatibleRuntimes: - Array<string> (immutable)
     │  │  │                     + json ⇐ Array<string> (immutable)
     │  │  ├ ContentUri: - string | S3Location (immutable)
     │  │  │             + string | ContentUri ⇐ string | S3Location (required, immutable)
     │  │  ├ Description: - string (immutable)
     │  │  │              + json ⇐ string (immutable)
     │  │  ├ LayerName: - string (immutable)
     │  │  │            + json ⇐ string (immutable)
     │  │  ├ LicenseInfo: - string (immutable)
     │  │  │              + json ⇐ string (immutable)
     │  │  ├[+] PublishLambdaVersion: boolean
     │  │  └ RetentionPolicy: - string (immutable)
     │  │                     + json | string ⇐ string (immutable)
     │  └ types
     │     ├[+]  type ContentUri
     │     │  ├      name: ContentUri
     │     │  └ properties
     │     │     ├ Bucket: json (required)
     │     │     ├ Key: json (required)
     │     │     └ Version: json
     │     └[~] type S3Location
     │       └ properties
     │          └ Version: - number ⇐ integer (immutable)
     │                     + integer (immutable)
     ├[~]  resource AWS::Serverless::SimpleTable
     │  ├ properties
     │  │  ├[+] PointInTimeRecoverySpecification: json
     │  │  ├ ProvisionedThroughput: - ProvisionedThroughput (immutable)
     │  │  │                        + json ⇐ ProvisionedThroughput (immutable)
     │  │  ├ SSESpecification: - SSESpecification (immutable)
     │  │  │                   + json ⇐ SSESpecification (immutable)
     │  │  ├ TableName: - string (immutable)
     │  │  │            + json ⇐ string (immutable)
     │  │  └ Tags: - Map<string, string> (immutable)
     │  │          + json ⇐ Map<string, string> (immutable)
     │  └ types
     │     ├[~] type PrimaryKey
     │     │ └ properties
     │     │    ├ Name: - string (immutable)
     │     │    │       + json ⇐ string (required, immutable)
     │     │    └ Type: - string (required, immutable)
     │     │            + json ⇐ string (required, immutable)
     │     └[~] type ProvisionedThroughput
     │       └ properties
     │          ├ ReadCapacityUnits: - number ⇐ integer (immutable)
     │          │                    + integer (immutable)
     │          └ WriteCapacityUnits: - number ⇐ integer (required, immutable)
     │                                + integer (required, immutable)
     └[~]  resource AWS::Serverless::StateMachine
        ├ properties
        │  ├[+] AutoPublishAlias: json
        │  ├ DefinitionSubstitutions: - Map<string, string> (immutable)
        │  │                          + json ⇐ Map<string, string> (immutable)
        │  ├ DefinitionUri: - string | S3Location (immutable)
        │  │                + string | json ⇐ string | S3Location (immutable)
        │  ├[+] DeploymentPreference: json
        │  ├ Events: - Map<string, EventSource> (immutable)
        │  │         + Map<string, ScheduleEvent | ScheduleV2Event | CloudWatchEvent | EventBridgeRuleEvent | ApiEvent> ⇐ Map<string, EventSource> (immutable)
        │  ├ Logging: - LoggingConfiguration (immutable)
        │  │          + json ⇐ LoggingConfiguration (immutable)
        │  ├ Name: - string (immutable)
        │  │       + json ⇐ string (immutable)
        │  ├[+] PermissionsBoundary: json
        │  ├ Policies: - string | IAMPolicyDocument | Array<string | IAMPolicyDocument | SAMPolicyTemplate> (immutable)
        │  │           + string | json | Array<string | json> ⇐ string | IAMPolicyDocument | Array<string | IAMPolicyDocument | SAMPolicyTemplate> (immutable)
        │  ├[+] PropagateTags: boolean
        │  ├ Role: - string (immutable)
        │  │       + json ⇐ string (immutable)
        │  ├[+] RolePath: json
        │  ├ Tags: - Map<string, string> (immutable)
        │  │       + json ⇐ Map<string, string> (immutable)
        │  ├ Tracing: - TracingConfiguration (immutable)
        │  │          + json ⇐ TracingConfiguration (immutable)
        │  ├ Type: - string (immutable)
        │  │       + json ⇐ string (immutable)
        │  └[+] UseAliasAsEventTarget: boolean
        └ types
           ├[~] type ApiEvent
           │ └ properties
           │    ├[+] Properties: ApiEventProperties (required)
           │    └[+] Type: string (required)
           ├[+]  type ApiEventProperties
           │  ├      name: ApiEventProperties
           │  └ properties
           │     ├ Auth: Auth
           │     ├ Method: string (required)
           │     ├ Path: string (required)
           │     ├ RestApiId: json | string
           │     └ UnescapeMappingTemplate: boolean
           ├[+]  type Auth
           │  ├      name: Auth
           │  └ properties
           │     ├ ApiKeyRequired: boolean
           │     ├ AuthorizationScopes: Array<string>
           │     ├ Authorizer: string
           │     └ ResourcePolicy: ResourcePolicy
           ├[+]  type CloudWatchEvent
           │  ├      name: CloudWatchEvent
           │  └ properties
           │     ├ Properties: CloudWatchEventProperties (required)
           │     └ Type: string (required)
           ├[+]  type CloudWatchEventProperties
           │  ├      name: CloudWatchEventProperties
           │  └ properties
           │     ├ EventBusName: json
           │     ├ Input: json
           │     ├ InputPath: json
           │     └ Pattern: json
           ├[+]  type DeadLetterConfig
           │  ├      name: DeadLetterConfig
           │  └ properties
           │     ├ Arn: json
           │     ├ QueueLogicalId: string
           │     └ Type: string
           ├[~] type EventBridgeRuleEvent
           │ └ properties
           │    ├[+] Properties: EventBridgeRuleEventProperties (required)
           │    └[+] Type: string (required)
           ├[+]  type EventBridgeRuleEventProperties
           │  ├      name: EventBridgeRuleEventProperties
           │  └ properties
           │     ├ DeadLetterConfig: DeadLetterConfig
           │     ├ EventBusName: json
           │     ├ Input: json
           │     ├ InputPath: json
           │     ├ InputTransformer: json
           │     ├ Pattern: json
           │     ├ RetryPolicy: json
           │     ├ RuleName: json
           │     └ Target: EventBridgeRuleTarget
           ├[+]  type EventBridgeRuleTarget
           │  ├      name: EventBridgeRuleTarget
           │  └ properties
           │     └ Id: json (required)
           ├[+]  type ResourcePolicy
           │  ├      name: ResourcePolicy
           │  └ properties
           │     ├ AwsAccountBlacklist: Array<string | json>
           │     ├ AwsAccountWhitelist: Array<string | json>
           │     ├ CustomStatements: Array<string | json>
           │     ├ IntrinsicVpcBlacklist: Array<string | json>
           │     ├ IntrinsicVpcWhitelist: Array<string | json>
           │     ├ IntrinsicVpceBlacklist: Array<string | json>
           │     ├ IntrinsicVpceWhitelist: Array<string | json>
           │     ├ IpRangeBlacklist: Array<string | json>
           │     ├ IpRangeWhitelist: Array<string | json>
           │     ├ SourceVpcBlacklist: Array<string | json>
           │     └ SourceVpcWhitelist: Array<string | json>
           ├[~] type S3Location
           │ └ properties
           │    └ Version: - number ⇐ integer (immutable)
           │               + integer (immutable)
           ├[~] type ScheduleEvent
           │ └ properties
           │    ├[+] Properties: ScheduleEventProperties (required)
           │    └[+] Type: string (required)
           ├[+]  type ScheduleEventProperties
           │  ├      name: ScheduleEventProperties
           │  └ properties
           │     ├ DeadLetterConfig: DeadLetterConfig
           │     ├ Description: json
           │     ├ Enabled: boolean
           │     ├ Input: json
           │     ├ Name: json
           │     ├ RetryPolicy: json
           │     ├ RoleArn: json
           │     ├ Schedule: json
           │     ├ State: json
           │     └ Target: ScheduleTarget
           ├[+]  type ScheduleTarget
           │  ├      name: ScheduleTarget
           │  └ properties
           │     └ Id: json (required)
           ├[+]  type ScheduleV2Event
           │  ├      name: ScheduleV2Event
           │  └ properties
           │     ├ Properties: ScheduleV2EventProperties (required)
           │     └ Type: string (required)
           └[+]  type ScheduleV2EventProperties
              ├      name: ScheduleV2EventProperties
              └ properties
                 ├ DeadLetterConfig: DeadLetterConfig
                 ├ Description: json
                 ├ EndDate: json
                 ├ FlexibleTimeWindow: json
                 ├ GroupName: json
                 ├ Input: json
                 ├ KmsKeyArn: json
                 ├ Name: json
                 ├ OmitName: boolean
                 ├ PermissionsBoundary: json
                 ├ RetryPolicy: json
                 ├ RoleArn: json
                 ├ ScheduleExpression: json
                 ├ ScheduleExpressionTimezone: json
                 ├ StartDate: json
                 └ State: json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant