diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack1.assets.json index fb45f1a55c703..788a3579f5dce 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack1.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack1.assets.json @@ -1,13 +1,14 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { "fe62ac880051c735d06ab04c47aefb078cc6bcc5804ed60cb4521e8c7d10c56e": { + "displayName": "TestStack1 Template", "source": { "path": "TestStack1.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-9428d7ac": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", "objectKey": "fe62ac880051c735d06ab04c47aefb078cc6bcc5804ed60cb4521e8c7d10c56e.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.assets.json index 2c13b314e805c..e380af59bc531 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "0bea6369f4826169fd9d375b2c98a62d7801c95ab5473313f9deedb8b0bb4249": { + "4a9e1960385dad0f20125119e4bc6d3220cb479687199b4f8b209919369245ac": { + "displayName": "TestStack2 Template", "source": { "path": "TestStack2.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-37e0ea3c": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "0bea6369f4826169fd9d375b2c98a62d7801c95ab5473313f9deedb8b0bb4249.json", + "objectKey": "4a9e1960385dad0f20125119e4bc6d3220cb479687199b4f8b209919369245ac.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.template.json index ccaec436fff16..f517a67bae3f5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/TestStack2.template.json @@ -157,7 +157,21 @@ "s3:PutBucketNotification" ], "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::ImportValue": "TestStack1:ExportsOutputRefbucket43879C716CF1CFA3" + } + ] + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/integ.json index 74f6c8f8d3ce4..a28e2cbcac911 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "issue-4324/DefaultTest": { "stacks": [ @@ -8,5 +8,6 @@ "assertionStack": "issue-4324/DefaultTest/DeployAssert", "assertionStackName": "issue4324DefaultTestDeployAssert63CED672" } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/issue4324DefaultTestDeployAssert63CED672.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/issue4324DefaultTestDeployAssert63CED672.assets.json index 6e97e142f4292..9bc10570652ef 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/issue4324DefaultTestDeployAssert63CED672.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/issue4324DefaultTestDeployAssert63CED672.assets.json @@ -1,13 +1,14 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "issue4324DefaultTestDeployAssert63CED672 Template", "source": { "path": "issue4324DefaultTestDeployAssert63CED672.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-d8d86b35": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/manifest.json index 5cd43f64c7904..4f4635b4fe208 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "TestStack1.assets": { "type": "cdk:asset-manifest", @@ -34,6 +34,14 @@ "TestStack1.assets" ], "metadata": { + "/TestStack1/bucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/TestStack1/bucket/Resource": [ { "type": "aws:cdk:logicalId", @@ -78,7 +86,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0bea6369f4826169fd9d375b2c98a62d7801c95ab5473313f9deedb8b0bb4249.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4a9e1960385dad0f20125119e4bc6d3220cb479687199b4f8b209919369245ac.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -95,6 +103,38 @@ "TestStack2.assets" ], "metadata": { + "/TestStack2/F": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "handler": "*", + "code": "*", + "runtime": "*" + } + } + ], + "/TestStack2/F/ServiceRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + }, + "managedPolicies": [ + { + "managedPolicyArn": "*" + } + ] + } + } + ], + "/TestStack2/F/ServiceRole/ImportServiceRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/TestStack2/F/ServiceRole/Resource": [ { "type": "aws:cdk:logicalId", @@ -119,12 +159,109 @@ "data": "ImportedAllowBucketNotificationsToTestStack2F56424633CA7CA6E4" } ], + "/TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -205,6 +342,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": false, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/tree.json index 8a4c4d692c255..82b812e456849 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.imported-bucket.js.snapshot/tree.json @@ -1,442 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "TestStack1": { - "id": "TestStack1", - "path": "TestStack1", - "children": { - "bucket": { - "id": "bucket", - "path": "TestStack1/bucket", - "children": { - "Resource": { - "id": "Resource", - "path": "TestStack1/bucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "Exports": { - "id": "Exports", - "path": "TestStack1/Exports", - "children": { - "Output{\"Ref\":\"bucket43879C71\"}": { - "id": "Output{\"Ref\":\"bucket43879C71\"}", - "path": "TestStack1/Exports/Output{\"Ref\":\"bucket43879C71\"}", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnOutput", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "TestStack1/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "TestStack1/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "TestStack2": { - "id": "TestStack2", - "path": "TestStack2", - "children": { - "F": { - "id": "F", - "path": "TestStack2/F", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "TestStack2/F/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "TestStack2/F/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "TestStack2/F/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "TestStack2/F/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "exports.handler = async function handler(event) {\n console.log('event:', JSON.stringify(event, undefined, 2));\n return { event };\n}" - }, - "handler": "index.handler", - "role": { - "Fn::GetAtt": [ - "FServiceRole3AC82EE1", - "Arn" - ] - }, - "runtime": "nodejs18.x" - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0" - } - }, - "Imported": { - "id": "Imported", - "path": "TestStack2/Imported", - "children": { - "Notifications": { - "id": "Notifications", - "path": "TestStack2/Imported/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "TestStack2/Imported/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "AllowBucketNotificationsToTestStack2F56424633": { - "id": "AllowBucketNotificationsToTestStack2F56424633", - "path": "TestStack2/Imported/AllowBucketNotificationsToTestStack2F56424633", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Permission", - "aws:cdk:cloudformation:props": { - "action": "lambda:InvokeFunction", - "functionName": { - "Fn::GetAtt": [ - "FC4345940", - "Arn" - ] - }, - "principal": "s3.amazonaws.com", - "sourceAccount": { - "Ref": "AWS::AccountId" - }, - "sourceArn": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":s3:::", - { - "Fn::ImportValue": "TestStack1:ExportsOutputRefbucket43879C716CF1CFA3" - } - ] - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.CfnPermission", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "s3:GetBucketNotification", - "s3:PutBucketNotification" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "TestStack2/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "TestStack2/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "issue-4324": { - "id": "issue-4324", - "path": "issue-4324", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "issue-4324/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "issue-4324/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "issue-4324/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "issue-4324/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "issue-4324/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"TestStack1":{"id":"TestStack1","path":"TestStack1","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"bucket":{"id":"bucket","path":"TestStack1/bucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"TestStack1/bucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}}}},"Exports":{"id":"Exports","path":"TestStack1/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"bucket43879C71\"}":{"id":"Output{\"Ref\":\"bucket43879C71\"}","path":"TestStack1/Exports/Output{\"Ref\":\"bucket43879C71\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"TestStack1/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"TestStack1/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"TestStack2":{"id":"TestStack2","path":"TestStack2","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"F":{"id":"F","path":"TestStack2/F","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"handler":"*","code":"*","runtime":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"TestStack2/F/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"TestStack2/F/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"TestStack2/F/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"TestStack2/F/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async function handler(event) {\n console.log('event:', JSON.stringify(event, undefined, 2));\n return { event };\n}"},"handler":"index.handler","role":{"Fn::GetAtt":["FServiceRole3AC82EE1","Arn"]},"runtime":"nodejs18.x"}}}}},"Imported":{"id":"Imported","path":"TestStack2/Imported","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"TestStack2/Imported/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"TestStack2/Imported/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AllowBucketNotificationsToTestStack2F56424633":{"id":"AllowBucketNotificationsToTestStack2F56424633","path":"TestStack2/Imported/AllowBucketNotificationsToTestStack2F56424633","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnPermission","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Permission","aws:cdk:cloudformation:props":{"action":"lambda:InvokeFunction","functionName":{"Fn::GetAtt":["FC4345940","Arn"]},"principal":"s3.amazonaws.com","sourceAccount":{"Ref":"AWS::AccountId"},"sourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Fn::ImportValue":"TestStack1:ExportsOutputRefbucket43879C716CF1CFA3"}]]}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["s3:GetBucketNotification","s3:PutBucketNotification"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Fn::ImportValue":"TestStack1:ExportsOutputRefbucket43879C716CF1CFA3"}]]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"TestStack2/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"TestStack2/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"TestStack2/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"issue-4324":{"id":"issue-4324","path":"issue-4324","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"issue-4324/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"issue-4324/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"issue-4324/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"issue-4324/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"issue-4324/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452.assets.json index b80f933e31c2e..3342868ff79b0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452.assets.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "displayName": "LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452 Template", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/cdk.out index 3704a1b682acf..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"45.0.0"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/integ.json index a8b26762860a7..9be31eb9efc12 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "testCases": { "LambdaEventSourceS3Integ/DefaultTest": { "stacks": [ @@ -10,5 +10,5 @@ "assertionStackName": "LambdaEventSourceS3IntegDefaultTestDeployAssertACE2A452" } }, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.assets.json index 9a21c8237ab69..3087b95d597c2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.assets.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { "44e9c4d7a5d3fd2d677e1a7e416b2b56f6b0104bd5eff9cac5557b4c65a9dc61": { "displayName": "lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider Code", @@ -15,16 +15,16 @@ } } }, - "2223fe1a1f9ea3413485d36f5499bc449959644ee6680fd93faae20de2ab0175": { + "6d393b097fbd12a5c445979310c31c42a842fb8b3ad538a0688ac6da6111d3a0": { "displayName": "lambda-event-source-s3 Template", "source": { "path": "lambda-event-source-s3.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-c73a0e0b": { + "current_account-current_region-630c4986": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "2223fe1a1f9ea3413485d36f5499bc449959644ee6680fd93faae20de2ab0175.json", + "objectKey": "6d393b097fbd12a5c445979310c31c42a842fb8b3ad538a0688ac6da6111d3a0.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.template.json index f37fe055a1565..4833e5ec6d90a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/lambda-event-source-s3.template.json @@ -298,7 +298,12 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::GetAtt": [ + "B08E7C7AF", + "Arn" + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/manifest.json index 6a9c4cf6b3649..6d2a07ac7b124 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/2223fe1a1f9ea3413485d36f5499bc449959644ee6680fd93faae20de2ab0175.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/6d393b097fbd12a5c445979310c31c42a842fb8b3ad538a0688ac6da6111d3a0.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -322,57 +322,48 @@ "properties": { "module": "aws-cdk-lib", "flags": { - "@aws-cdk/core:enableStackNameDuplicates": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { "recommendedValue": true, - "explanation": "Allow multiple stacks with the same name" - }, - "aws-cdk:enableDiffNoFail": { - "recommendedValue": true, - "explanation": "Make `cdk diff` not fail when there are differences" + "explanation": "Pass signingProfileName to CfnSigningProfile" }, "@aws-cdk/core:newStyleStackSynthesis": { "recommendedValue": true, - "explanation": "Switch to new stack synthesis method which enables CI/CD" + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:stackRelativeExports": { "recommendedValue": true, - "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path" - }, - "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": { - "recommendedValue": true, - "explanation": "DockerImageAsset properly supports `.dockerignore` files by default" - }, - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": { - "recommendedValue": true, - "explanation": "Fix the referencing of SecretsManager names from ARNs" - }, - "@aws-cdk/aws-kms:defaultKeyPolicies": { - "recommendedValue": true, - "explanation": "Tighten default KMS key policies" - }, - "@aws-cdk/aws-s3:grantWriteWithoutAcl": { - "recommendedValue": true, - "explanation": "Remove `PutObjectAcl` from Bucket.grantWrite" + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } }, - "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": { + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { "recommendedValue": true, - "explanation": "Do not specify a default DesiredCount for ECS services" + "explanation": "Disable implicit openListener when custom security groups are provided" }, "@aws-cdk/aws-rds:lowercaseDbIdentifier": { "recommendedValue": true, - "explanation": "Force lowercasing of RDS Cluster names in CDK" + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { "recommendedValue": true, - "explanation": "Allow adding/removing multiple UsagePlanKeys independently" - }, - "@aws-cdk/aws-efs:defaultEncryptionAtRest": { - "recommendedValue": true, - "explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default." + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeVersionProps": { "recommendedValue": true, - "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeLayerVersion": { "userValue": true, @@ -381,7 +372,10 @@ }, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { "recommendedValue": true, - "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default." + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:checkSecretUsage": { "userValue": true, @@ -602,7 +596,10 @@ }, "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy" + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-eks:nodegroupNameAttribute": { "userValue": true, @@ -631,7 +628,10 @@ }, "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { "recommendedValue": true, - "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model." + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:explicitStackTags": { "userValue": true, @@ -695,7 +695,10 @@ }, "@aws-cdk/core:aspectStabilization": { "recommendedValue": true, - "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis." + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { "userValue": true, @@ -729,7 +732,10 @@ }, "@aws-cdk/pipelines:reduceStageRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from Stage addActions trust policy" + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-events:requireEventBusPolicySid": { "userValue": true, @@ -752,7 +758,10 @@ }, "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { "recommendedValue": true, - "explanation": "When enabled, scopes down the trust policy for the cross-account action role" + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { "userValue": true, @@ -787,5 +796,5 @@ } } }, - "minimumCliVersion": "2.1023.0" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/tree.json index 4ffba60360add..fa2634323a422 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda-event-sources/test/integ.s3.js.snapshot/tree.json @@ -1 +1 @@ -{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"lambda-event-source-s3":{"id":"lambda-event-source-s3","path":"lambda-event-source-s3","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"F":{"id":"F","path":"lambda-event-source-s3/F","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"handler":"*","code":"*","runtime":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"lambda-event-source-s3/F/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"lambda-event-source-s3/F/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/F/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/F/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async function handler(event) {\n console.log('event:', JSON.stringify(event, undefined, 2));\n return { event };\n}"},"handler":"index.handler","role":{"Fn::GetAtt":["FServiceRole3AC82EE1","Arn"]},"runtime":"nodejs18.x"}}}}},"B":{"id":"B","path":"lambda-event-source-s3/B","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"lambda-event-source-s3/B/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"B08E7C7AF"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["B08E7C7AF","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["B08E7C7AF","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"lambda-event-source-s3/B/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"lambda-event-source-s3/B/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"lambda-event-source-s3/B/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AllowBucketNotificationsTolambdaeventsources3F74160805":{"id":"AllowBucketNotificationsTolambdaeventsources3F74160805","path":"lambda-event-source-s3/B/AllowBucketNotificationsTolambdaeventsources3F74160805","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnPermission","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Permission","aws:cdk:cloudformation:props":{"action":"lambda:InvokeFunction","functionName":{"Fn::GetAtt":["FC4345940","Arn"]},"principal":"s3.amazonaws.com","sourceAccount":{"Ref":"AWS::AccountId"},"sourceArn":{"Fn::GetAtt":["B08E7C7AF","Arn"]}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lambda-event-source-s3/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lambda-event-source-s3/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"LambdaEventSourceS3Integ":{"id":"LambdaEventSourceS3Integ","path":"LambdaEventSourceS3Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"LambdaEventSourceS3Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"LambdaEventSourceS3Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"lambda-event-source-s3":{"id":"lambda-event-source-s3","path":"lambda-event-source-s3","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"F":{"id":"F","path":"lambda-event-source-s3/F","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"handler":"*","code":"*","runtime":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"lambda-event-source-s3/F/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"lambda-event-source-s3/F/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/F/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/F/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async function handler(event) {\n console.log('event:', JSON.stringify(event, undefined, 2));\n return { event };\n}"},"handler":"index.handler","role":{"Fn::GetAtt":["FServiceRole3AC82EE1","Arn"]},"runtime":"nodejs18.x"}}}}},"B":{"id":"B","path":"lambda-event-source-s3/B","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"lambda-event-source-s3/B/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"B08E7C7AF"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["B08E7C7AF","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["B08E7C7AF","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"lambda-event-source-s3/B/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"lambda-event-source-s3/B/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"lambda-event-source-s3/B/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/B/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AllowBucketNotificationsTolambdaeventsources3F74160805":{"id":"AllowBucketNotificationsTolambdaeventsources3F74160805","path":"lambda-event-source-s3/B/AllowBucketNotificationsTolambdaeventsources3F74160805","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnPermission","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Permission","aws:cdk:cloudformation:props":{"action":"lambda:InvokeFunction","functionName":{"Fn::GetAtt":["FC4345940","Arn"]},"principal":"s3.amazonaws.com","sourceAccount":{"Ref":"AWS::AccountId"},"sourceArn":{"Fn::GetAtt":["B08E7C7AF","Arn"]}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"lambda-event-source-s3/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":{"Fn::GetAtt":["B08E7C7AF","Arn"]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"lambda-event-source-s3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lambda-event-source-s3/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lambda-event-source-s3/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"LambdaEventSourceS3Integ":{"id":"LambdaEventSourceS3Integ","path":"LambdaEventSourceS3Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"LambdaEventSourceS3Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"LambdaEventSourceS3Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"LambdaEventSourceS3Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/integ.json index 9fcb6ed3f956f..9646fb3276b4a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "integ.notifications": { "stacks": [ @@ -10,5 +10,6 @@ } }, "synthContext": {}, - "enableLookups": false + "enableLookups": false, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/manifest.json index 46d79dca8636d..8fbde055318f6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "test-3.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8056ef05a317a9287cc50ac67aa6d6c3a208a859fda294a09f1c92c99ae6e5fd.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/65094064ff5e74d1d9221081cd7147ba1f3cc95500bebd6457d2489d2168e076.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,6 +34,14 @@ "test-3.assets" ], "metadata": { + "/test-3/Bucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/test-3/Bucket/Resource": [ { "type": "aws:cdk:logicalId", @@ -46,36 +54,197 @@ "data": "BucketNotifications8F2E257D" } ], + "/test-3/Topic": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/test-3/Topic/Resource": [ { "type": "aws:cdk:logicalId", "data": "TopicBFC7AF6E" } ], + "/test-3/Topic/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "topics": [ + "*" + ] + } + } + ], "/test-3/Topic/Policy/Resource": [ { "type": "aws:cdk:logicalId", "data": "TopicPolicyA1747468" } ], + "/test-3/Topic3": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/test-3/Topic3/Resource": [ { "type": "aws:cdk:logicalId", "data": "Topic3DEAE47A7" } ], + "/test-3/Topic3/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "topics": [ + "*" + ] + } + } + ], "/test-3/Topic3/Policy/Resource": [ { "type": "aws:cdk:logicalId", "data": "Topic3Policy49BDDFBD" } ], + "/test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -88,6 +257,14 @@ "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691" } ], + "/test-3/Bucket2": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/test-3/Bucket2/Resource": [ { "type": "aws:cdk:logicalId", @@ -100,6 +277,14 @@ "data": "Bucket2NotificationsD9BA2A77" } ], + "/test-3/Bucket3": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/test-3/Bucket3/Resource": [ { "type": "aws:cdk:logicalId", @@ -132,6 +317,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.assets.json index fc562ceaf5e40..4e00e0cae7cfb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "8056ef05a317a9287cc50ac67aa6d6c3a208a859fda294a09f1c92c99ae6e5fd": { + "65094064ff5e74d1d9221081cd7147ba1f3cc95500bebd6457d2489d2168e076": { + "displayName": "test-3 Template", "source": { "path": "test-3.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-6275bed2": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "8056ef05a317a9287cc50ac67aa6d6c3a208a859fda294a09f1c92c99ae6e5fd.json", + "objectKey": "65094064ff5e74d1d9221081cd7147ba1f3cc95500bebd6457d2489d2168e076.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.template.json index 148d75b0528ff..4e51fa9a428f8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/test-3.template.json @@ -223,12 +223,56 @@ "PolicyDocument": { "Statement": [ { - "Action": [ - "s3:GetBucketNotification", - "s3:PutBucketNotification" - ], + "Action": "s3:PutBucketNotification", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "Bucket25524B414", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Ref": "Bucket3CFB7F7D7" + } + ] + ] + } + ] + }, + { + "Action": "s3:GetBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Ref": "Bucket3CFB7F7D7" + } + ] + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/tree.json index 9b1b05d0531cd..d9b0293292068 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/integ.notifications.js.snapshot/tree.json @@ -1,497 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "test-3": { - "id": "test-3", - "path": "test-3", - "children": { - "Bucket": { - "id": "Bucket", - "path": "test-3/Bucket", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "test-3/Bucket/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "Topic": { - "id": "Topic", - "path": "test-3/Topic", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Topic/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::Topic", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopic", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "test-3/Topic/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Topic/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::TopicPolicy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "Bucket83908E77", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "TopicBFC7AF6E" - }, - "Sid": "0" - } - ], - "Version": "2012-10-17" - }, - "topics": [ - { - "Ref": "TopicBFC7AF6E" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.TopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.Topic", - "version": "0.0.0" - } - }, - "Topic3": { - "id": "Topic3", - "path": "test-3/Topic3", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Topic3/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::Topic", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopic", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "test-3/Topic3/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Topic3/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::TopicPolicy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "Bucket83908E77", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "Topic3DEAE47A7" - }, - "Sid": "0" - }, - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "Bucket25524B414", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "Topic3DEAE47A7" - }, - "Sid": "1" - }, - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":s3:::", - { - "Ref": "Bucket3CFB7F7D7" - } - ] - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "Topic3DEAE47A7" - }, - "Sid": "2" - } - ], - "Version": "2012-10-17" - }, - "topics": [ - { - "Ref": "Topic3DEAE47A7" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.TopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.Topic", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "s3:GetBucketNotification", - "s3:PutBucketNotification" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "Bucket2": { - "id": "Bucket2", - "path": "test-3/Bucket2", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket2/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "test-3/Bucket2/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket2/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "Bucket3": { - "id": "Bucket3", - "path": "test-3/Bucket3", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket3/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "Bucket3Imported": { - "id": "Bucket3Imported", - "path": "test-3/Bucket3Imported", - "children": { - "Notifications": { - "id": "Notifications", - "path": "test-3/Bucket3Imported/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "test-3/Bucket3Imported/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "test-3/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "test-3/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"test-3":{"id":"test-3","path":"test-3","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket":{"id":"Bucket","path":"test-3/Bucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"test-3/Bucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Topic":{"id":"Topic","path":"test-3/Topic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"test-3/Topic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"test-3/Topic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"test-3/Topic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket83908E77","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"TopicBFC7AF6E"},"Sid":"0"}],"Version":"2012-10-17"},"topics":[{"Ref":"TopicBFC7AF6E"}]}}}}}}},"Topic3":{"id":"Topic3","path":"test-3/Topic3","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"test-3/Topic3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"test-3/Topic3/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"test-3/Topic3/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket83908E77","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"Topic3DEAE47A7"},"Sid":"0"},{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket25524B414","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"Topic3DEAE47A7"},"Sid":"1"},{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket3CFB7F7D7"}]]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"Topic3DEAE47A7"},"Sid":"2"}],"Version":"2012-10-17"},"topics":[{"Ref":"Topic3DEAE47A7"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":[{"Fn::GetAtt":["Bucket25524B414","Arn"]},{"Fn::GetAtt":["Bucket83908E77","Arn"]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket3CFB7F7D7"}]]}]},{"Action":"s3:GetBucketNotification","Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket3CFB7F7D7"}]]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"test-3/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Bucket2":{"id":"Bucket2","path":"test-3/Bucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"test-3/Bucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Bucket3":{"id":"Bucket3","path":"test-3/Bucket3","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}}}},"Bucket3Imported":{"id":"Bucket3Imported","path":"test-3/Bucket3Imported","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"test-3/Bucket3Imported/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"test-3/Bucket3Imported/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"test-3/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"test-3/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.assets.json index c19b57b6a9ec5..60c3f012d3644 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.assets.json @@ -1,28 +1,29 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b": { + "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db": { "source": { - "path": "asset.da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.bundle", + "path": "asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle", "packaging": "zip" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-99e46378": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.zip", + "objectKey": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "9c7a5fbb19aacebefabf0567d872dd3513ab2b9b118cf324e3143603bdf27b6e": { + "721c08fc9a450c1c101c536831fea26e9be1e6dd017b201ab94dcc20c9e716fb": { + "displayName": "LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4 Template", "source": { "path": "LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-e90bfec5": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9c7a5fbb19aacebefabf0567d872dd3513ab2b9b118cf324e3143603bdf27b6e.json", + "objectKey": "721c08fc9a450c1c101c536831fea26e9be1e6dd017b201ab94dcc20c9e716fb.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.template.json index 88fff109c345a..8b800560e38ee 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.template.json @@ -27,7 +27,7 @@ } }, "flattenResponse": "false", - "salt": "1726695641536" + "salt": "1756245005178" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -85,20 +85,12 @@ "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F": { "Type": "AWS::Lambda::Function", "Properties": { - "Runtime": { - "Fn::FindInMap": [ - "LatestNodeRuntimeMap", - { - "Ref": "AWS::Region" - }, - "value" - ] - }, + "Runtime": "nodejs22.x", "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -121,130 +113,6 @@ } } }, - "Mappings": { - "LatestNodeRuntimeMap": { - "af-south-1": { - "value": "nodejs20.x" - }, - "ap-east-1": { - "value": "nodejs20.x" - }, - "ap-northeast-1": { - "value": "nodejs20.x" - }, - "ap-northeast-2": { - "value": "nodejs20.x" - }, - "ap-northeast-3": { - "value": "nodejs20.x" - }, - "ap-south-1": { - "value": "nodejs20.x" - }, - "ap-south-2": { - "value": "nodejs20.x" - }, - "ap-southeast-1": { - "value": "nodejs20.x" - }, - "ap-southeast-2": { - "value": "nodejs20.x" - }, - "ap-southeast-3": { - "value": "nodejs20.x" - }, - "ap-southeast-4": { - "value": "nodejs20.x" - }, - "ap-southeast-5": { - "value": "nodejs20.x" - }, - "ap-southeast-7": { - "value": "nodejs20.x" - }, - "ca-central-1": { - "value": "nodejs20.x" - }, - "ca-west-1": { - "value": "nodejs20.x" - }, - "cn-north-1": { - "value": "nodejs20.x" - }, - "cn-northwest-1": { - "value": "nodejs20.x" - }, - "eu-central-1": { - "value": "nodejs20.x" - }, - "eu-central-2": { - "value": "nodejs20.x" - }, - "eu-isoe-west-1": { - "value": "nodejs18.x" - }, - "eu-north-1": { - "value": "nodejs20.x" - }, - "eu-south-1": { - "value": "nodejs20.x" - }, - "eu-south-2": { - "value": "nodejs20.x" - }, - "eu-west-1": { - "value": "nodejs20.x" - }, - "eu-west-2": { - "value": "nodejs20.x" - }, - "eu-west-3": { - "value": "nodejs20.x" - }, - "il-central-1": { - "value": "nodejs20.x" - }, - "me-central-1": { - "value": "nodejs20.x" - }, - "me-south-1": { - "value": "nodejs20.x" - }, - "mx-central-1": { - "value": "nodejs20.x" - }, - "sa-east-1": { - "value": "nodejs20.x" - }, - "us-east-1": { - "value": "nodejs20.x" - }, - "us-east-2": { - "value": "nodejs20.x" - }, - "us-gov-east-1": { - "value": "nodejs20.x" - }, - "us-gov-west-1": { - "value": "nodejs20.x" - }, - "us-iso-east-1": { - "value": "nodejs18.x" - }, - "us-iso-west-1": { - "value": "nodejs18.x" - }, - "us-isob-east-1": { - "value": "nodejs18.x" - }, - "us-west-1": { - "value": "nodejs20.x" - }, - "us-west-2": { - "value": "nodejs20.x" - } - } - }, "Parameters": { "BootstrapVersion": { "Type": "AWS::SSM::Parameter::Value", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js index 88bd101dd1246..4fae2b1728c8c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js @@ -1,4 +1,3 @@ -"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; @@ -813,7 +812,7 @@ var init_match = __esm({ var require_helpers_internal = __commonJS({ "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); @@ -823,11 +822,11 @@ var require_helpers_internal = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) @@ -12094,7 +12093,7 @@ var init_tslib_es6 = __esm({ }; return __assign.apply(this, arguments); }; - __createBinding = Object.create ? function(o, m, k, k2) { + __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -12103,13 +12102,13 @@ var init_tslib_es6 = __esm({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { + }); + __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }; ownKeys = function(o) { @@ -17900,7 +17899,7 @@ var require_dist_cjs49 = __commonJS({ var require_fromWebToken = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -17909,13 +17908,13 @@ var require_fromWebToken = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }); var __importStar2 = exports2 && exports2.__importStar || function(mod) { @@ -23672,9 +23671,9 @@ var require_safer = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js +// ../../../node_modules/iconv-lite/lib/bom-handling.js var require_bom_handling = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js"(exports2) { + "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports2) { "use strict"; var BOMChar = "\uFEFF"; exports2.PrependBOM = PrependBOMWrapper; @@ -23716,9 +23715,9 @@ var require_bom_handling = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js +// ../../../node_modules/iconv-lite/encodings/internal.js var require_internal = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = { @@ -23868,9 +23867,9 @@ var require_internal = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js +// ../../../node_modules/iconv-lite/encodings/utf32.js var require_utf32 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf32.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._utf32 = Utf32Codec; @@ -24087,9 +24086,9 @@ var require_utf32 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js +// ../../../node_modules/iconv-lite/encodings/utf16.js var require_utf16 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf16.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf16be = Utf16BECodec; @@ -24221,9 +24220,9 @@ var require_utf16 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js +// ../../../node_modules/iconv-lite/encodings/utf7.js var require_utf7 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf7.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf7 = Utf7Codec; @@ -24422,9 +24421,9 @@ var require_utf7 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js var require_sbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._sbcs = SBCSCodec; @@ -24478,9 +24477,9 @@ var require_sbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data.js var require_sbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // Not supported by iconv, not sure why. @@ -24631,9 +24630,9 @@ var require_sbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js var require_sbcs_data_generated = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { "use strict"; module2.exports = { "437": "cp437", @@ -25086,9 +25085,9 @@ var require_sbcs_data_generated = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js var require_dbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._dbcs = DBCSCodec; @@ -25503,9 +25502,9 @@ var require_dbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json var require_shiftjis = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { module2.exports = [ ["0", "\0", 128], ["a1", "\uFF61", 62], @@ -25634,9 +25633,9 @@ var require_shiftjis = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json var require_eucjp = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8ea1", "\uFF61", 62], @@ -25822,9 +25821,9 @@ var require_eucjp = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json +// ../../../node_modules/iconv-lite/encodings/tables/cp936.json var require_cp936 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127, "\u20AC"], ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], @@ -26092,9 +26091,9 @@ var require_cp936 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json var require_gbk_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { module2.exports = [ ["a140", "\uE4C6", 62], ["a180", "\uE505", 32], @@ -26154,16 +26153,16 @@ var require_gbk_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json var require_gb18030_ranges = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json +// ../../../node_modules/iconv-lite/encodings/tables/cp949.json var require_cp949 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], @@ -26440,9 +26439,9 @@ var require_cp949 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json +// ../../../node_modules/iconv-lite/encodings/tables/cp950.json var require_cp950 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], @@ -26623,9 +26622,9 @@ var require_cp950 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json var require_big5_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { module2.exports = [ ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], @@ -26751,9 +26750,9 @@ var require_big5_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js +// ../../../node_modules/iconv-lite/encodings/dbcs-data.js var require_dbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // == Japanese/ShiftJIS ==================================================== @@ -26998,9 +26997,9 @@ var require_dbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js +// ../../../node_modules/iconv-lite/encodings/index.js var require_encodings = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/index.js"(exports2, module2) { "use strict"; var modules = [ require_internal(), @@ -27025,9 +27024,9 @@ var require_encodings = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js +// ../../../node_modules/iconv-lite/lib/streams.js var require_streams = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/streams.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = function(stream_module) { @@ -27120,9 +27119,9 @@ var require_streams = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js +// ../../../node_modules/iconv-lite/lib/index.js var require_lib2 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/index.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; var bomHandling = require_bom_handling(); @@ -30215,7 +30214,7 @@ var init_api_call = __esm({ var require_lib4 = __commonJS({ "../aws-custom-resource-sdk-adapter/lib/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -30224,10 +30223,10 @@ var require_lib4 = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); }; @@ -30272,7 +30271,6 @@ var CustomResourceHandler = class { constructor(event, context) { this.event = event; this.context = context; - this.timedOut = false; this.timeout = setTimeout(async () => { await this.respond({ status: "FAILED", @@ -30284,6 +30282,9 @@ var CustomResourceHandler = class { this.event = event; this.physicalResourceId = extractPhysicalResourceId(event); } + physicalResourceId; + timeout; + timedOut = false; /** * Handles executing the custom resource event. If `stateMachineArn` is present * in the props then trigger the waiter statemachine @@ -30417,6 +30418,7 @@ var AssertionHandler = class extends CustomResourceHandler { } }; var MatchCreator = class { + parsedObj; constructor(obj) { this.parsedObj = { matcher: obj diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.assets.json index bc5796f8cfeab..b3704c89f6a22 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "1259bcd71995d107ff6567ac4cd45748a3a7c26467d29f9849b59113d1192702": { + "cfc036697c91a897dfbd7bdfdfc8c0219d00f87dbf96b84a54535c2cff006464": { + "displayName": "cdk-integ-lambda-bucket-s3-notifications Template", "source": { "path": "cdk-integ-lambda-bucket-s3-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-819d41d8": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "1259bcd71995d107ff6567ac4cd45748a3a7c26467d29f9849b59113d1192702.json", + "objectKey": "cfc036697c91a897dfbd7bdfdfc8c0219d00f87dbf96b84a54535c2cff006464.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.template.json index ca3860dbc8ff7..dd92489dafde8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk-integ-lambda-bucket-s3-notifications.template.json @@ -153,12 +153,50 @@ "PolicyDocument": { "Statement": [ { - "Action": [ - "s3:GetBucketNotification", - "s3:PutBucketNotification" - ], + "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": [ + { + "Fn::GetAtt": [ + "YourBucketC6A57364", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Ref": "MyBucketF68F3FF0" + } + ] + ] + } + ] + }, + { + "Action": "s3:GetBucketNotification", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Ref": "MyBucketF68F3FF0" + } + ] + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/integ.json index 9f0439853846b..c44b8173b2b05 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "LambdaBucketNotificationsTest/DefaultTest": { "stacks": [ @@ -16,5 +16,6 @@ "assertionStack": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert", "assertionStackName": "LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4" } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/manifest.json index d2e0e7494cbb3..5d471294dd531 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "cdk-integ-lambda-bucket-s3-notifications.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1259bcd71995d107ff6567ac4cd45748a3a7c26467d29f9849b59113d1192702.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/cfc036697c91a897dfbd7bdfdfc8c0219d00f87dbf96b84a54535c2cff006464.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,12 +34,52 @@ "cdk-integ-lambda-bucket-s3-notifications.assets" ], "metadata": { + "/cdk-integ-lambda-bucket-s3-notifications/MyBucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/cdk-integ-lambda-bucket-s3-notifications/MyBucket/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyBucketF68F3FF0" } ], + "/cdk-integ-lambda-bucket-s3-notifications/MyFunction": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "runtime": "*", + "handler": "*", + "code": "*" + } + } + ], + "/cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + }, + "managedPolicies": [ + { + "managedPolicyArn": "*" + } + ] + } + } + ], + "/cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/ImportServiceRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/Resource": [ { "type": "aws:cdk:logicalId", @@ -52,6 +92,14 @@ "data": "MyFunction3BAA72D1" } ], + "/cdk-integ-lambda-bucket-s3-notifications/YourBucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/cdk-integ-lambda-bucket-s3-notifications/YourBucket/Resource": [ { "type": "aws:cdk:logicalId", @@ -70,12 +118,109 @@ "data": "YourBucketAllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39EAF10051" } ], + "/cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -138,7 +283,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9c7a5fbb19aacebefabf0567d872dd3513ab2b9b118cf324e3143603bdf27b6e.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/721c08fc9a450c1c101c536831fea26e9be1e6dd017b201ab94dcc20c9e716fb.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -155,6 +300,20 @@ "LambdaBucketNotificationsTestDefaultTestDeployAssertDC5450F4.assets" ], "metadata": { + "/LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": "*" + } + ], "/LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default/Default": [ { "type": "aws:cdk:logicalId", @@ -179,12 +338,6 @@ "data": "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F" } ], - "/LambdaBucketNotificationsTest/DefaultTest/DeployAssert/LatestNodeRuntimeMap": [ - { - "type": "aws:cdk:logicalId", - "data": "LatestNodeRuntimeMap" - } - ], "/LambdaBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion": [ { "type": "aws:cdk:logicalId", @@ -205,6 +358,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": false, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/tree.json index d5e9cf1b1d248..6f3038be60951 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/tree.json @@ -1,592 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "cdk-integ-lambda-bucket-s3-notifications": { - "id": "cdk-integ-lambda-bucket-s3-notifications", - "path": "cdk-integ-lambda-bucket-s3-notifications", - "children": { - "MyBucket": { - "id": "MyBucket", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyBucket", - "children": { - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyBucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "MyFunction": { - "id": "MyFunction", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyFunction", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/MyFunction/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback(null, event);\n}" - }, - "handler": "index.handler", - "role": { - "Fn::GetAtt": [ - "MyFunctionServiceRole3C357FF2", - "Arn" - ] - }, - "runtime": "nodejs18.x" - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0" - } - }, - "YourBucket": { - "id": "YourBucket", - "path": "cdk-integ-lambda-bucket-s3-notifications/YourBucket", - "children": { - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/YourBucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "cdk-integ-lambda-bucket-s3-notifications/YourBucket/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/YourBucket/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39": { - "id": "AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39", - "path": "cdk-integ-lambda-bucket-s3-notifications/YourBucket/AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Permission", - "aws:cdk:cloudformation:props": { - "action": "lambda:InvokeFunction", - "functionName": { - "Fn::GetAtt": [ - "MyFunction3BAA72D1", - "Arn" - ] - }, - "principal": "s3.amazonaws.com", - "sourceAccount": { - "Ref": "AWS::AccountId" - }, - "sourceArn": { - "Fn::GetAtt": [ - "YourBucketC6A57364", - "Arn" - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.CfnPermission", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "s3:GetBucketNotification", - "s3:PutBucketNotification" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "Construct1": { - "id": "Construct1", - "path": "cdk-integ-lambda-bucket-s3-notifications/Construct1", - "children": { - "IntegUnmanagedBucket1": { - "id": "IntegUnmanagedBucket1", - "path": "cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1", - "children": { - "Notifications": { - "id": "Notifications", - "path": "cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39": { - "id": "AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39", - "path": "cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Permission", - "aws:cdk:cloudformation:props": { - "action": "lambda:InvokeFunction", - "functionName": { - "Fn::GetAtt": [ - "MyFunction3BAA72D1", - "Arn" - ] - }, - "principal": "s3.amazonaws.com", - "sourceAccount": { - "Ref": "AWS::AccountId" - }, - "sourceArn": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":s3:::", - { - "Ref": "MyBucketF68F3FF0" - } - ] - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.CfnPermission", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "Exports": { - "id": "Exports", - "path": "cdk-integ-lambda-bucket-s3-notifications/Exports", - "children": { - "Output{\"Ref\":\"MyBucketF68F3FF0\"}": { - "id": "Output{\"Ref\":\"MyBucketF68F3FF0\"}", - "path": "cdk-integ-lambda-bucket-s3-notifications/Exports/Output{\"Ref\":\"MyBucketF68F3FF0\"}", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnOutput", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "cdk-integ-lambda-bucket-s3-notifications/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "cdk-integ-lambda-bucket-s3-notifications/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "LambdaBucketNotificationsTest": { - "id": "LambdaBucketNotificationsTest", - "path": "LambdaBucketNotificationsTest", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "LambdaBucketNotificationsTest/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "LambdaBucketNotificationsTest/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert", - "children": { - "AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a": { - "id": "AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a", - "children": { - "SdkProvider": { - "id": "SdkProvider", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/SdkProvider", - "children": { - "AssertionsProvider": { - "id": "AssertionsProvider", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/SdkProvider/AssertionsProvider", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.AssertionsProvider", - "version": "0.0.0" - } - }, - "Default": { - "id": "Default", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default", - "children": { - "Default": { - "id": "Default", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default/Default", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.CustomResource", - "version": "0.0.0" - } - }, - "AssertionResults": { - "id": "AssertionResults", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/AssertionResults", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnOutput", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.AwsApiCall", - "version": "0.0.0" - } - }, - "SingletonFunction1488541a7b23466481b69b4408076b81": { - "id": "SingletonFunction1488541a7b23466481b69b4408076b81", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81", - "children": { - "Staging": { - "id": "Staging", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging", - "constructInfo": { - "fqn": "aws-cdk-lib.AssetStaging", - "version": "0.0.0" - } - }, - "Role": { - "id": "Role", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - }, - "Handler": { - "id": "Handler", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "LatestNodeRuntimeMap": { - "id": "LatestNodeRuntimeMap", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/LatestNodeRuntimeMap", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnMapping", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "LambdaBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"cdk-integ-lambda-bucket-s3-notifications":{"id":"cdk-integ-lambda-bucket-s3-notifications","path":"cdk-integ-lambda-bucket-s3-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyBucket":{"id":"MyBucket","path":"cdk-integ-lambda-bucket-s3-notifications/MyBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/MyBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}}}},"MyFunction":{"id":"MyFunction","path":"cdk-integ-lambda-bucket-s3-notifications/MyFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/MyFunction/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/MyFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback(null, event);\n}"},"handler":"index.handler","role":{"Fn::GetAtt":["MyFunctionServiceRole3C357FF2","Arn"]},"runtime":"nodejs18.x"}}}}},"YourBucket":{"id":"YourBucket","path":"cdk-integ-lambda-bucket-s3-notifications/YourBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/YourBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"cdk-integ-lambda-bucket-s3-notifications/YourBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/YourBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39":{"id":"AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39","path":"cdk-integ-lambda-bucket-s3-notifications/YourBucket/AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnPermission","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Permission","aws:cdk:cloudformation:props":{"action":"lambda:InvokeFunction","functionName":{"Fn::GetAtt":["MyFunction3BAA72D1","Arn"]},"principal":"s3.amazonaws.com","sourceAccount":{"Ref":"AWS::AccountId"},"sourceArn":{"Fn::GetAtt":["YourBucketC6A57364","Arn"]}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":[{"Fn::GetAtt":["YourBucketC6A57364","Arn"]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"MyBucketF68F3FF0"}]]}]},{"Action":"s3:GetBucketNotification","Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"MyBucketF68F3FF0"}]]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Construct1":{"id":"Construct1","path":"cdk-integ-lambda-bucket-s3-notifications/Construct1","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"IntegUnmanagedBucket1":{"id":"IntegUnmanagedBucket1","path":"cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39":{"id":"AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39","path":"cdk-integ-lambda-bucket-s3-notifications/Construct1/IntegUnmanagedBucket1/AllowBucketNotificationsTocdkinteglambdabuckets3notificationsMyFunction47013F39","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnPermission","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Permission","aws:cdk:cloudformation:props":{"action":"lambda:InvokeFunction","functionName":{"Fn::GetAtt":["MyFunction3BAA72D1","Arn"]},"principal":"s3.amazonaws.com","sourceAccount":{"Ref":"AWS::AccountId"},"sourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"MyBucketF68F3FF0"}]]}}}}}}}},"Exports":{"id":"Exports","path":"cdk-integ-lambda-bucket-s3-notifications/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"MyBucketF68F3FF0\"}":{"id":"Output{\"Ref\":\"MyBucketF68F3FF0\"}","path":"cdk-integ-lambda-bucket-s3-notifications/Exports/Output{\"Ref\":\"MyBucketF68F3FF0\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"cdk-integ-lambda-bucket-s3-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"cdk-integ-lambda-bucket-s3-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"LambdaBucketNotificationsTest":{"id":"LambdaBucketNotificationsTest","path":"LambdaBucketNotificationsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"LambdaBucketNotificationsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"LambdaBucketNotificationsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a":{"id":"AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3getBucketNotificationConfigurationa12ea6c9e9639f75995e7228edc2fa6a/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"LambdaBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.assets.json index 7b8dc6f553975..0e4b5f9888c13 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.assets.json @@ -1,29 +1,29 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { - "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96": { + "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db": { "source": { - "path": "asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle", + "path": "asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle", "packaging": "zip" }, "destinations": { - "current_account-current_region-ad46d999": { + "current_account-current_region-99e46378": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip", + "objectKey": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "3a95d2e1fefcf4d11c2afbd02cbebc4b88f2114b7ee154a61cf150083eb3cad1": { + "e753732d51452939c529e6122967d75a27766e6f06ba040b6401c6c59b1b8c03": { "displayName": "SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57 Template", "source": { "path": "SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-417147d6": { + "current_account-current_region-7653e540": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "3a95d2e1fefcf4d11c2afbd02cbebc4b88f2114b7ee154a61cf150083eb3cad1.json", + "objectKey": "e753732d51452939c529e6122967d75a27766e6f06ba040b6401c6c59b1b8c03.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.template.json index b219af6bf1dd8..1c7a91734d972 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57.template.json @@ -28,7 +28,7 @@ "Body": "\"[{\\\"objectId\\\":1},{\\\"objectId\\\":2}]\"" }, "flattenResponse": "false", - "salt": "1754373945797" + "salt": "1756245034231" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -100,7 +100,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -142,7 +142,7 @@ } }, "flattenResponse": "false", - "salt": "1754373945798" + "salt": "1756245034232" }, "DependsOn": [ "AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20" @@ -326,7 +326,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.isComplete", @@ -368,7 +368,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.onTimeout", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.assets.json index 36af6dba15544..8f7e4af961f38 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.assets.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { "44e9c4d7a5d3fd2d677e1a7e416b2b56f6b0104bd5eff9cac5557b4c65a9dc61": { "displayName": "SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider Code", @@ -15,16 +15,16 @@ } } }, - "ba275e1c2dc19ace0859e23bc2ef4e5fd8f4f0de65b8d4d0bc20dba8a095b577": { + "c6ae1d11599ce43356c4a9eda8f531ae8706d2e78b57c3cdd2dd23dce6a0e5d7": { "displayName": "SnsBucketNotificationsStack Template", "source": { "path": "SnsBucketNotificationsStack.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-f6935587": { + "current_account-current_region-ab858a58": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba275e1c2dc19ace0859e23bc2ef4e5fd8f4f0de65b8d4d0bc20dba8a095b577.json", + "objectKey": "c6ae1d11599ce43356c4a9eda8f531ae8706d2e78b57c3cdd2dd23dce6a0e5d7.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.template.json index f7a67c1c3964d..c6bfc08d9b6db 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/SnsBucketNotificationsStack.template.json @@ -365,7 +365,12 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::GetAtt": [ + "MyBucketF68F3FF0", + "Arn" + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js index 88bd101dd1246..4fae2b1728c8c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js @@ -1,4 +1,3 @@ -"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; @@ -813,7 +812,7 @@ var init_match = __esm({ var require_helpers_internal = __commonJS({ "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); @@ -823,11 +822,11 @@ var require_helpers_internal = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) @@ -12094,7 +12093,7 @@ var init_tslib_es6 = __esm({ }; return __assign.apply(this, arguments); }; - __createBinding = Object.create ? function(o, m, k, k2) { + __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -12103,13 +12102,13 @@ var init_tslib_es6 = __esm({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { + }); + __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }; ownKeys = function(o) { @@ -17900,7 +17899,7 @@ var require_dist_cjs49 = __commonJS({ var require_fromWebToken = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -17909,13 +17908,13 @@ var require_fromWebToken = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }); var __importStar2 = exports2 && exports2.__importStar || function(mod) { @@ -23672,9 +23671,9 @@ var require_safer = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js +// ../../../node_modules/iconv-lite/lib/bom-handling.js var require_bom_handling = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js"(exports2) { + "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports2) { "use strict"; var BOMChar = "\uFEFF"; exports2.PrependBOM = PrependBOMWrapper; @@ -23716,9 +23715,9 @@ var require_bom_handling = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js +// ../../../node_modules/iconv-lite/encodings/internal.js var require_internal = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = { @@ -23868,9 +23867,9 @@ var require_internal = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js +// ../../../node_modules/iconv-lite/encodings/utf32.js var require_utf32 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf32.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._utf32 = Utf32Codec; @@ -24087,9 +24086,9 @@ var require_utf32 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js +// ../../../node_modules/iconv-lite/encodings/utf16.js var require_utf16 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf16.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf16be = Utf16BECodec; @@ -24221,9 +24220,9 @@ var require_utf16 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js +// ../../../node_modules/iconv-lite/encodings/utf7.js var require_utf7 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf7.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf7 = Utf7Codec; @@ -24422,9 +24421,9 @@ var require_utf7 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js var require_sbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._sbcs = SBCSCodec; @@ -24478,9 +24477,9 @@ var require_sbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data.js var require_sbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // Not supported by iconv, not sure why. @@ -24631,9 +24630,9 @@ var require_sbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js var require_sbcs_data_generated = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { "use strict"; module2.exports = { "437": "cp437", @@ -25086,9 +25085,9 @@ var require_sbcs_data_generated = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js var require_dbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._dbcs = DBCSCodec; @@ -25503,9 +25502,9 @@ var require_dbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json var require_shiftjis = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { module2.exports = [ ["0", "\0", 128], ["a1", "\uFF61", 62], @@ -25634,9 +25633,9 @@ var require_shiftjis = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json var require_eucjp = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8ea1", "\uFF61", 62], @@ -25822,9 +25821,9 @@ var require_eucjp = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json +// ../../../node_modules/iconv-lite/encodings/tables/cp936.json var require_cp936 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127, "\u20AC"], ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], @@ -26092,9 +26091,9 @@ var require_cp936 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json var require_gbk_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { module2.exports = [ ["a140", "\uE4C6", 62], ["a180", "\uE505", 32], @@ -26154,16 +26153,16 @@ var require_gbk_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json var require_gb18030_ranges = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json +// ../../../node_modules/iconv-lite/encodings/tables/cp949.json var require_cp949 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], @@ -26440,9 +26439,9 @@ var require_cp949 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json +// ../../../node_modules/iconv-lite/encodings/tables/cp950.json var require_cp950 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], @@ -26623,9 +26622,9 @@ var require_cp950 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json var require_big5_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { module2.exports = [ ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], @@ -26751,9 +26750,9 @@ var require_big5_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js +// ../../../node_modules/iconv-lite/encodings/dbcs-data.js var require_dbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // == Japanese/ShiftJIS ==================================================== @@ -26998,9 +26997,9 @@ var require_dbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js +// ../../../node_modules/iconv-lite/encodings/index.js var require_encodings = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/index.js"(exports2, module2) { "use strict"; var modules = [ require_internal(), @@ -27025,9 +27024,9 @@ var require_encodings = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js +// ../../../node_modules/iconv-lite/lib/streams.js var require_streams = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/streams.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = function(stream_module) { @@ -27120,9 +27119,9 @@ var require_streams = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js +// ../../../node_modules/iconv-lite/lib/index.js var require_lib2 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/index.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; var bomHandling = require_bom_handling(); @@ -30215,7 +30214,7 @@ var init_api_call = __esm({ var require_lib4 = __commonJS({ "../aws-custom-resource-sdk-adapter/lib/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -30224,10 +30223,10 @@ var require_lib4 = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); }; @@ -30272,7 +30271,6 @@ var CustomResourceHandler = class { constructor(event, context) { this.event = event; this.context = context; - this.timedOut = false; this.timeout = setTimeout(async () => { await this.respond({ status: "FAILED", @@ -30284,6 +30282,9 @@ var CustomResourceHandler = class { this.event = event; this.physicalResourceId = extractPhysicalResourceId(event); } + physicalResourceId; + timeout; + timedOut = false; /** * Handles executing the custom resource event. If `stateMachineArn` is present * in the props then trigger the waiter statemachine @@ -30417,6 +30418,7 @@ var AssertionHandler = class extends CustomResourceHandler { } }; var MatchCreator = class { + parsedObj; constructor(obj) { this.parsedObj = { matcher: obj diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/cdk.out index 3704a1b682acf..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"45.0.0"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/integ.json index 20e28af61c53e..c6ed53e177a04 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "testCases": { "SnsBucketNotificationsSseInteg/DefaultTest": { "stacks": [ @@ -9,5 +9,5 @@ "assertionStackName": "SnsBucketNotificationsSseIntegDefaultTestDeployAssertDBC1BF57" } }, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/manifest.json index 07f4004c5f4fd..7bae7da216a79 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/ba275e1c2dc19ace0859e23bc2ef4e5fd8f4f0de65b8d4d0bc20dba8a095b577.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c6ae1d11599ce43356c4a9eda8f531ae8706d2e78b57c3cdd2dd23dce6a0e5d7.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -335,7 +335,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3a95d2e1fefcf4d11c2afbd02cbebc4b88f2114b7ee154a61cf150083eb3cad1.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e753732d51452939c529e6122967d75a27766e6f06ba040b6401c6c59b1b8c03.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -476,57 +476,48 @@ "properties": { "module": "aws-cdk-lib", "flags": { - "@aws-cdk/core:enableStackNameDuplicates": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { "recommendedValue": true, - "explanation": "Allow multiple stacks with the same name" - }, - "aws-cdk:enableDiffNoFail": { - "recommendedValue": true, - "explanation": "Make `cdk diff` not fail when there are differences" + "explanation": "Pass signingProfileName to CfnSigningProfile" }, "@aws-cdk/core:newStyleStackSynthesis": { "recommendedValue": true, - "explanation": "Switch to new stack synthesis method which enables CI/CD" + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:stackRelativeExports": { "recommendedValue": true, - "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path" - }, - "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": { - "recommendedValue": true, - "explanation": "DockerImageAsset properly supports `.dockerignore` files by default" - }, - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": { - "recommendedValue": true, - "explanation": "Fix the referencing of SecretsManager names from ARNs" - }, - "@aws-cdk/aws-kms:defaultKeyPolicies": { - "recommendedValue": true, - "explanation": "Tighten default KMS key policies" - }, - "@aws-cdk/aws-s3:grantWriteWithoutAcl": { - "recommendedValue": true, - "explanation": "Remove `PutObjectAcl` from Bucket.grantWrite" + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } }, - "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": { + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { "recommendedValue": true, - "explanation": "Do not specify a default DesiredCount for ECS services" + "explanation": "Disable implicit openListener when custom security groups are provided" }, "@aws-cdk/aws-rds:lowercaseDbIdentifier": { "recommendedValue": true, - "explanation": "Force lowercasing of RDS Cluster names in CDK" + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { "recommendedValue": true, - "explanation": "Allow adding/removing multiple UsagePlanKeys independently" - }, - "@aws-cdk/aws-efs:defaultEncryptionAtRest": { - "recommendedValue": true, - "explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default." + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeVersionProps": { "recommendedValue": true, - "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeLayerVersion": { "userValue": true, @@ -535,7 +526,10 @@ }, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { "recommendedValue": true, - "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default." + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:checkSecretUsage": { "userValue": true, @@ -756,7 +750,10 @@ }, "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy" + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-eks:nodegroupNameAttribute": { "userValue": true, @@ -785,7 +782,10 @@ }, "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { "recommendedValue": true, - "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model." + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:explicitStackTags": { "userValue": true, @@ -849,7 +849,10 @@ }, "@aws-cdk/core:aspectStabilization": { "recommendedValue": true, - "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis." + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { "userValue": true, @@ -883,7 +886,10 @@ }, "@aws-cdk/pipelines:reduceStageRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from Stage addActions trust policy" + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-events:requireEventBusPolicySid": { "userValue": true, @@ -906,7 +912,10 @@ }, "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { "recommendedValue": true, - "explanation": "When enabled, scopes down the trust policy for the cross-account action role" + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { "userValue": true, @@ -941,5 +950,5 @@ } } }, - "minimumCliVersion": "2.1023.0" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/tree.json index 1f1358d9abe43..43406e6447d64 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.encrypted-sns-bucket-notifications.js.snapshot/tree.json @@ -1 +1 @@ -{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"SnsBucketNotificationsStack":{"id":"SnsBucketNotificationsStack","path":"SnsBucketNotificationsStack","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Key":{"id":"Key","path":"SnsBucketNotificationsStack/Key","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.Key","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Key/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.CfnKey","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::KMS::Key","aws:cdk:cloudformation:props":{"keyPolicy":{"Statement":[{"Action":"kms:*","Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":"*"},{"Action":["kms:Decrypt","kms:GenerateDataKey"],"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"}],"Version":"2012-10-17"}}}}}},"Topic":{"id":"Topic","path":"SnsBucketNotificationsStack/Topic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Topic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::GetAtt":["Key961B73FD","Arn"]}}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/Topic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Topic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"TopicBFC7AF6E"},"Sid":"0"}],"Version":"2012-10-17"},"topics":[{"Ref":"TopicBFC7AF6E"}]}}}}}}},"Queue":{"id":"Queue","path":"SnsBucketNotificationsStack/Queue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/Queue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sqs:SendMessage","Condition":{"ArnEquals":{"aws:SourceArn":{"Ref":"TopicBFC7AF6E"}}},"Effect":"Allow","Principal":{"Service":"sns.amazonaws.com"},"Resource":{"Fn::GetAtt":["Queue4A7E3555","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"Queue4A7E3555"}]}}}}},"SnsBucketNotificationsStackTopic94A66F53":{"id":"SnsBucketNotificationsStackTopic94A66F53","path":"SnsBucketNotificationsStack/Queue/SnsBucketNotificationsStackTopic94A66F53","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Subscription","version":"0.0.0","metadata":[{"topic":"*","endpoint":"*","protocol":"sqs","rawMessageDelivery":"*","filterPolicy":"*","filterPolicyWithMessageBody":"*","region":"*","deadLetterQueue":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/SnsBucketNotificationsStackTopic94A66F53/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnSubscription","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Subscription","aws:cdk:cloudformation:props":{"endpoint":{"Fn::GetAtt":["Queue4A7E3555","Arn"]},"protocol":"sqs","topicArn":{"Ref":"TopicBFC7AF6E"}}}}}}}},"MyBucket":{"id":"MyBucket","path":"SnsBucketNotificationsStack/MyBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/MyBucket/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"MyBucketF68F3FF0"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"SnsBucketNotificationsStack/MyBucket/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsStack/MyBucket/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"SnsBucketNotificationsStack/MyBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Exports":{"id":"Exports","path":"SnsBucketNotificationsStack/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"MyBucketF68F3FF0\"}":{"id":"Output{\"Ref\":\"MyBucketF68F3FF0\"}","path":"SnsBucketNotificationsStack/Exports/Output{\"Ref\":\"MyBucketF68F3FF0\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Queue4A7E3555\"}":{"id":"Output{\"Ref\":\"Queue4A7E3555\"}","path":"SnsBucketNotificationsStack/Exports/Output{\"Ref\":\"Queue4A7E3555\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SnsBucketNotificationsStack/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SnsBucketNotificationsStack/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SnsBucketNotificationsSseInteg":{"id":"SnsBucketNotificationsSseInteg","path":"SnsBucketNotificationsSseInteg","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SnsBucketNotificationsSseInteg/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20":{"id":"AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d":{"id":"AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"WaitFor":{"id":"WaitFor","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.WaiterStateMachine","version":"0.0.0"},"children":{"IsCompleteProvider":{"id":"IsCompleteProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Invoke":{"id":"Invoke","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider/Invoke","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"TimeoutProvider":{"id":"TimeoutProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Invoke":{"id":"Invoke","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider/Invoke","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"SingletonFunction76b3e830a873425f8453eddd85c86925":{"id":"SingletonFunction76b3e830a873425f8453eddd85c86925","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a":{"id":"SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"SnsBucketNotificationsStack":{"id":"SnsBucketNotificationsStack","path":"SnsBucketNotificationsStack","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Key":{"id":"Key","path":"SnsBucketNotificationsStack/Key","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.Key","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Key/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.CfnKey","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::KMS::Key","aws:cdk:cloudformation:props":{"keyPolicy":{"Statement":[{"Action":"kms:*","Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":"*"},{"Action":["kms:Decrypt","kms:GenerateDataKey"],"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"}],"Version":"2012-10-17"}}}}}},"Topic":{"id":"Topic","path":"SnsBucketNotificationsStack/Topic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Topic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::GetAtt":["Key961B73FD","Arn"]}}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/Topic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Topic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"TopicBFC7AF6E"},"Sid":"0"}],"Version":"2012-10-17"},"topics":[{"Ref":"TopicBFC7AF6E"}]}}}}}}},"Queue":{"id":"Queue","path":"SnsBucketNotificationsStack/Queue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/Queue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sqs:SendMessage","Condition":{"ArnEquals":{"aws:SourceArn":{"Ref":"TopicBFC7AF6E"}}},"Effect":"Allow","Principal":{"Service":"sns.amazonaws.com"},"Resource":{"Fn::GetAtt":["Queue4A7E3555","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"Queue4A7E3555"}]}}}}},"SnsBucketNotificationsStackTopic94A66F53":{"id":"SnsBucketNotificationsStackTopic94A66F53","path":"SnsBucketNotificationsStack/Queue/SnsBucketNotificationsStackTopic94A66F53","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Subscription","version":"0.0.0","metadata":[{"topic":"*","endpoint":"*","protocol":"sqs","rawMessageDelivery":"*","filterPolicy":"*","filterPolicyWithMessageBody":"*","region":"*","deadLetterQueue":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/Queue/SnsBucketNotificationsStackTopic94A66F53/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnSubscription","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Subscription","aws:cdk:cloudformation:props":{"endpoint":{"Fn::GetAtt":["Queue4A7E3555","Arn"]},"protocol":"sqs","topicArn":{"Ref":"TopicBFC7AF6E"}}}}}}}},"MyBucket":{"id":"MyBucket","path":"SnsBucketNotificationsStack/MyBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"SnsBucketNotificationsStack/MyBucket/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"MyBucketF68F3FF0"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"SnsBucketNotificationsStack/MyBucket/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsStack/MyBucket/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"SnsBucketNotificationsStack/MyBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/MyBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsStack/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Exports":{"id":"Exports","path":"SnsBucketNotificationsStack/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"MyBucketF68F3FF0\"}":{"id":"Output{\"Ref\":\"MyBucketF68F3FF0\"}","path":"SnsBucketNotificationsStack/Exports/Output{\"Ref\":\"MyBucketF68F3FF0\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Queue4A7E3555\"}":{"id":"Output{\"Ref\":\"Queue4A7E3555\"}","path":"SnsBucketNotificationsStack/Exports/Output{\"Ref\":\"Queue4A7E3555\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SnsBucketNotificationsStack/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SnsBucketNotificationsStack/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SnsBucketNotificationsSseInteg":{"id":"SnsBucketNotificationsSseInteg","path":"SnsBucketNotificationsSseInteg","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SnsBucketNotificationsSseInteg/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20":{"id":"AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallS3putObjectd7c40bfca4f362b2639aa553b509eb20/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d":{"id":"AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"WaitFor":{"id":"WaitFor","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.WaiterStateMachine","version":"0.0.0"},"children":{"IsCompleteProvider":{"id":"IsCompleteProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Invoke":{"id":"Invoke","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/IsCompleteProvider/Invoke","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"TimeoutProvider":{"id":"TimeoutProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Invoke":{"id":"Invoke","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/TimeoutProvider/Invoke","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Resource":{"id":"Resource","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/WaitFor/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagee9fedf457448604e2f358e994af9316d/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"SingletonFunction76b3e830a873425f8453eddd85c86925":{"id":"SingletonFunction76b3e830a873425f8453eddd85c86925","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a":{"id":"SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SnsBucketNotificationsSseInteg/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/integ.json index 2825b03e4d667..440a8d5bd1c87 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "integ.sns-bucket-notifications": { "stacks": [ @@ -10,5 +10,6 @@ } }, "synthContext": {}, - "enableLookups": false + "enableLookups": false, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/manifest.json index 4ea04a8569cf5..e0eb2600a24e2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "sns-bucket-notifications.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/37b91cb1e0dfc2006cafe63b6b43d78d4366e89bf2b2bb5033f5b1da6d300da6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/500b1e677af762bdac612002ff2aa33cf3089c003a6f12552c2faf4b22e36685.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,30 +34,70 @@ "sns-bucket-notifications.assets" ], "metadata": { + "/sns-bucket-notifications/ObjectCreatedTopic": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/sns-bucket-notifications/ObjectCreatedTopic/Resource": [ { "type": "aws:cdk:logicalId", "data": "ObjectCreatedTopic92F47E19" } ], + "/sns-bucket-notifications/ObjectCreatedTopic/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "topics": [ + "*" + ] + } + } + ], "/sns-bucket-notifications/ObjectCreatedTopic/Policy/Resource": [ { "type": "aws:cdk:logicalId", "data": "ObjectCreatedTopicPolicyA938ECFC" } ], + "/sns-bucket-notifications/ObjectDeletedTopic": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/sns-bucket-notifications/ObjectDeletedTopic/Resource": [ { "type": "aws:cdk:logicalId", "data": "ObjectDeletedTopic2A914EC0" } ], + "/sns-bucket-notifications/ObjectDeletedTopic/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "topics": [ + "*" + ] + } + } + ], "/sns-bucket-notifications/ObjectDeletedTopic/Policy/Resource": [ { "type": "aws:cdk:logicalId", "data": "ObjectDeletedTopicPolicy026B02E6" } ], + "/sns-bucket-notifications/MyBucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/sns-bucket-notifications/MyBucket/Resource": [ { "type": "aws:cdk:logicalId", @@ -70,12 +110,93 @@ "data": "MyBucketNotifications46AC0CD2" } ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + } + ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -108,6 +229,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.assets.json index 79a86e4caeb4a..9d5e501e6edd6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "37b91cb1e0dfc2006cafe63b6b43d78d4366e89bf2b2bb5033f5b1da6d300da6": { + "500b1e677af762bdac612002ff2aa33cf3089c003a6f12552c2faf4b22e36685": { + "displayName": "sns-bucket-notifications Template", "source": { "path": "sns-bucket-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-c380f4cc": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "37b91cb1e0dfc2006cafe63b6b43d78d4366e89bf2b2bb5033f5b1da6d300da6.json", + "objectKey": "500b1e677af762bdac612002ff2aa33cf3089c003a6f12552c2faf4b22e36685.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.template.json index 66dd8488c14f0..a61d0a9cdf38a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/sns-bucket-notifications.template.json @@ -178,7 +178,12 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::GetAtt": [ + "MyBucketF68F3FF0", + "Arn" + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/tree.json index e22f2c13e092f..fc70283f74cdf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sns/integ.sns-bucket-notifications.js.snapshot/tree.json @@ -1,353 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "sns-bucket-notifications": { - "id": "sns-bucket-notifications", - "path": "sns-bucket-notifications", - "children": { - "ObjectCreatedTopic": { - "id": "ObjectCreatedTopic", - "path": "sns-bucket-notifications/ObjectCreatedTopic", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/ObjectCreatedTopic/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::Topic", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopic", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "sns-bucket-notifications/ObjectCreatedTopic/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/ObjectCreatedTopic/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::TopicPolicy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "MyBucketF68F3FF0", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "ObjectCreatedTopic92F47E19" - }, - "Sid": "0" - } - ], - "Version": "2012-10-17" - }, - "topics": [ - { - "Ref": "ObjectCreatedTopic92F47E19" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.TopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.Topic", - "version": "0.0.0" - } - }, - "ObjectDeletedTopic": { - "id": "ObjectDeletedTopic", - "path": "sns-bucket-notifications/ObjectDeletedTopic", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/ObjectDeletedTopic/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::Topic", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopic", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "sns-bucket-notifications/ObjectDeletedTopic/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/ObjectDeletedTopic/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SNS::TopicPolicy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "sns:Publish", - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "MyBucketF68F3FF0", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Ref": "ObjectDeletedTopic2A914EC0" - }, - "Sid": "0" - } - ], - "Version": "2012-10-17" - }, - "topics": [ - { - "Ref": "ObjectDeletedTopic2A914EC0" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.CfnTopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.TopicPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sns.Topic", - "version": "0.0.0" - } - }, - "MyBucket": { - "id": "MyBucket", - "path": "sns-bucket-notifications/MyBucket", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyBucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "sns-bucket-notifications/MyBucket/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyBucket/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "s3:PutBucketNotification", - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "sns-bucket-notifications/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "sns-bucket-notifications/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"sns-bucket-notifications":{"id":"sns-bucket-notifications","path":"sns-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"ObjectCreatedTopic":{"id":"ObjectCreatedTopic","path":"sns-bucket-notifications/ObjectCreatedTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/ObjectCreatedTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sns-bucket-notifications/ObjectCreatedTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/ObjectCreatedTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"ObjectCreatedTopic92F47E19"},"Sid":"0"}],"Version":"2012-10-17"},"topics":[{"Ref":"ObjectCreatedTopic92F47E19"}]}}}}}}},"ObjectDeletedTopic":{"id":"ObjectDeletedTopic","path":"sns-bucket-notifications/ObjectDeletedTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/ObjectDeletedTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sns-bucket-notifications/ObjectDeletedTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/ObjectDeletedTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"ObjectDeletedTopic2A914EC0"},"Sid":"0"}],"Version":"2012-10-17"},"topics":[{"Ref":"ObjectDeletedTopic2A914EC0"}]}}}}}}},"MyBucket":{"id":"MyBucket","path":"sns-bucket-notifications/MyBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sns-bucket-notifications/MyBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sns-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sns-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF.assets.json index 104f449180049..c5bb2a2265f7d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF.assets.json @@ -1,13 +1,14 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF Template", "source": { "path": "BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-d8d86b35": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/integ.json index 407ebd8a3fb5f..c22da410a27fb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "BucketNotificationsSortingTest/DefaultTest": { "stacks": [ @@ -16,5 +16,6 @@ "assertionStack": "BucketNotificationsSortingTest/DefaultTest/DeployAssert", "assertionStackName": "BucketNotificationsSortingTestDefaultTestDeployAssertB6A5A8AF" } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/manifest.json index 9d1c1a76b506d..bf83173b23514 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "sns-bucket-notifications.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/153ab3fd033eba1333b28a9acef00ff0d7753ea3eba4f170b8e805244d082f9f.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e2ee48c3a72d7f57b3ae271112a1f17dc445e8efc09b2d65dc0a929a4b580df0.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,18 +34,42 @@ "sns-bucket-notifications.assets" ], "metadata": { + "/sns-bucket-notifications/MyQueue": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/sns-bucket-notifications/MyQueue/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyQueueE6CA6235" } ], + "/sns-bucket-notifications/MyQueue/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "queues": [ + "*" + ] + } + } + ], "/sns-bucket-notifications/MyQueue/Policy/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyQueuePolicy6BBEDDAC" } ], + "/sns-bucket-notifications/MyBucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], "/sns-bucket-notifications/MyBucket/Resource": [ { "type": "aws:cdk:logicalId", @@ -58,12 +82,93 @@ "data": "MyBucketNotifications46AC0CD2" } ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + } + ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -144,6 +249,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.assets.json index d9580d10972ad..1bf2e18da1ab8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "153ab3fd033eba1333b28a9acef00ff0d7753ea3eba4f170b8e805244d082f9f": { + "e2ee48c3a72d7f57b3ae271112a1f17dc445e8efc09b2d65dc0a929a4b580df0": { + "displayName": "sns-bucket-notifications Template", "source": { "path": "sns-bucket-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-089fcb7b": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "153ab3fd033eba1333b28a9acef00ff0d7753ea3eba4f170b8e805244d082f9f.json", + "objectKey": "e2ee48c3a72d7f57b3ae271112a1f17dc445e8efc09b2d65dc0a929a4b580df0.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.template.json index 2fc6d23ef3a0f..2c96eca2e8c66 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/sns-bucket-notifications.template.json @@ -140,7 +140,12 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::GetAtt": [ + "MyBucketF68F3FF0", + "Arn" + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/tree.json index 416afe4d5d36e..1fc0cd1102deb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-sorting.js.snapshot/tree.json @@ -1,337 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "sns-bucket-notifications": { - "id": "sns-bucket-notifications", - "path": "sns-bucket-notifications", - "children": { - "MyQueue": { - "id": "MyQueue", - "path": "sns-bucket-notifications/MyQueue", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyQueue/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SQS::Queue", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "sns-bucket-notifications/MyQueue/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyQueue/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::SQS::QueuePolicy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "sqs:GetQueueAttributes", - "sqs:GetQueueUrl", - "sqs:SendMessage" - ], - "Condition": { - "ArnLike": { - "aws:SourceArn": { - "Fn::GetAtt": [ - "MyBucketF68F3FF0", - "Arn" - ] - } - } - }, - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Resource": { - "Fn::GetAtt": [ - "MyQueueE6CA6235", - "Arn" - ] - } - } - ], - "Version": "2012-10-17" - }, - "queues": [ - { - "Ref": "MyQueueE6CA6235" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sqs.CfnQueuePolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sqs.QueuePolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_sqs.Queue", - "version": "0.0.0" - } - }, - "MyBucket": { - "id": "MyBucket", - "path": "sns-bucket-notifications/MyBucket", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyBucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "sns-bucket-notifications/MyBucket/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/MyBucket/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "s3:PutBucketNotification", - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "sns-bucket-notifications/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "sns-bucket-notifications/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "BucketNotificationsSortingTest": { - "id": "BucketNotificationsSortingTest", - "path": "BucketNotificationsSortingTest", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "BucketNotificationsSortingTest/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "BucketNotificationsSortingTest/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "BucketNotificationsSortingTest/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "BucketNotificationsSortingTest/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "BucketNotificationsSortingTest/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"sns-bucket-notifications":{"id":"sns-bucket-notifications","path":"sns-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyQueue":{"id":"MyQueue","path":"sns-bucket-notifications/MyQueue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyQueue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sns-bucket-notifications/MyQueue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyQueue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueE6CA6235","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"MyQueueE6CA6235"}]}}}}}}},"MyBucket":{"id":"MyBucket","path":"sns-bucket-notifications/MyBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sns-bucket-notifications/MyBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/MyBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":{"Fn::GetAtt":["MyBucketF68F3FF0","Arn"]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"sns-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sns-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sns-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"BucketNotificationsSortingTest":{"id":"BucketNotificationsSortingTest","path":"BucketNotificationsSortingTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"BucketNotificationsSortingTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"BucketNotificationsSortingTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"BucketNotificationsSortingTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"BucketNotificationsSortingTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"BucketNotificationsSortingTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json index dba13c387d5c5..00bccb721479f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json @@ -1,29 +1,29 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { - "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96": { + "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db": { "source": { - "path": "asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle", + "path": "asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle", "packaging": "zip" }, "destinations": { - "current_account-current_region-ad46d999": { + "current_account-current_region-99e46378": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip", + "objectKey": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "a1b5e7a9cf705780e19f6b2d0075e62213fc47eaa56fec0194a837d5012b6e12": { + "873609a394de4a7e2daee4c422f8e4c6eb85f15d33f644e7b3998a141dd70f3f": { "displayName": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E Template", "source": { "path": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-18bef776": { + "current_account-current_region-f370b162": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a1b5e7a9cf705780e19f6b2d0075e62213fc47eaa56fec0194a837d5012b6e12.json", + "objectKey": "873609a394de4a7e2daee4c422f8e4c6eb85f15d33f644e7b3998a141dd70f3f.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json index f4c272f4ebae6..2f250a692cc5d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json @@ -26,7 +26,7 @@ } }, "flattenResponse": "false", - "salt": "1754373951461" + "salt": "1756247118958" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -125,7 +125,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -163,7 +163,7 @@ } }, "flattenResponse": "false", - "salt": "1754373951462" + "salt": "1756247118959" }, "DependsOn": [ "AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696" @@ -199,7 +199,7 @@ "Body": "\"Some content\"" }, "flattenResponse": "false", - "salt": "1754373951463" + "salt": "1756247118959" }, "DependsOn": [ "AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812" @@ -235,7 +235,7 @@ "Body": "\"Some content\"" }, "flattenResponse": "false", - "salt": "1754373951463" + "salt": "1756247118960" }, "DependsOn": [ "AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf" @@ -275,7 +275,7 @@ "outputPaths": [ "Messages.0.Body.Records.0.s3.object.key" ], - "salt": "1754373951464" + "salt": "1756247118961" }, "DependsOn": [ "AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4" @@ -315,7 +315,7 @@ "outputPaths": [ "Messages.0.Body.Records.0.s3.object.key" ], - "salt": "1754373951465" + "salt": "1756247118961" }, "DependsOn": [ "AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js index 88bd101dd1246..4fae2b1728c8c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js @@ -1,4 +1,3 @@ -"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; @@ -813,7 +812,7 @@ var init_match = __esm({ var require_helpers_internal = __commonJS({ "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); @@ -823,11 +822,11 @@ var require_helpers_internal = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) @@ -12094,7 +12093,7 @@ var init_tslib_es6 = __esm({ }; return __assign.apply(this, arguments); }; - __createBinding = Object.create ? function(o, m, k, k2) { + __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -12103,13 +12102,13 @@ var init_tslib_es6 = __esm({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { + }); + __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }; ownKeys = function(o) { @@ -17900,7 +17899,7 @@ var require_dist_cjs49 = __commonJS({ var require_fromWebToken = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -17909,13 +17908,13 @@ var require_fromWebToken = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { + }) : function(o, v) { o["default"] = v; }); var __importStar2 = exports2 && exports2.__importStar || function(mod) { @@ -23672,9 +23671,9 @@ var require_safer = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js +// ../../../node_modules/iconv-lite/lib/bom-handling.js var require_bom_handling = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js"(exports2) { + "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports2) { "use strict"; var BOMChar = "\uFEFF"; exports2.PrependBOM = PrependBOMWrapper; @@ -23716,9 +23715,9 @@ var require_bom_handling = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js +// ../../../node_modules/iconv-lite/encodings/internal.js var require_internal = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = { @@ -23868,9 +23867,9 @@ var require_internal = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js +// ../../../node_modules/iconv-lite/encodings/utf32.js var require_utf32 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf32.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._utf32 = Utf32Codec; @@ -24087,9 +24086,9 @@ var require_utf32 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js +// ../../../node_modules/iconv-lite/encodings/utf16.js var require_utf16 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf16.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf16be = Utf16BECodec; @@ -24221,9 +24220,9 @@ var require_utf16 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js +// ../../../node_modules/iconv-lite/encodings/utf7.js var require_utf7 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/utf7.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2.utf7 = Utf7Codec; @@ -24422,9 +24421,9 @@ var require_utf7 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js var require_sbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._sbcs = SBCSCodec; @@ -24478,9 +24477,9 @@ var require_sbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data.js var require_sbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // Not supported by iconv, not sure why. @@ -24631,9 +24630,9 @@ var require_sbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js var require_sbcs_data_generated = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { "use strict"; module2.exports = { "437": "cp437", @@ -25086,9 +25085,9 @@ var require_sbcs_data_generated = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js var require_dbcs_codec = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { + "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { "use strict"; var Buffer2 = require_safer().Buffer; exports2._dbcs = DBCSCodec; @@ -25503,9 +25502,9 @@ var require_dbcs_codec = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json var require_shiftjis = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { module2.exports = [ ["0", "\0", 128], ["a1", "\uFF61", 62], @@ -25634,9 +25633,9 @@ var require_shiftjis = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json var require_eucjp = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8ea1", "\uFF61", 62], @@ -25822,9 +25821,9 @@ var require_eucjp = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json +// ../../../node_modules/iconv-lite/encodings/tables/cp936.json var require_cp936 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127, "\u20AC"], ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], @@ -26092,9 +26091,9 @@ var require_cp936 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json var require_gbk_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { module2.exports = [ ["a140", "\uE4C6", 62], ["a180", "\uE505", 32], @@ -26154,16 +26153,16 @@ var require_gbk_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json var require_gb18030_ranges = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json +// ../../../node_modules/iconv-lite/encodings/tables/cp949.json var require_cp949 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], @@ -26440,9 +26439,9 @@ var require_cp949 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json +// ../../../node_modules/iconv-lite/encodings/tables/cp950.json var require_cp950 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { module2.exports = [ ["0", "\0", 127], ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], @@ -26623,9 +26622,9 @@ var require_cp950 = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json var require_big5_added = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { module2.exports = [ ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], @@ -26751,9 +26750,9 @@ var require_big5_added = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js +// ../../../node_modules/iconv-lite/encodings/dbcs-data.js var require_dbcs_data = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { "use strict"; module2.exports = { // == Japanese/ShiftJIS ==================================================== @@ -26998,9 +26997,9 @@ var require_dbcs_data = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js +// ../../../node_modules/iconv-lite/encodings/index.js var require_encodings = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/encodings/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/encodings/index.js"(exports2, module2) { "use strict"; var modules = [ require_internal(), @@ -27025,9 +27024,9 @@ var require_encodings = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js +// ../../../node_modules/iconv-lite/lib/streams.js var require_streams = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/streams.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/streams.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; module2.exports = function(stream_module) { @@ -27120,9 +27119,9 @@ var require_streams = __commonJS({ } }); -// ../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js +// ../../../node_modules/iconv-lite/lib/index.js var require_lib2 = __commonJS({ - "../../../node_modules/encoding/node_modules/iconv-lite/lib/index.js"(exports2, module2) { + "../../../node_modules/iconv-lite/lib/index.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; var bomHandling = require_bom_handling(); @@ -30215,7 +30214,7 @@ var init_api_call = __esm({ var require_lib4 = __commonJS({ "../aws-custom-resource-sdk-adapter/lib/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -30224,10 +30223,10 @@ var require_lib4 = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); }; @@ -30272,7 +30271,6 @@ var CustomResourceHandler = class { constructor(event, context) { this.event = event; this.context = context; - this.timedOut = false; this.timeout = setTimeout(async () => { await this.respond({ status: "FAILED", @@ -30284,6 +30282,9 @@ var CustomResourceHandler = class { this.event = event; this.physicalResourceId = extractPhysicalResourceId(event); } + physicalResourceId; + timeout; + timedOut = false; /** * Handles executing the custom resource event. If `stateMachineArn` is present * in the props then trigger the waiter statemachine @@ -30417,6 +30418,7 @@ var AssertionHandler = class extends CustomResourceHandler { } }; var MatchCreator = class { + parsedObj; constructor(obj) { this.parsedObj = { matcher: obj diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/cdk.out index 3704a1b682acf..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"45.0.0"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.assets.json index fb9091a6b04d2..dd6df543af79f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.assets.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { "44e9c4d7a5d3fd2d677e1a7e416b2b56f6b0104bd5eff9cac5557b4c65a9dc61": { "displayName": "integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider Code", @@ -15,16 +15,16 @@ } } }, - "f5ddbdc839bdf2945a919d07ff7ba9ac71ec6e866beb1957c175c1739a3ccf50": { + "367266746cb08469fabd336c489bce6ade4dd871c3a805028a1903f70a5433b5": { "displayName": "integ-sqs-bucket-notifications Template", "source": { "path": "integ-sqs-bucket-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-aab0b82e": { + "current_account-current_region-686799fd": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5ddbdc839bdf2945a919d07ff7ba9ac71ec6e866beb1957c175c1739a3ccf50.json", + "objectKey": "367266746cb08469fabd336c489bce6ade4dd871c3a805028a1903f70a5433b5.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.template.json index 33445e8f59b05..8947fa50cf907 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ-sqs-bucket-notifications.template.json @@ -387,7 +387,21 @@ "s3:PutBucketNotification" ], "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Ref": "Bucket12520700A" + } + ] + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ.json index 6e1de7a2a1713..eb7eec27e43cd 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "testCases": { "SQSBucketNotificationsTest/DefaultTest": { "stacks": [ @@ -17,5 +17,5 @@ "assertionStackName": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E" } }, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/manifest.json index 4dcf81045059a..47ce8e712bbf8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f5ddbdc839bdf2945a919d07ff7ba9ac71ec6e866beb1957c175c1739a3ccf50.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/367266746cb08469fabd336c489bce6ade4dd871c3a805028a1903f70a5433b5.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -205,14 +205,6 @@ ] } }, - { - "type": "aws:cdk:analytics:method", - "data": { - "addToPrincipalPolicy": [ - {} - ] - } - }, { "type": "aws:cdk:analytics:method", "data": { @@ -263,14 +255,6 @@ ] } }, - { - "type": "aws:cdk:analytics:method", - "data": { - "addStatements": [ - {} - ] - } - }, { "type": "aws:cdk:analytics:method", "data": { @@ -342,7 +326,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a1b5e7a9cf705780e19f6b2d0075e62213fc47eaa56fec0194a837d5012b6e12.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/873609a394de4a7e2daee4c422f8e4c6eb85f15d33f644e7b3998a141dd70f3f.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -497,57 +481,48 @@ "properties": { "module": "aws-cdk-lib", "flags": { - "@aws-cdk/core:enableStackNameDuplicates": { - "recommendedValue": true, - "explanation": "Allow multiple stacks with the same name" - }, - "aws-cdk:enableDiffNoFail": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { "recommendedValue": true, - "explanation": "Make `cdk diff` not fail when there are differences" + "explanation": "Pass signingProfileName to CfnSigningProfile" }, "@aws-cdk/core:newStyleStackSynthesis": { "recommendedValue": true, - "explanation": "Switch to new stack synthesis method which enables CI/CD" + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:stackRelativeExports": { "recommendedValue": true, - "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path" - }, - "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": { - "recommendedValue": true, - "explanation": "DockerImageAsset properly supports `.dockerignore` files by default" - }, - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": { - "recommendedValue": true, - "explanation": "Fix the referencing of SecretsManager names from ARNs" - }, - "@aws-cdk/aws-kms:defaultKeyPolicies": { - "recommendedValue": true, - "explanation": "Tighten default KMS key policies" - }, - "@aws-cdk/aws-s3:grantWriteWithoutAcl": { - "recommendedValue": true, - "explanation": "Remove `PutObjectAcl` from Bucket.grantWrite" + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } }, - "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": { + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { "recommendedValue": true, - "explanation": "Do not specify a default DesiredCount for ECS services" + "explanation": "Disable implicit openListener when custom security groups are provided" }, "@aws-cdk/aws-rds:lowercaseDbIdentifier": { "recommendedValue": true, - "explanation": "Force lowercasing of RDS Cluster names in CDK" + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { "recommendedValue": true, - "explanation": "Allow adding/removing multiple UsagePlanKeys independently" - }, - "@aws-cdk/aws-efs:defaultEncryptionAtRest": { - "recommendedValue": true, - "explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default." + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeVersionProps": { "recommendedValue": true, - "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeLayerVersion": { "userValue": true, @@ -556,7 +531,10 @@ }, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { "recommendedValue": true, - "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default." + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:checkSecretUsage": { "userValue": true, @@ -777,7 +755,10 @@ }, "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy" + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-eks:nodegroupNameAttribute": { "userValue": true, @@ -806,7 +787,10 @@ }, "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { "recommendedValue": true, - "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model." + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:explicitStackTags": { "userValue": true, @@ -870,7 +854,10 @@ }, "@aws-cdk/core:aspectStabilization": { "recommendedValue": true, - "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis." + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { "userValue": true, @@ -904,7 +891,10 @@ }, "@aws-cdk/pipelines:reduceStageRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from Stage addActions trust policy" + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-events:requireEventBusPolicySid": { "userValue": true, @@ -927,7 +917,10 @@ }, "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { "recommendedValue": true, - "explanation": "When enabled, scopes down the trust policy for the cross-account action role" + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { "userValue": true, @@ -962,5 +955,5 @@ } } }, - "minimumCliVersion": "2.1023.0" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/tree.json index 4bbe6446fc546..2b460b950ed62 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications-unmanaged.js.snapshot/tree.json @@ -1 +1 @@ -{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"integ-sqs-bucket-notifications":{"id":"integ-sqs-bucket-notifications","path":"integ-sqs-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket1":{"id":"Bucket1","path":"integ-sqs-bucket-notifications/Bucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"autoDeleteObjects":true,"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Bucket1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/Bucket1/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Bucket1/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"Bucket12520700A"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["Bucket12520700A","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["Bucket12520700A","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"integ-sqs-bucket-notifications/Bucket1/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"integ-sqs-bucket-notifications/Bucket1/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Construct1":{"id":"Construct1","path":"integ-sqs-bucket-notifications/Construct1","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"IntegUnmanagedBucket1":{"id":"IntegUnmanagedBucket1","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}}}},"Construct2":{"id":"Construct2","path":"integ-sqs-bucket-notifications/Construct2","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"IntegUnmanagedBucket2":{"id":"IntegUnmanagedBucket2","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}}}},"IntegQueue1":{"id":"IntegQueue1","path":"integ-sqs-bucket-notifications/IntegQueue1","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/IntegQueue1/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue1/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket12520700A"}]]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["IntegQueue16691AAFF","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"IntegQueue16691AAFF"}]}}}}}}},"IntegQueue2":{"id":"IntegQueue2","path":"integ-sqs-bucket-notifications/IntegQueue2","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/IntegQueue2/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue2/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket12520700A"}]]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["IntegQueue2DA51259C","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"IntegQueue2DA51259C"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["s3:GetBucketNotification","s3:PutBucketNotification"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Exports":{"id":"Exports","path":"integ-sqs-bucket-notifications/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"IntegQueue16691AAFF\"}":{"id":"Output{\"Ref\":\"IntegQueue16691AAFF\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"IntegQueue16691AAFF\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"IntegQueue2DA51259C\"}":{"id":"Output{\"Ref\":\"IntegQueue2DA51259C\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"IntegQueue2DA51259C\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Bucket12520700A\"}":{"id":"Output{\"Ref\":\"Bucket12520700A\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"Bucket12520700A\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"integ-sqs-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"integ-sqs-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SQSBucketNotificationsTest":{"id":"SQSBucketNotificationsTest","path":"SQSBucketNotificationsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SQSBucketNotificationsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696":{"id":"AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812":{"id":"AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf":{"id":"AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4":{"id":"AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a":{"id":"AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6":{"id":"AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"integ-sqs-bucket-notifications":{"id":"integ-sqs-bucket-notifications","path":"integ-sqs-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket1":{"id":"Bucket1","path":"integ-sqs-bucket-notifications/Bucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"autoDeleteObjects":true,"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Bucket1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/Bucket1/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Bucket1/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"Bucket12520700A"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["Bucket12520700A","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["Bucket12520700A","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"integ-sqs-bucket-notifications/Bucket1/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"integ-sqs-bucket-notifications/Bucket1/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"integ-sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Construct1":{"id":"Construct1","path":"integ-sqs-bucket-notifications/Construct1","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"IntegUnmanagedBucket1":{"id":"IntegUnmanagedBucket1","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Construct1/IntegUnmanagedBucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}}}},"Construct2":{"id":"Construct2","path":"integ-sqs-bucket-notifications/Construct2","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"IntegUnmanagedBucket2":{"id":"IntegUnmanagedBucket2","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"0.0.0","metadata":[]},"children":{"Notifications":{"id":"Notifications","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/Construct2/IntegUnmanagedBucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}}}},"IntegQueue1":{"id":"IntegQueue1","path":"integ-sqs-bucket-notifications/IntegQueue1","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/IntegQueue1/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue1/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket12520700A"}]]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["IntegQueue16691AAFF","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"IntegQueue16691AAFF"}]}}}}}}},"IntegQueue2":{"id":"IntegQueue2","path":"integ-sqs-bucket-notifications/IntegQueue2","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"integ-sqs-bucket-notifications/IntegQueue2/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/IntegQueue2/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket12520700A"}]]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["IntegQueue2DA51259C","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"IntegQueue2DA51259C"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["s3:GetBucketNotification","s3:PutBucketNotification"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":s3:::",{"Ref":"Bucket12520700A"}]]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"integ-sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Exports":{"id":"Exports","path":"integ-sqs-bucket-notifications/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"IntegQueue16691AAFF\"}":{"id":"Output{\"Ref\":\"IntegQueue16691AAFF\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"IntegQueue16691AAFF\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"IntegQueue2DA51259C\"}":{"id":"Output{\"Ref\":\"IntegQueue2DA51259C\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"IntegQueue2DA51259C\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Bucket12520700A\"}":{"id":"Output{\"Ref\":\"Bucket12520700A\"}","path":"integ-sqs-bucket-notifications/Exports/Output{\"Ref\":\"Bucket12520700A\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"integ-sqs-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"integ-sqs-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SQSBucketNotificationsTest":{"id":"SQSBucketNotificationsTest","path":"SQSBucketNotificationsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SQSBucketNotificationsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696":{"id":"AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue9dee3c309fd35c8e9de6a283d5a45696/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812":{"id":"AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue3dbc33339559b3b0ad9846209312d812/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf":{"id":"AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectba38728e762569a855acb7c5fc7c4adf/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4":{"id":"AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObject6e450f6e95fe6d25da5bf5102c1ebad4/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a":{"id":"AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage63f5d3aa78e2eb58880b181aacc3c74a/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6":{"id":"AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessagea37e53065313eefe09c34224f0e93eb6/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json index df07a77ffa9da..1c10de752de0c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.assets.json @@ -1,29 +1,29 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { - "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96": { + "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db": { "source": { - "path": "asset.c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.bundle", + "path": "asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle", "packaging": "zip" }, "destinations": { - "current_account-current_region-ad46d999": { + "current_account-current_region-99e46378": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip", + "objectKey": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "4ac6a828daf48c5747a66e33184625ffa1315cd796e8a521ffaf3e3fe089117f": { + "979aa89ab0f5eb4be0522d5992817dd817428696b2be23d2fb4f629d2166070e": { "displayName": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E Template", "source": { "path": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-546d23a5": { + "current_account-current_region-d7da0ec4": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "4ac6a828daf48c5747a66e33184625ffa1315cd796e8a521ffaf3e3fe089117f.json", + "objectKey": "979aa89ab0f5eb4be0522d5992817dd817428696b2be23d2fb4f629d2166070e.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json index c2fa3fedeb457..0232d16732086 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E.template.json @@ -26,7 +26,7 @@ } }, "flattenResponse": "false", - "salt": "1754374092930" + "salt": "1756246843054" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -98,7 +98,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "c74d4e3c82f2db3767a5b28f12d80d3dc43fdb041406fd738e1a754a716b9f96.zip" + "S3Key": "7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -138,7 +138,7 @@ "Body": "\"Some content\"" }, "flattenResponse": "false", - "salt": "1754374092931" + "salt": "1756246843054" }, "DependsOn": [ "AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4" @@ -178,7 +178,7 @@ "outputPaths": [ "Messages.0.Body.Records.0.s3.object.key" ], - "salt": "1754374092932" + "salt": "1756246843055" }, "DependsOn": [ "AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js similarity index 72% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js index 9a6613efdd6bf..4fae2b1728c8c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/lambda/integ.bucket-notifications.js.snapshot/asset.da514df694ce3f41453746a766ae6aff13c869c38002598930d6d34e5711985b.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/asset.7131a84a4415494610e808e07b00bedc7d2578a973f5069309ad6a8a74cf00db.bundle/index.js @@ -1,4 +1,3 @@ -"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; @@ -152,7 +151,6 @@ var init_matcher = __esm({ */ toHumanStrings() { const failures = new Array(); - debugger; recurse(this, []); return failures.map((r) => { const loc = r.path.length === 0 ? "" : ` at /${r.path.join("/")}`; @@ -318,6 +316,34 @@ ${indents.join("")}`)); } }); +// ../../aws-cdk-lib/assertions/lib/private/error.ts +var ASSERTION_ERROR_SYMBOL, AssertionError; +var init_error = __esm({ + "../../aws-cdk-lib/assertions/lib/private/error.ts"() { + "use strict"; + ASSERTION_ERROR_SYMBOL = Symbol.for("@aws-cdk/assertions.AssertionError"); + AssertionError = class _AssertionError extends Error { + #time; + /** + * The time the error was thrown. + */ + get time() { + return this.#time; + } + get type() { + return "assertion"; + } + constructor(msg) { + super(msg); + Object.setPrototypeOf(this, _AssertionError.prototype); + Object.defineProperty(this, ASSERTION_ERROR_SYMBOL, { value: true }); + this.name = new.target.name; + this.#time = (/* @__PURE__ */ new Date()).toISOString(); + } + }; + } +}); + // ../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts var AbsentMatch; var init_absent = __esm({ @@ -418,6 +444,7 @@ var init_match = __esm({ "../../aws-cdk-lib/assertions/lib/match.ts"() { "use strict"; init_matcher(); + init_error(); init_absent(); init_sorting(); init_sparse_matrix(); @@ -502,7 +529,7 @@ var init_match = __esm({ this.pattern = pattern; this.partialObjects = options.partialObjects ?? false; if (Matcher.isMatcher(this.pattern)) { - throw new Error("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); + throw new AssertionError("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); } } test(actual) { @@ -584,7 +611,7 @@ var init_match = __esm({ const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); const matcherName = matcher.name; if (matcherName == "absent" || matcherName == "anyValue") { - throw new Error(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); + throw new AssertionError(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); } const innerResult = matcher.test(actual[actualIdx]); matches.set(patternIdx, actualIdx, innerResult); @@ -785,7 +812,7 @@ var init_match = __esm({ var require_helpers_internal = __commonJS({ "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); @@ -795,11 +822,11 @@ var require_helpers_internal = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) @@ -816,626 +843,123 @@ var require_helpers_internal = __commonJS({ } }); -// ../../../node_modules/tslib/tslib.es6.mjs -var tslib_es6_exports = {}; -__export(tslib_es6_exports, { - __addDisposableResource: () => __addDisposableResource, - __assign: () => __assign, - __asyncDelegator: () => __asyncDelegator, - __asyncGenerator: () => __asyncGenerator, - __asyncValues: () => __asyncValues, - __await: () => __await, - __awaiter: () => __awaiter, - __classPrivateFieldGet: () => __classPrivateFieldGet, - __classPrivateFieldIn: () => __classPrivateFieldIn, - __classPrivateFieldSet: () => __classPrivateFieldSet, - __createBinding: () => __createBinding, - __decorate: () => __decorate, - __disposeResources: () => __disposeResources, - __esDecorate: () => __esDecorate, - __exportStar: () => __exportStar, - __extends: () => __extends, - __generator: () => __generator, - __importDefault: () => __importDefault, - __importStar: () => __importStar, - __makeTemplateObject: () => __makeTemplateObject, - __metadata: () => __metadata, - __param: () => __param, - __propKey: () => __propKey, - __read: () => __read, - __rest: () => __rest, - __runInitializers: () => __runInitializers, - __setFunctionName: () => __setFunctionName, - __spread: () => __spread, - __spreadArray: () => __spreadArray, - __spreadArrays: () => __spreadArrays, - __values: () => __values, - default: () => tslib_es6_default -}); -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param(paramIndex, decorator) { - return function(target, key) { - decorator(target, key, paramIndex); - }; -} -function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { - if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); - return f; - } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function(f) { - if (done) throw new TypeError("Cannot add initializers after decoration has completed"); - extraInitializers.push(accept(f || null)); +// ../../../node_modules/@smithy/types/dist-cjs/index.js +var require_dist_cjs = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -} -function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -} -function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -} -function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -} -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + AlgorithmId: () => AlgorithmId, + EndpointURLScheme: () => EndpointURLScheme, + FieldPosition: () => FieldPosition, + HttpApiKeyAuthLocation: () => HttpApiKeyAuthLocation2, + HttpAuthLocation: () => HttpAuthLocation, + IniSectionType: () => IniSectionType, + RequestHandlerProtocol: () => RequestHandlerProtocol, + SMITHY_CONTEXT_KEY: () => SMITHY_CONTEXT_KEY4, + getDefaultClientConfiguration: () => getDefaultClientConfiguration, + resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + module2.exports = __toCommonJS2(src_exports); + var HttpAuthLocation = /* @__PURE__ */ ((HttpAuthLocation2) => { + HttpAuthLocation2["HEADER"] = "header"; + HttpAuthLocation2["QUERY"] = "query"; + return HttpAuthLocation2; + })(HttpAuthLocation || {}); + var HttpApiKeyAuthLocation2 = /* @__PURE__ */ ((HttpApiKeyAuthLocation22) => { + HttpApiKeyAuthLocation22["HEADER"] = "header"; + HttpApiKeyAuthLocation22["QUERY"] = "query"; + return HttpApiKeyAuthLocation22; + })(HttpApiKeyAuthLocation2 || {}); + var EndpointURLScheme = /* @__PURE__ */ ((EndpointURLScheme2) => { + EndpointURLScheme2["HTTP"] = "http"; + EndpointURLScheme2["HTTPS"] = "https"; + return EndpointURLScheme2; + })(EndpointURLScheme || {}); + var AlgorithmId = /* @__PURE__ */ ((AlgorithmId2) => { + AlgorithmId2["MD5"] = "md5"; + AlgorithmId2["CRC32"] = "crc32"; + AlgorithmId2["CRC32C"] = "crc32c"; + AlgorithmId2["SHA1"] = "sha1"; + AlgorithmId2["SHA256"] = "sha256"; + return AlgorithmId2; + })(AlgorithmId || {}); + var getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const checksumAlgorithms = []; + if (runtimeConfig.sha256 !== void 0) { + checksumAlgorithms.push({ + algorithmId: () => "sha256", + checksumConstructor: () => runtimeConfig.sha256 + }); } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + if (runtimeConfig.md5 != void 0) { + checksumAlgorithms.push({ + algorithmId: () => "md5", + checksumConstructor: () => runtimeConfig.md5 + }); } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function() { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -} -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() { - return this; - }, i; - function awaitReturn(f) { - return function(v) { - return Promise.resolve(v).then(f, reject); - }; - } - function verb(n, f) { - if (g[n]) { - i[n] = function(v) { - return new Promise(function(a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); + return { + _checksumAlgorithms: checksumAlgorithms, + addChecksumAlgorithm(algo) { + this._checksumAlgorithms.push(algo); + }, + checksumAlgorithms() { + return this._checksumAlgorithms; + } }; - if (f) i[n] = f(i[n]); - } - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function(e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function() { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function(v) { - return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; - } : f; - } -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); + }, "getChecksumConfiguration"); + var resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => { + const runtimeConfig = {}; + clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { + runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor(); }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function(v2) { - resolve({ value: v2, done: d }); - }, reject); - } -} -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { value: raw }); - } else { - cooked.raw = raw; - } - return cooked; -} -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -} -function __importDefault(mod) { - return mod && mod.__esModule ? mod : { default: mod }; -} -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; -} -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} -function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { - try { - inner.call(this); - } catch (e) { - return Promise.reject(e); - } - }; - env.stack.push({ value, dispose, async }); - } else if (async) { - env.stack.push({ async: true }); - } - return value; -} -function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { - fail(e); - return next(); - }); - } else s |= 1; - } catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} -var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default; -var init_tslib_es6 = __esm({ - "../../../node_modules/tslib/tslib.es6.mjs"() { - extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; - }; - return extendStatics(d, b); - }; - __assign = function() { - __assign = Object.assign || function __assign2(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - __createBinding = Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }; - _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - tslib_es6_default = { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources - }; - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/index.js -var require_dist_cjs = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - AlgorithmId: () => AlgorithmId, - EndpointURLScheme: () => EndpointURLScheme, - FieldPosition: () => FieldPosition, - HttpApiKeyAuthLocation: () => HttpApiKeyAuthLocation, - HttpAuthLocation: () => HttpAuthLocation, - IniSectionType: () => IniSectionType, - RequestHandlerProtocol: () => RequestHandlerProtocol, - SMITHY_CONTEXT_KEY: () => SMITHY_CONTEXT_KEY, - getDefaultClientConfiguration: () => getDefaultClientConfiguration, - resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig - }); - module2.exports = __toCommonJS2(src_exports); - var HttpAuthLocation = /* @__PURE__ */ ((HttpAuthLocation2) => { - HttpAuthLocation2["HEADER"] = "header"; - HttpAuthLocation2["QUERY"] = "query"; - return HttpAuthLocation2; - })(HttpAuthLocation || {}); - var HttpApiKeyAuthLocation = /* @__PURE__ */ ((HttpApiKeyAuthLocation2) => { - HttpApiKeyAuthLocation2["HEADER"] = "header"; - HttpApiKeyAuthLocation2["QUERY"] = "query"; - return HttpApiKeyAuthLocation2; - })(HttpApiKeyAuthLocation || {}); - var EndpointURLScheme = /* @__PURE__ */ ((EndpointURLScheme2) => { - EndpointURLScheme2["HTTP"] = "http"; - EndpointURLScheme2["HTTPS"] = "https"; - return EndpointURLScheme2; - })(EndpointURLScheme || {}); - var AlgorithmId = /* @__PURE__ */ ((AlgorithmId2) => { - AlgorithmId2["MD5"] = "md5"; - AlgorithmId2["CRC32"] = "crc32"; - AlgorithmId2["CRC32C"] = "crc32c"; - AlgorithmId2["SHA1"] = "sha1"; - AlgorithmId2["SHA256"] = "sha256"; - return AlgorithmId2; - })(AlgorithmId || {}); - var getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { - const checksumAlgorithms = []; - if (runtimeConfig.sha256 !== void 0) { - checksumAlgorithms.push({ - algorithmId: () => "sha256", - checksumConstructor: () => runtimeConfig.sha256 - }); - } - if (runtimeConfig.md5 != void 0) { - checksumAlgorithms.push({ - algorithmId: () => "md5", - checksumConstructor: () => runtimeConfig.md5 - }); - } - return { - _checksumAlgorithms: checksumAlgorithms, - addChecksumAlgorithm(algo) { - this._checksumAlgorithms.push(algo); - }, - checksumAlgorithms() { - return this._checksumAlgorithms; - } - }; - }, "getChecksumConfiguration"); - var resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => { - const runtimeConfig = {}; - clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { - runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor(); - }); - return runtimeConfig; - }, "resolveChecksumRuntimeConfig"); - var getDefaultClientConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { - return { - ...getChecksumConfiguration(runtimeConfig) - }; - }, "getDefaultClientConfiguration"); - var resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => { - return { - ...resolveChecksumRuntimeConfig(config) - }; - }, "resolveDefaultRuntimeConfig"); - var FieldPosition = /* @__PURE__ */ ((FieldPosition2) => { - FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; - FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; - return FieldPosition2; - })(FieldPosition || {}); - var SMITHY_CONTEXT_KEY = "__smithy_context"; - var IniSectionType = /* @__PURE__ */ ((IniSectionType2) => { - IniSectionType2["PROFILE"] = "profile"; - IniSectionType2["SSO_SESSION"] = "sso-session"; - IniSectionType2["SERVICES"] = "services"; - return IniSectionType2; - })(IniSectionType || {}); - var RequestHandlerProtocol = /* @__PURE__ */ ((RequestHandlerProtocol2) => { - RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; - RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; - RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; - return RequestHandlerProtocol2; - })(RequestHandlerProtocol || {}); + return runtimeConfig; + }, "resolveChecksumRuntimeConfig"); + var getDefaultClientConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + return { + ...getChecksumConfiguration(runtimeConfig) + }; + }, "getDefaultClientConfiguration"); + var resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => { + return { + ...resolveChecksumRuntimeConfig(config) + }; + }, "resolveDefaultRuntimeConfig"); + var FieldPosition = /* @__PURE__ */ ((FieldPosition2) => { + FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; + FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; + return FieldPosition2; + })(FieldPosition || {}); + var SMITHY_CONTEXT_KEY4 = "__smithy_context"; + var IniSectionType = /* @__PURE__ */ ((IniSectionType2) => { + IniSectionType2["PROFILE"] = "profile"; + IniSectionType2["SSO_SESSION"] = "sso-session"; + IniSectionType2["SERVICES"] = "services"; + return IniSectionType2; + })(IniSectionType || {}); + var RequestHandlerProtocol = /* @__PURE__ */ ((RequestHandlerProtocol2) => { + RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; + RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; + RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; + return RequestHandlerProtocol2; + })(RequestHandlerProtocol || {}); } }); @@ -1464,8 +988,9 @@ var require_dist_cjs2 = __commonJS({ __export2(src_exports, { Field: () => Field, Fields: () => Fields, - HttpRequest: () => HttpRequest, - HttpResponse: () => HttpResponse, + HttpRequest: () => HttpRequest7, + HttpResponse: () => HttpResponse2, + IHttpRequest: () => import_types5.HttpRequest, getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration, isValidHostname: () => isValidHostname, resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig @@ -1493,9 +1018,9 @@ var require_dist_cjs2 = __commonJS({ httpHandler: httpHandlerExtensionConfiguration.httpHandler() }; }, "resolveHttpHandlerRuntimeConfig"); - var import_types = require_dist_cjs(); + var import_types5 = require_dist_cjs(); var _Field = class _Field { - constructor({ name, kind = import_types.FieldPosition.HEADER, values = [] }) { + constructor({ name, kind = import_types5.FieldPosition.HEADER, values = [] }) { this.name = name; this.kind = kind; this.values = values; @@ -1604,24 +1129,44 @@ var require_dist_cjs2 = __commonJS({ this.password = options.password; this.fragment = options.fragment; } + /** + * Note: this does not deep-clone the body. + */ + static clone(request2) { + const cloned = new _HttpRequest2({ + ...request2, + headers: { ...request2.headers } + }); + if (cloned.query) { + cloned.query = cloneQuery(cloned.query); + } + return cloned; + } + /** + * This method only actually asserts that request is the interface {@link IHttpRequest}, + * and not necessarily this concrete class. Left in place for API stability. + * + * Do not call instance methods on the input of this function, and + * do not assume it has the HttpRequest prototype. + */ static isInstance(request2) { - if (!request2) + if (!request2) { return false; + } const req = request2; return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object"; } + /** + * @deprecated use static HttpRequest.clone(request) instead. It's not safe to call + * this method because {@link HttpRequest.isInstance} incorrectly + * asserts that IHttpRequest (interface) objects are of type HttpRequest (class). + */ clone() { - const cloned = new _HttpRequest2({ - ...this, - headers: { ...this.headers } - }); - if (cloned.query) - cloned.query = cloneQuery(cloned.query); - return cloned; + return _HttpRequest2.clone(this); } }; __name(_HttpRequest, "HttpRequest"); - var HttpRequest = _HttpRequest; + var HttpRequest7 = _HttpRequest; function cloneQuery(query) { return Object.keys(query).reduce((carry, paramName) => { const param = query[paramName]; @@ -1647,7 +1192,7 @@ var require_dist_cjs2 = __commonJS({ } }; __name(_HttpResponse, "HttpResponse"); - var HttpResponse = _HttpResponse; + var HttpResponse2 = _HttpResponse; function isValidHostname(hostname) { const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; return hostPattern.test(hostname); @@ -1658,23 +1203,47 @@ var require_dist_cjs2 = __commonJS({ // ../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js var require_dist_cjs3 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js"(exports2) { + "../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getHostHeaderPlugin = exports2.hostHeaderMiddlewareOptions = exports2.hostHeaderMiddleware = exports2.resolveHostHeaderConfig = void 0; - var protocol_http_1 = require_dist_cjs2(); + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + getHostHeaderPlugin: () => getHostHeaderPlugin, + hostHeaderMiddleware: () => hostHeaderMiddleware, + hostHeaderMiddlewareOptions: () => hostHeaderMiddlewareOptions, + resolveHostHeaderConfig: () => resolveHostHeaderConfig + }); + module2.exports = __toCommonJS2(src_exports); + var import_protocol_http8 = require_dist_cjs2(); function resolveHostHeaderConfig(input) { return input; } - exports2.resolveHostHeaderConfig = resolveHostHeaderConfig; - var hostHeaderMiddleware = (options) => (next) => async (args) => { - if (!protocol_http_1.HttpRequest.isInstance(args.request)) + __name(resolveHostHeaderConfig, "resolveHostHeaderConfig"); + var hostHeaderMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => { + if (!import_protocol_http8.HttpRequest.isInstance(args.request)) return next(args); const { request: request2 } = args; const { handlerProtocol = "" } = options.requestHandler.metadata || {}; if (handlerProtocol.indexOf("h2") >= 0 && !request2.headers[":authority"]) { delete request2.headers["host"]; - request2.headers[":authority"] = ""; + request2.headers[":authority"] = request2.hostname + (request2.port ? ":" + request2.port : ""); } else if (!request2.headers["host"]) { let host = request2.hostname; if (request2.port != null) @@ -1682,41 +1251,62 @@ var require_dist_cjs3 = __commonJS({ request2.headers["host"] = host; } return next(args); - }; - exports2.hostHeaderMiddleware = hostHeaderMiddleware; - exports2.hostHeaderMiddlewareOptions = { + }, "hostHeaderMiddleware"); + var hostHeaderMiddlewareOptions = { name: "hostHeaderMiddleware", step: "build", priority: "low", tags: ["HOST"], override: true }; - var getHostHeaderPlugin = (options) => ({ + var getHostHeaderPlugin = /* @__PURE__ */ __name((options) => ({ applyToStack: (clientStack) => { - clientStack.add((0, exports2.hostHeaderMiddleware)(options), exports2.hostHeaderMiddlewareOptions); + clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions); } - }); - exports2.getHostHeaderPlugin = getHostHeaderPlugin; + }), "getHostHeaderPlugin"); } }); -// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js -var require_loggerMiddleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js"(exports2) { +// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +var require_dist_cjs4 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getLoggerPlugin = exports2.loggerMiddlewareOptions = exports2.loggerMiddleware = void 0; - var loggerMiddleware = () => (next, context) => async (args) => { - var _a, _b; - try { - const response = await next(args); - const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; - const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; - const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; - const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog; - const { $metadata, ...outputWithoutMetadata } = response.output; - (_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, { - clientName, + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + getLoggerPlugin: () => getLoggerPlugin, + loggerMiddleware: () => loggerMiddleware, + loggerMiddlewareOptions: () => loggerMiddlewareOptions + }); + module2.exports = __toCommonJS2(src_exports); + var loggerMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => { + var _a, _b; + try { + const response = await next(args); + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog; + const { $metadata, ...outputWithoutMetadata } = response.output; + (_a = logger == null ? void 0 : logger.info) == null ? void 0 : _a.call(logger, { + clientName, commandName, input: inputFilterSensitiveLog(args.input), output: outputFilterSensitiveLog(outputWithoutMetadata), @@ -1726,8 +1316,8 @@ var require_loggerMiddleware = __commonJS({ } catch (error) { const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; - const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; - (_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, { + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + (_b = logger == null ? void 0 : logger.error) == null ? void 0 : _b.call(logger, { clientName, commandName, input: inputFilterSensitiveLog(args.input), @@ -1736,51 +1326,62 @@ var require_loggerMiddleware = __commonJS({ }); throw error; } - }; - exports2.loggerMiddleware = loggerMiddleware; - exports2.loggerMiddlewareOptions = { + }, "loggerMiddleware"); + var loggerMiddlewareOptions = { name: "loggerMiddleware", tags: ["LOGGER"], step: "initialize", override: true }; - var getLoggerPlugin = (options) => ({ + var getLoggerPlugin = /* @__PURE__ */ __name((options) => ({ applyToStack: (clientStack) => { - clientStack.add((0, exports2.loggerMiddleware)(), exports2.loggerMiddlewareOptions); + clientStack.add(loggerMiddleware(), loggerMiddlewareOptions); } - }); - exports2.getLoggerPlugin = getLoggerPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js -var require_dist_cjs4 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_loggerMiddleware(), exports2); + }), "getLoggerPlugin"); } }); // ../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js var require_dist_cjs5 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js"(exports2) { + "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getRecursionDetectionPlugin = exports2.addRecursionDetectionMiddlewareOptions = exports2.recursionDetectionMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + addRecursionDetectionMiddlewareOptions: () => addRecursionDetectionMiddlewareOptions, + getRecursionDetectionPlugin: () => getRecursionDetectionPlugin, + recursionDetectionMiddleware: () => recursionDetectionMiddleware + }); + module2.exports = __toCommonJS2(src_exports); + var import_protocol_http8 = require_dist_cjs2(); var TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id"; var ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; var ENV_TRACE_ID = "_X_AMZN_TRACE_ID"; - var recursionDetectionMiddleware = (options) => (next) => async (args) => { + var recursionDetectionMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => { const { request: request2 } = args; - if (!protocol_http_1.HttpRequest.isInstance(request2) || options.runtime !== "node" || request2.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { + if (!import_protocol_http8.HttpRequest.isInstance(request2) || options.runtime !== "node" || request2.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { return next(args); } const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; const traceId = process.env[ENV_TRACE_ID]; - const nonEmptyString = (str) => typeof str === "string" && str.length > 0; + const nonEmptyString = /* @__PURE__ */ __name((str) => typeof str === "string" && str.length > 0, "nonEmptyString"); if (nonEmptyString(functionName) && nonEmptyString(traceId)) { request2.headers[TRACE_ID_HEADER_NAME] = traceId; } @@ -1788,27 +1389,25 @@ var require_dist_cjs5 = __commonJS({ ...args, request: request2 }); - }; - exports2.recursionDetectionMiddleware = recursionDetectionMiddleware; - exports2.addRecursionDetectionMiddlewareOptions = { + }, "recursionDetectionMiddleware"); + var addRecursionDetectionMiddlewareOptions = { step: "build", tags: ["RECURSION_DETECTION"], name: "recursionDetectionMiddleware", override: true, priority: "low" }; - var getRecursionDetectionPlugin = (options) => ({ + var getRecursionDetectionPlugin = /* @__PURE__ */ __name((options) => ({ applyToStack: (clientStack) => { - clientStack.add((0, exports2.recursionDetectionMiddleware)(options), exports2.addRecursionDetectionMiddlewareOptions); + clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions); } - }); - exports2.getRecursionDetectionPlugin = getRecursionDetectionPlugin; + }), "getRecursionDetectionPlugin"); } }); -// ../../../node_modules/@smithy/property-provider/dist-cjs/index.js +// ../../../node_modules/@smithy/util-endpoints/dist-cjs/index.js var require_dist_cjs6 = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/index.js"(exports2, module2) { + "../../../node_modules/@smithy/util-endpoints/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -1829,229 +1428,462 @@ var require_dist_cjs6 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - CredentialsProviderError: () => CredentialsProviderError, - ProviderError: () => ProviderError, - TokenProviderError: () => TokenProviderError, - chain: () => chain, - fromStatic: () => fromStatic, - memoize: () => memoize + EndpointCache: () => EndpointCache, + EndpointError: () => EndpointError2, + customEndpointFunctions: () => customEndpointFunctions, + isIpAddress: () => isIpAddress2, + isValidHostLabel: () => isValidHostLabel, + resolveEndpoint: () => resolveEndpoint2 }); module2.exports = __toCommonJS2(src_exports); - var _ProviderError = class _ProviderError2 extends Error { - constructor(message, tryNextLink = true) { - super(message); - this.tryNextLink = tryNextLink; - this.name = "ProviderError"; - Object.setPrototypeOf(this, _ProviderError2.prototype); + var _EndpointCache = class _EndpointCache { + /** + * @param [size] - desired average maximum capacity. A buffer of 10 additional keys will be allowed + * before keys are dropped. + * @param [params] - list of params to consider as part of the cache key. + * + * If the params list is not populated, no caching will happen. + * This may be out of order depending on how the object is created and arrives to this class. + */ + constructor({ size, params }) { + this.data = /* @__PURE__ */ new Map(); + this.parameters = []; + this.capacity = size ?? 50; + if (params) { + this.parameters = params; + } } - static from(error, tryNextLink = true) { - return Object.assign(new this(error.message, tryNextLink), error); + /** + * @param endpointParams - query for endpoint. + * @param resolver - provider of the value if not present. + * @returns endpoint corresponding to the query. + */ + get(endpointParams, resolver) { + const key = this.hash(endpointParams); + if (key === false) { + return resolver(); + } + if (!this.data.has(key)) { + if (this.data.size > this.capacity + 10) { + const keys = this.data.keys(); + let i = 0; + while (true) { + const { value, done } = keys.next(); + this.data.delete(value); + if (done || ++i > 10) { + break; + } + } + } + this.data.set(key, resolver()); + } + return this.data.get(key); } - }; - __name(_ProviderError, "ProviderError"); - var ProviderError = _ProviderError; - var _CredentialsProviderError = class _CredentialsProviderError2 extends ProviderError { - constructor(message, tryNextLink = true) { - super(message, tryNextLink); - this.tryNextLink = tryNextLink; - this.name = "CredentialsProviderError"; - Object.setPrototypeOf(this, _CredentialsProviderError2.prototype); + size() { + return this.data.size; } - }; - __name(_CredentialsProviderError, "CredentialsProviderError"); - var CredentialsProviderError = _CredentialsProviderError; - var _TokenProviderError = class _TokenProviderError2 extends ProviderError { - constructor(message, tryNextLink = true) { - super(message, tryNextLink); - this.tryNextLink = tryNextLink; - this.name = "TokenProviderError"; - Object.setPrototypeOf(this, _TokenProviderError2.prototype); + /** + * @returns cache key or false if not cachable. + */ + hash(endpointParams) { + let buffer = ""; + const { parameters } = this; + if (parameters.length === 0) { + return false; + } + for (const param of parameters) { + const val2 = String(endpointParams[param] ?? ""); + if (val2.includes("|;")) { + return false; + } + buffer += val2 + "|;"; + } + return buffer; } }; - __name(_TokenProviderError, "TokenProviderError"); - var TokenProviderError = _TokenProviderError; - var chain = /* @__PURE__ */ __name((...providers) => async () => { - if (providers.length === 0) { - throw new ProviderError("No providers in chain"); + __name(_EndpointCache, "EndpointCache"); + var EndpointCache = _EndpointCache; + var IP_V4_REGEX = new RegExp( + `^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$` + ); + var isIpAddress2 = /* @__PURE__ */ __name((value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"), "isIpAddress"); + var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); + var isValidHostLabel = /* @__PURE__ */ __name((value, allowSubDomains = false) => { + if (!allowSubDomains) { + return VALID_HOST_LABEL_REGEX.test(value); } - let lastProviderError; - for (const provider of providers) { - try { - const credentials = await provider(); - return credentials; - } catch (err) { - lastProviderError = err; - if (err == null ? void 0 : err.tryNextLink) { - continue; - } - throw err; + const labels = value.split("."); + for (const label of labels) { + if (!isValidHostLabel(label)) { + return false; } } - throw lastProviderError; - }, "chain"); - var fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), "fromStatic"); - var memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => { - let resolved; - let pending; - let hasResult; - let isConstant = false; - const coalesceProvider = /* @__PURE__ */ __name(async () => { - if (!pending) { - pending = provider(); + return true; + }, "isValidHostLabel"); + var customEndpointFunctions = {}; + var debugId = "endpoints"; + function toDebugString(input) { + if (typeof input !== "object" || input == null) { + return input; + } + if ("ref" in input) { + return `$${toDebugString(input.ref)}`; + } + if ("fn" in input) { + return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; + } + return JSON.stringify(input, null, 2); + } + __name(toDebugString, "toDebugString"); + var _EndpointError = class _EndpointError extends Error { + constructor(message) { + super(message); + this.name = "EndpointError"; + } + }; + __name(_EndpointError, "EndpointError"); + var EndpointError2 = _EndpointError; + var booleanEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "booleanEquals"); + var getAttrPathList = /* @__PURE__ */ __name((path) => { + const parts = path.split("."); + const pathList = []; + for (const part of parts) { + const squareBracketIndex = part.indexOf("["); + if (squareBracketIndex !== -1) { + if (part.indexOf("]") !== part.length - 1) { + throw new EndpointError2(`Path: '${path}' does not end with ']'`); + } + const arrayIndex = part.slice(squareBracketIndex + 1, -1); + if (Number.isNaN(parseInt(arrayIndex))) { + throw new EndpointError2(`Invalid array index: '${arrayIndex}' in path: '${path}'`); + } + if (squareBracketIndex !== 0) { + pathList.push(part.slice(0, squareBracketIndex)); + } + pathList.push(arrayIndex); + } else { + pathList.push(part); } + } + return pathList; + }, "getAttrPathList"); + var getAttr = /* @__PURE__ */ __name((value, path) => getAttrPathList(path).reduce((acc, index) => { + if (typeof acc !== "object") { + throw new EndpointError2(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); + } else if (Array.isArray(acc)) { + return acc[parseInt(index)]; + } + return acc[index]; + }, value), "getAttr"); + var isSet = /* @__PURE__ */ __name((value) => value != null, "isSet"); + var not = /* @__PURE__ */ __name((value) => !value, "not"); + var import_types32 = require_dist_cjs(); + var DEFAULT_PORTS = { + [import_types32.EndpointURLScheme.HTTP]: 80, + [import_types32.EndpointURLScheme.HTTPS]: 443 + }; + var parseURL = /* @__PURE__ */ __name((value) => { + const whatwgURL = (() => { try { - resolved = await pending; - hasResult = true; - isConstant = false; - } finally { - pending = void 0; - } - return resolved; - }, "coalesceProvider"); - if (isExpired === void 0) { - return async (options) => { - if (!hasResult || (options == null ? void 0 : options.forceRefresh)) { - resolved = await coalesceProvider(); + if (value instanceof URL) { + return value; } - return resolved; - }; - } - return async (options) => { - if (!hasResult || (options == null ? void 0 : options.forceRefresh)) { - resolved = await coalesceProvider(); - } - if (isConstant) { - return resolved; - } - if (requiresRefresh && !requiresRefresh(resolved)) { - isConstant = true; - return resolved; - } - if (isExpired(resolved)) { - await coalesceProvider(); - return resolved; + if (typeof value === "object" && "hostname" in value) { + const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; + const url2 = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); + url2.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); + return url2; + } + return new URL(value); + } catch (error) { + return null; } - return resolved; - }; - }, "memoize"); - } -}); - -// ../../../node_modules/@smithy/signature-v4/node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs7 = __commonJS({ - "../../../node_modules/@smithy/signature-v4/node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + })(); + if (!whatwgURL) { + console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); + return null; } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - getSmithyContext: () => getSmithyContext, - normalizeProvider: () => normalizeProvider - }); - module2.exports = __toCommonJS2(src_exports); - var import_types = require_dist_cjs(); - var getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); - var normalizeProvider = /* @__PURE__ */ __name((input) => { - if (typeof input === "function") - return input; - const promisified = Promise.resolve(input); - return () => promisified; - }, "normalizeProvider"); - } -}); - -// ../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js -var require_dist_cjs8 = __commonJS({ - "../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + const urlString = whatwgURL.href; + const { host, hostname, pathname, protocol, search } = whatwgURL; + if (search) { + return null; } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - isArrayBuffer: () => isArrayBuffer - }); - module2.exports = __toCommonJS2(src_exports); - var isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer"); - } -}); - -// ../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js -var require_dist_cjs9 = __commonJS({ - "../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + const scheme = protocol.slice(0, -1); + if (!Object.values(import_types32.EndpointURLScheme).includes(scheme)) { + return null; } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - fromArrayBuffer: () => fromArrayBuffer, - fromString: () => fromString - }); - module2.exports = __toCommonJS2(src_exports); - var import_is_array_buffer = require_dist_cjs8(); - var import_buffer = require("buffer"); - var fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => { - if (!(0, import_is_array_buffer.isArrayBuffer)(input)) { - throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); + const isIp = isIpAddress2(hostname); + const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); + const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; + return { + scheme, + authority, + path: pathname, + normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, + isIp + }; + }, "parseURL"); + var stringEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "stringEquals"); + var substring = /* @__PURE__ */ __name((input, start, stop, reverse) => { + if (start >= stop || input.length < stop) { + return null; } - return import_buffer.Buffer.from(input, offset, length); - }, "fromArrayBuffer"); - var fromString = /* @__PURE__ */ __name((input, encoding) => { - if (typeof input !== "string") { - throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); + if (!reverse) { + return input.substring(start, stop); } - return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input); - }, "fromString"); + return input.substring(input.length - stop, input.length - start); + }, "substring"); + var uriEncode = /* @__PURE__ */ __name((value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`), "uriEncode"); + var endpointFunctions = { + booleanEquals, + getAttr, + isSet, + isValidHostLabel, + not, + parseURL, + stringEquals, + substring, + uriEncode + }; + var evaluateTemplate = /* @__PURE__ */ __name((template, options) => { + const evaluatedTemplateArr = []; + const templateContext = { + ...options.endpointParams, + ...options.referenceRecord + }; + let currentIndex = 0; + while (currentIndex < template.length) { + const openingBraceIndex = template.indexOf("{", currentIndex); + if (openingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(currentIndex)); + break; + } + evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); + const closingBraceIndex = template.indexOf("}", openingBraceIndex); + if (closingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(openingBraceIndex)); + break; + } + if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { + evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); + currentIndex = closingBraceIndex + 2; + } + const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); + if (parameterName.includes("#")) { + const [refName, attrName] = parameterName.split("#"); + evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName)); + } else { + evaluatedTemplateArr.push(templateContext[parameterName]); + } + currentIndex = closingBraceIndex + 1; + } + return evaluatedTemplateArr.join(""); + }, "evaluateTemplate"); + var getReferenceValue = /* @__PURE__ */ __name(({ ref }, options) => { + const referenceRecord = { + ...options.endpointParams, + ...options.referenceRecord + }; + return referenceRecord[ref]; + }, "getReferenceValue"); + var evaluateExpression = /* @__PURE__ */ __name((obj, keyName, options) => { + if (typeof obj === "string") { + return evaluateTemplate(obj, options); + } else if (obj["fn"]) { + return callFunction(obj, options); + } else if (obj["ref"]) { + return getReferenceValue(obj, options); + } + throw new EndpointError2(`'${keyName}': ${String(obj)} is not a string, function or reference.`); + }, "evaluateExpression"); + var callFunction = /* @__PURE__ */ __name(({ fn, argv }, options) => { + const evaluatedArgs = argv.map( + (arg) => ["boolean", "number"].includes(typeof arg) ? arg : evaluateExpression(arg, "arg", options) + ); + const fnSegments = fn.split("."); + if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) { + return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs); + } + return endpointFunctions[fn](...evaluatedArgs); + }, "callFunction"); + var evaluateCondition = /* @__PURE__ */ __name(({ assign, ...fnArgs }, options) => { + var _a, _b; + if (assign && assign in options.referenceRecord) { + throw new EndpointError2(`'${assign}' is already defined in Reference Record.`); + } + const value = callFunction(fnArgs, options); + (_b = (_a = options.logger) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(_a, `${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`); + return { + result: value === "" ? true : !!value, + ...assign != null && { toAssign: { name: assign, value } } + }; + }, "evaluateCondition"); + var evaluateConditions = /* @__PURE__ */ __name((conditions = [], options) => { + var _a, _b; + const conditionsReferenceRecord = {}; + for (const condition of conditions) { + const { result, toAssign } = evaluateCondition(condition, { + ...options, + referenceRecord: { + ...options.referenceRecord, + ...conditionsReferenceRecord + } + }); + if (!result) { + return { result }; + } + if (toAssign) { + conditionsReferenceRecord[toAssign.name] = toAssign.value; + (_b = (_a = options.logger) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(_a, `${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`); + } + } + return { result: true, referenceRecord: conditionsReferenceRecord }; + }, "evaluateConditions"); + var getEndpointHeaders = /* @__PURE__ */ __name((headers, options) => Object.entries(headers).reduce( + (acc, [headerKey, headerVal]) => ({ + ...acc, + [headerKey]: headerVal.map((headerValEntry) => { + const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options); + if (typeof processedExpr !== "string") { + throw new EndpointError2(`Header '${headerKey}' value '${processedExpr}' is not a string`); + } + return processedExpr; + }) + }), + {} + ), "getEndpointHeaders"); + var getEndpointProperty = /* @__PURE__ */ __name((property, options) => { + if (Array.isArray(property)) { + return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options)); + } + switch (typeof property) { + case "string": + return evaluateTemplate(property, options); + case "object": + if (property === null) { + throw new EndpointError2(`Unexpected endpoint property: ${property}`); + } + return getEndpointProperties(property, options); + case "boolean": + return property; + default: + throw new EndpointError2(`Unexpected endpoint property type: ${typeof property}`); + } + }, "getEndpointProperty"); + var getEndpointProperties = /* @__PURE__ */ __name((properties, options) => Object.entries(properties).reduce( + (acc, [propertyKey, propertyVal]) => ({ + ...acc, + [propertyKey]: getEndpointProperty(propertyVal, options) + }), + {} + ), "getEndpointProperties"); + var getEndpointUrl = /* @__PURE__ */ __name((endpointUrl, options) => { + const expression = evaluateExpression(endpointUrl, "Endpoint URL", options); + if (typeof expression === "string") { + try { + return new URL(expression); + } catch (error) { + console.error(`Failed to construct URL with ${expression}`, error); + throw error; + } + } + throw new EndpointError2(`Endpoint URL must be a string, got ${typeof expression}`); + }, "getEndpointUrl"); + var evaluateEndpointRule = /* @__PURE__ */ __name((endpointRule, options) => { + var _a, _b; + const { conditions, endpoint } = endpointRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + const endpointRuleOptions = { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }; + const { url: url2, properties, headers } = endpoint; + (_b = (_a = options.logger) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(_a, `${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`); + return { + ...headers != void 0 && { + headers: getEndpointHeaders(headers, endpointRuleOptions) + }, + ...properties != void 0 && { + properties: getEndpointProperties(properties, endpointRuleOptions) + }, + url: getEndpointUrl(url2, endpointRuleOptions) + }; + }, "evaluateEndpointRule"); + var evaluateErrorRule = /* @__PURE__ */ __name((errorRule, options) => { + const { conditions, error } = errorRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + throw new EndpointError2( + evaluateExpression(error, "Error", { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }) + ); + }, "evaluateErrorRule"); + var evaluateTreeRule = /* @__PURE__ */ __name((treeRule, options) => { + const { conditions, rules } = treeRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + return evaluateRules(rules, { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }); + }, "evaluateTreeRule"); + var evaluateRules = /* @__PURE__ */ __name((rules, options) => { + for (const rule of rules) { + if (rule.type === "endpoint") { + const endpointOrUndefined = evaluateEndpointRule(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else if (rule.type === "error") { + evaluateErrorRule(rule, options); + } else if (rule.type === "tree") { + const endpointOrUndefined = evaluateTreeRule(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else { + throw new EndpointError2(`Unknown endpoint rule: ${rule}`); + } + } + throw new EndpointError2(`Rules evaluation failed`); + }, "evaluateRules"); + var resolveEndpoint2 = /* @__PURE__ */ __name((ruleSetObject, options) => { + var _a, _b, _c, _d; + const { endpointParams, logger } = options; + const { parameters, rules } = ruleSetObject; + (_b = (_a = options.logger) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(_a, `${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`); + const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]); + if (paramsWithDefault.length > 0) { + for (const [paramKey, paramDefaultValue] of paramsWithDefault) { + endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue; + } + } + const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k); + for (const requiredParam of requiredParams) { + if (endpointParams[requiredParam] == null) { + throw new EndpointError2(`Missing required parameter: '${requiredParam}'`); + } + } + const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} }); + (_d = (_c = options.logger) == null ? void 0 : _c.debug) == null ? void 0 : _d.call(_c, `${debugId} Resolved endpoint: ${toDebugString(endpoint)}`); + return endpoint; + }, "resolveEndpoint"); } }); -// ../../../node_modules/@smithy/util-utf8/dist-cjs/index.js -var require_dist_cjs10 = __commonJS({ - "../../../node_modules/@smithy/util-utf8/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +var require_dist_cjs7 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js"(exports2, module2) { + "use strict"; var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -2072,708 +1904,515 @@ var require_dist_cjs10 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - fromUtf8: () => fromUtf8, - toUint8Array: () => toUint8Array, - toUtf8: () => toUtf8 + ConditionObject: () => import_util_endpoints.ConditionObject, + DeprecatedObject: () => import_util_endpoints.DeprecatedObject, + EndpointError: () => import_util_endpoints.EndpointError, + EndpointObject: () => import_util_endpoints.EndpointObject, + EndpointObjectHeaders: () => import_util_endpoints.EndpointObjectHeaders, + EndpointObjectProperties: () => import_util_endpoints.EndpointObjectProperties, + EndpointParams: () => import_util_endpoints.EndpointParams, + EndpointResolverOptions: () => import_util_endpoints.EndpointResolverOptions, + EndpointRuleObject: () => import_util_endpoints.EndpointRuleObject, + ErrorRuleObject: () => import_util_endpoints.ErrorRuleObject, + EvaluateOptions: () => import_util_endpoints.EvaluateOptions, + Expression: () => import_util_endpoints.Expression, + FunctionArgv: () => import_util_endpoints.FunctionArgv, + FunctionObject: () => import_util_endpoints.FunctionObject, + FunctionReturn: () => import_util_endpoints.FunctionReturn, + ParameterObject: () => import_util_endpoints.ParameterObject, + ReferenceObject: () => import_util_endpoints.ReferenceObject, + ReferenceRecord: () => import_util_endpoints.ReferenceRecord, + RuleSetObject: () => import_util_endpoints.RuleSetObject, + RuleSetRules: () => import_util_endpoints.RuleSetRules, + TreeRuleObject: () => import_util_endpoints.TreeRuleObject, + awsEndpointFunctions: () => awsEndpointFunctions, + getUserAgentPrefix: () => getUserAgentPrefix, + isIpAddress: () => import_util_endpoints.isIpAddress, + partition: () => partition, + resolveEndpoint: () => import_util_endpoints.resolveEndpoint, + setPartitionInfo: () => setPartitionInfo, + useDefaultPartitionInfo: () => useDefaultPartitionInfo }); module2.exports = __toCommonJS2(src_exports); - var import_util_buffer_from = require_dist_cjs9(); - var fromUtf8 = /* @__PURE__ */ __name((input) => { - const buf = (0, import_util_buffer_from.fromString)(input, "utf8"); - return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); - }, "fromUtf8"); - var toUint8Array = /* @__PURE__ */ __name((data) => { - if (typeof data === "string") { - return fromUtf8(data); - } - if (ArrayBuffer.isView(data)) { - return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); - } - return new Uint8Array(data); - }, "toUint8Array"); - var toUtf8 = /* @__PURE__ */ __name((input) => { - if (typeof input === "string") { - return input; - } - if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { - throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array."); - } - return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); - }, "toUtf8"); - } -}); - -// ../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js -var require_dist_cjs11 = __commonJS({ - "../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - fromHex: () => fromHex, - toHex: () => toHex - }); - module2.exports = __toCommonJS2(src_exports); - var SHORT_TO_HEX = {}; - var HEX_TO_SHORT = {}; - for (let i = 0; i < 256; i++) { - let encodedByte = i.toString(16).toLowerCase(); - if (encodedByte.length === 1) { - encodedByte = `0${encodedByte}`; - } - SHORT_TO_HEX[i] = encodedByte; - HEX_TO_SHORT[encodedByte] = i; - } - function fromHex(encoded) { - if (encoded.length % 2 !== 0) { - throw new Error("Hex encoded strings must have an even number length"); - } - const out = new Uint8Array(encoded.length / 2); - for (let i = 0; i < encoded.length; i += 2) { - const encodedByte = encoded.slice(i, i + 2).toLowerCase(); - if (encodedByte in HEX_TO_SHORT) { - out[i / 2] = HEX_TO_SHORT[encodedByte]; - } else { - throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); + var import_util_endpoints = require_dist_cjs6(); + var isVirtualHostableS3Bucket = /* @__PURE__ */ __name((value, allowSubDomains = false) => { + if (allowSubDomains) { + for (const label of value.split(".")) { + if (!isVirtualHostableS3Bucket(label)) { + return false; + } } + return true; } - return out; - } - __name(fromHex, "fromHex"); - function toHex(bytes) { - let out = ""; - for (let i = 0; i < bytes.byteLength; i++) { - out += SHORT_TO_HEX[bytes[i]]; - } - return out; - } - __name(toHex, "toHex"); - } -}); - -// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js -var require_dist_cjs12 = __commonJS({ - "../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - escapeUri: () => escapeUri, - escapeUriPath: () => escapeUriPath - }); - module2.exports = __toCommonJS2(src_exports); - var escapeUri = /* @__PURE__ */ __name((uri) => ( - // AWS percent-encodes some extra non-standard characters in a URI - encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode) - ), "escapeUri"); - var hexEncode = /* @__PURE__ */ __name((c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, "hexEncode"); - var escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split("/").map(escapeUri).join("/"), "escapeUriPath"); - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/index.js -var require_dist_cjs13 = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - SignatureV4: () => SignatureV4, - clearCredentialCache: () => clearCredentialCache, - createScope: () => createScope, - getCanonicalHeaders: () => getCanonicalHeaders, - getCanonicalQuery: () => getCanonicalQuery, - getPayloadHash: () => getPayloadHash, - getSigningKey: () => getSigningKey, - moveHeadersToQuery: () => moveHeadersToQuery, - prepareRequest: () => prepareRequest - }); - module2.exports = __toCommonJS2(src_exports); - var import_util_middleware = require_dist_cjs7(); - var import_util_utf84 = require_dist_cjs10(); - var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; - var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; - var AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; - var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; - var EXPIRES_QUERY_PARAM = "X-Amz-Expires"; - var SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; - var TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; - var AUTH_HEADER = "authorization"; - var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase(); - var DATE_HEADER = "date"; - var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER]; - var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase(); - var SHA256_HEADER = "x-amz-content-sha256"; - var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase(); - var ALWAYS_UNSIGNABLE_HEADERS = { - authorization: true, - "cache-control": true, - connection: true, - expect: true, - from: true, - "keep-alive": true, - "max-forwards": true, - pragma: true, - referer: true, - te: true, - trailer: true, - "transfer-encoding": true, - upgrade: true, - "user-agent": true, - "x-amzn-trace-id": true - }; - var PROXY_HEADER_PATTERN = /^proxy-/; - var SEC_HEADER_PATTERN = /^sec-/; - var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; - var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; - var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; - var MAX_CACHE_SIZE = 50; - var KEY_TYPE_IDENTIFIER = "aws4_request"; - var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; - var import_util_hex_encoding = require_dist_cjs11(); - var import_util_utf8 = require_dist_cjs10(); - var signingKeyCache = {}; - var cacheQueue = []; - var createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, "createScope"); - var getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => { - const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); - const cacheKey = `${shortDate}:${region}:${service}:${(0, import_util_hex_encoding.toHex)(credsHash)}:${credentials.sessionToken}`; - if (cacheKey in signingKeyCache) { - return signingKeyCache[cacheKey]; - } - cacheQueue.push(cacheKey); - while (cacheQueue.length > MAX_CACHE_SIZE) { - delete signingKeyCache[cacheQueue.shift()]; + if (!(0, import_util_endpoints.isValidHostLabel)(value)) { + return false; } - let key = `AWS4${credentials.secretAccessKey}`; - for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) { - key = await hmac(sha256Constructor, key, signable); + if (value.length < 3 || value.length > 63) { + return false; } - return signingKeyCache[cacheKey] = key; - }, "getSigningKey"); - var clearCredentialCache = /* @__PURE__ */ __name(() => { - cacheQueue.length = 0; - Object.keys(signingKeyCache).forEach((cacheKey) => { - delete signingKeyCache[cacheKey]; - }); - }, "clearCredentialCache"); - var hmac = /* @__PURE__ */ __name((ctor, secret, data) => { - const hash = new ctor(secret); - hash.update((0, import_util_utf8.toUint8Array)(data)); - return hash.digest(); - }, "hmac"); - var getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => { - const canonical = {}; - for (const headerName of Object.keys(headers).sort()) { - if (headers[headerName] == void 0) { - continue; - } - const canonicalHeaderName = headerName.toLowerCase(); - if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders == null ? void 0 : unsignableHeaders.has(canonicalHeaderName)) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) { - if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { - continue; - } - } - canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " "); + if (value !== value.toLowerCase()) { + return false; } - return canonical; - }, "getCanonicalHeaders"); - var import_util_uri_escape = require_dist_cjs12(); - var getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => { - const keys = []; - const serialized = {}; - for (const key of Object.keys(query).sort()) { - if (key.toLowerCase() === SIGNATURE_HEADER) { - continue; - } - keys.push(key); - const value = query[key]; - if (typeof value === "string") { - serialized[key] = `${(0, import_util_uri_escape.escapeUri)(key)}=${(0, import_util_uri_escape.escapeUri)(value)}`; - } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).reduce( - (encoded, value2) => encoded.concat([`${(0, import_util_uri_escape.escapeUri)(key)}=${(0, import_util_uri_escape.escapeUri)(value2)}`]), - [] - ).sort().join("&"); - } + if ((0, import_util_endpoints.isIpAddress)(value)) { + return false; } - return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); - }, "getCanonicalQuery"); - var import_is_array_buffer = require_dist_cjs8(); - var import_util_utf82 = require_dist_cjs10(); - var getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => { - for (const headerName of Object.keys(headers)) { - if (headerName.toLowerCase() === SHA256_HEADER) { - return headers[headerName]; + return true; + }, "isVirtualHostableS3Bucket"); + var ARN_DELIMITER = ":"; + var RESOURCE_DELIMITER = "/"; + var parseArn = /* @__PURE__ */ __name((value) => { + const segments = value.split(ARN_DELIMITER); + if (segments.length < 6) + return null; + const [arn, partition2, service, region, accountId, ...resourcePath] = segments; + if (arn !== "arn" || partition2 === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "") + return null; + const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat(); + return { + partition: partition2, + service, + region, + accountId, + resourceId + }; + }, "parseArn"); + var partitions_default = { + partitions: [{ + id: "aws", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + implicitGlobalRegion: "us-east-1", + name: "aws", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$", + regions: { + "af-south-1": { + description: "Africa (Cape Town)" + }, + "ap-east-1": { + description: "Asia Pacific (Hong Kong)" + }, + "ap-northeast-1": { + description: "Asia Pacific (Tokyo)" + }, + "ap-northeast-2": { + description: "Asia Pacific (Seoul)" + }, + "ap-northeast-3": { + description: "Asia Pacific (Osaka)" + }, + "ap-south-1": { + description: "Asia Pacific (Mumbai)" + }, + "ap-south-2": { + description: "Asia Pacific (Hyderabad)" + }, + "ap-southeast-1": { + description: "Asia Pacific (Singapore)" + }, + "ap-southeast-2": { + description: "Asia Pacific (Sydney)" + }, + "ap-southeast-3": { + description: "Asia Pacific (Jakarta)" + }, + "ap-southeast-4": { + description: "Asia Pacific (Melbourne)" + }, + "aws-global": { + description: "AWS Standard global region" + }, + "ca-central-1": { + description: "Canada (Central)" + }, + "ca-west-1": { + description: "Canada West (Calgary)" + }, + "eu-central-1": { + description: "Europe (Frankfurt)" + }, + "eu-central-2": { + description: "Europe (Zurich)" + }, + "eu-north-1": { + description: "Europe (Stockholm)" + }, + "eu-south-1": { + description: "Europe (Milan)" + }, + "eu-south-2": { + description: "Europe (Spain)" + }, + "eu-west-1": { + description: "Europe (Ireland)" + }, + "eu-west-2": { + description: "Europe (London)" + }, + "eu-west-3": { + description: "Europe (Paris)" + }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, + "me-central-1": { + description: "Middle East (UAE)" + }, + "me-south-1": { + description: "Middle East (Bahrain)" + }, + "sa-east-1": { + description: "South America (Sao Paulo)" + }, + "us-east-1": { + description: "US East (N. Virginia)" + }, + "us-east-2": { + description: "US East (Ohio)" + }, + "us-west-1": { + description: "US West (N. California)" + }, + "us-west-2": { + description: "US West (Oregon)" + } } - } - if (body == void 0) { - return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; - } else if (typeof body === "string" || ArrayBuffer.isView(body) || (0, import_is_array_buffer.isArrayBuffer)(body)) { - const hashCtor = new hashConstructor(); - hashCtor.update((0, import_util_utf82.toUint8Array)(body)); - return (0, import_util_hex_encoding.toHex)(await hashCtor.digest()); - } - return UNSIGNED_PAYLOAD; - }, "getPayloadHash"); - var import_util_utf83 = require_dist_cjs10(); - var _HeaderFormatter = class _HeaderFormatter { - format(headers) { - const chunks = []; - for (const headerName of Object.keys(headers)) { - const bytes = (0, import_util_utf83.fromUtf8)(headerName); - chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + }, { + id: "aws-cn", + outputs: { + dnsSuffix: "amazonaws.com.cn", + dualStackDnsSuffix: "api.amazonwebservices.com.cn", + implicitGlobalRegion: "cn-northwest-1", + name: "aws-cn", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^cn\\-\\w+\\-\\d+$", + regions: { + "aws-cn-global": { + description: "AWS China global region" + }, + "cn-north-1": { + description: "China (Beijing)" + }, + "cn-northwest-1": { + description: "China (Ningxia)" + } } - const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); - let position = 0; - for (const chunk of chunks) { - out.set(chunk, position); - position += chunk.byteLength; + }, { + id: "aws-us-gov", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + implicitGlobalRegion: "us-gov-west-1", + name: "aws-us-gov", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", + regions: { + "aws-us-gov-global": { + description: "AWS GovCloud (US) global region" + }, + "us-gov-east-1": { + description: "AWS GovCloud (US-East)" + }, + "us-gov-west-1": { + description: "AWS GovCloud (US-West)" + } + } + }, { + id: "aws-iso", + outputs: { + dnsSuffix: "c2s.ic.gov", + dualStackDnsSuffix: "c2s.ic.gov", + implicitGlobalRegion: "us-iso-east-1", + name: "aws-iso", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", + regions: { + "aws-iso-global": { + description: "AWS ISO (US) global region" + }, + "us-iso-east-1": { + description: "US ISO East" + }, + "us-iso-west-1": { + description: "US ISO WEST" + } + } + }, { + id: "aws-iso-b", + outputs: { + dnsSuffix: "sc2s.sgov.gov", + dualStackDnsSuffix: "sc2s.sgov.gov", + implicitGlobalRegion: "us-isob-east-1", + name: "aws-iso-b", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isob\\-\\w+\\-\\d+$", + regions: { + "aws-iso-b-global": { + description: "AWS ISOB (US) global region" + }, + "us-isob-east-1": { + description: "US ISOB East (Ohio)" + } + } + }, { + id: "aws-iso-e", + outputs: { + dnsSuffix: "cloud.adc-e.uk", + dualStackDnsSuffix: "cloud.adc-e.uk", + implicitGlobalRegion: "eu-isoe-west-1", + name: "aws-iso-e", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$", + regions: { + "eu-isoe-west-1": { + description: "EU ISOE West" + } + } + }, { + id: "aws-iso-f", + outputs: { + dnsSuffix: "csp.hci.ic.gov", + dualStackDnsSuffix: "csp.hci.ic.gov", + implicitGlobalRegion: "us-isof-south-1", + name: "aws-iso-f", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isof\\-\\w+\\-\\d+$", + regions: {} + }], + version: "1.1" + }; + var selectedPartitionsInfo = partitions_default; + var selectedUserAgentPrefix = ""; + var partition = /* @__PURE__ */ __name((value) => { + const { partitions } = selectedPartitionsInfo; + for (const partition2 of partitions) { + const { regions, outputs } = partition2; + for (const [region, regionData] of Object.entries(regions)) { + if (region === value) { + return { + ...outputs, + ...regionData + }; + } } - return out; } - formatHeaderValue(header) { - switch (header.type) { - case "boolean": - return Uint8Array.from([ - header.value ? 0 : 1 - /* boolFalse */ - ]); - case "byte": - return Uint8Array.from([2, header.value]); - case "short": - const shortView = new DataView(new ArrayBuffer(3)); - shortView.setUint8( - 0, - 3 - /* short */ - ); - shortView.setInt16(1, header.value, false); - return new Uint8Array(shortView.buffer); - case "integer": - const intView = new DataView(new ArrayBuffer(5)); - intView.setUint8( - 0, - 4 - /* integer */ - ); - intView.setInt32(1, header.value, false); - return new Uint8Array(intView.buffer); - case "long": - const longBytes = new Uint8Array(9); - longBytes[0] = 5; - longBytes.set(header.value.bytes, 1); - return longBytes; - case "binary": - const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); - binView.setUint8( - 0, - 6 - /* byteArray */ - ); - binView.setUint16(1, header.value.byteLength, false); - const binBytes = new Uint8Array(binView.buffer); - binBytes.set(header.value, 3); - return binBytes; - case "string": - const utf8Bytes = (0, import_util_utf83.fromUtf8)(header.value); - const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); - strView.setUint8( - 0, - 7 - /* string */ - ); - strView.setUint16(1, utf8Bytes.byteLength, false); - const strBytes = new Uint8Array(strView.buffer); - strBytes.set(utf8Bytes, 3); - return strBytes; - case "timestamp": - const tsBytes = new Uint8Array(9); - tsBytes[0] = 8; - tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1); - return tsBytes; - case "uuid": - if (!UUID_PATTERN.test(header.value)) { - throw new Error(`Invalid UUID received: ${header.value}`); - } - const uuidBytes = new Uint8Array(17); - uuidBytes[0] = 9; - uuidBytes.set((0, import_util_hex_encoding.fromHex)(header.value.replace(/\-/g, "")), 1); - return uuidBytes; - } - } - }; - __name(_HeaderFormatter, "HeaderFormatter"); - var HeaderFormatter = _HeaderFormatter; - var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; - var _Int64 = class _Int642 { - constructor(bytes) { - this.bytes = bytes; - if (bytes.byteLength !== 8) { - throw new Error("Int64 buffers must be exactly 8 bytes"); - } - } - static fromNumber(number) { - if (number > 9223372036854776e3 || number < -9223372036854776e3) { - throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); - } - const bytes = new Uint8Array(8); - for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { - bytes[i] = remaining; - } - if (number < 0) { - negate(bytes); - } - return new _Int642(bytes); - } - /** - * Called implicitly by infix arithmetic operators. - */ - valueOf() { - const bytes = this.bytes.slice(0); - const negative = bytes[0] & 128; - if (negative) { - negate(bytes); + for (const partition2 of partitions) { + const { regionRegex, outputs } = partition2; + if (new RegExp(regionRegex).test(value)) { + return { + ...outputs + }; } - return parseInt((0, import_util_hex_encoding.toHex)(bytes), 16) * (negative ? -1 : 1); - } - toString() { - return String(this.valueOf()); } - }; - __name(_Int64, "Int64"); - var Int64 = _Int64; - function negate(bytes) { - for (let i = 0; i < 8; i++) { - bytes[i] ^= 255; - } - for (let i = 7; i > -1; i--) { - bytes[i]++; - if (bytes[i] !== 0) - break; - } - } - __name(negate, "negate"); - var hasHeader = /* @__PURE__ */ __name((soughtHeader, headers) => { - soughtHeader = soughtHeader.toLowerCase(); - for (const headerName of Object.keys(headers)) { - if (soughtHeader === headerName.toLowerCase()) { - return true; - } + const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); + if (!DEFAULT_PARTITION) { + throw new Error( + "Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist." + ); } - return false; - }, "hasHeader"); - var cloneRequest = /* @__PURE__ */ __name(({ headers, query, ...rest }) => ({ - ...rest, - headers: { ...headers }, - query: query ? cloneQuery(query) : void 0 - }), "cloneRequest"); - var cloneQuery = /* @__PURE__ */ __name((query) => Object.keys(query).reduce((carry, paramName) => { - const param = query[paramName]; return { - ...carry, - [paramName]: Array.isArray(param) ? [...param] : param + ...DEFAULT_PARTITION.outputs }; - }, {}), "cloneQuery"); - var moveHeadersToQuery = /* @__PURE__ */ __name((request2, options = {}) => { - var _a; - const { headers, query = {} } = typeof request2.clone === "function" ? request2.clone() : cloneRequest(request2); - for (const name of Object.keys(headers)) { - const lname = name.toLowerCase(); - if (lname.slice(0, 6) === "x-amz-" && !((_a = options.unhoistableHeaders) == null ? void 0 : _a.has(lname))) { - query[name] = headers[name]; - delete headers[name]; - } + }, "partition"); + var setPartitionInfo = /* @__PURE__ */ __name((partitionsInfo, userAgentPrefix = "") => { + selectedPartitionsInfo = partitionsInfo; + selectedUserAgentPrefix = userAgentPrefix; + }, "setPartitionInfo"); + var useDefaultPartitionInfo = /* @__PURE__ */ __name(() => { + setPartitionInfo(partitions_default, ""); + }, "useDefaultPartitionInfo"); + var getUserAgentPrefix = /* @__PURE__ */ __name(() => selectedUserAgentPrefix, "getUserAgentPrefix"); + var awsEndpointFunctions = { + isVirtualHostableS3Bucket, + parseArn, + partition + }; + import_util_endpoints.customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +var require_dist_cjs8 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + getUserAgentMiddlewareOptions: () => getUserAgentMiddlewareOptions, + getUserAgentPlugin: () => getUserAgentPlugin, + resolveUserAgentConfig: () => resolveUserAgentConfig, + userAgentMiddleware: () => userAgentMiddleware + }); + module2.exports = __toCommonJS2(src_exports); + function resolveUserAgentConfig(input) { return { - ...request2, - headers, - query + ...input, + customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent }; - }, "moveHeadersToQuery"); - var prepareRequest = /* @__PURE__ */ __name((request2) => { - request2 = typeof request2.clone === "function" ? request2.clone() : cloneRequest(request2); - for (const headerName of Object.keys(request2.headers)) { - if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { - delete request2.headers[headerName]; + } + __name(resolveUserAgentConfig, "resolveUserAgentConfig"); + var import_util_endpoints = require_dist_cjs7(); + var import_protocol_http8 = require_dist_cjs2(); + var USER_AGENT = "user-agent"; + var X_AMZ_USER_AGENT = "x-amz-user-agent"; + var SPACE = " "; + var UA_NAME_SEPARATOR = "/"; + var UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; + var UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; + var UA_ESCAPE_CHAR = "-"; + var userAgentMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => { + var _a, _b; + const { request: request2 } = args; + if (!import_protocol_http8.HttpRequest.isInstance(request2)) + return next(args); + const { headers } = request2; + const userAgent = ((_a = context == null ? void 0 : context.userAgent) == null ? void 0 : _a.map(escapeUserAgent)) || []; + const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent); + const customUserAgent = ((_b = options == null ? void 0 : options.customUserAgent) == null ? void 0 : _b.map(escapeUserAgent)) || []; + const prefix = (0, import_util_endpoints.getUserAgentPrefix)(); + const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(SPACE); + const normalUAValue = [ + ...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")), + ...customUserAgent + ].join(SPACE); + if (options.runtime !== "browser") { + if (normalUAValue) { + headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue; } + headers[USER_AGENT] = sdkUserAgentValue; + } else { + headers[X_AMZ_USER_AGENT] = sdkUserAgentValue; } - return request2; - }, "prepareRequest"); - var iso8601 = /* @__PURE__ */ __name((time) => toDate(time).toISOString().replace(/\.\d{3}Z$/, "Z"), "iso8601"); - var toDate = /* @__PURE__ */ __name((time) => { - if (typeof time === "number") { - return new Date(time * 1e3); + return next({ + ...args, + request: request2 + }); + }, "userAgentMiddleware"); + var escapeUserAgent = /* @__PURE__ */ __name((userAgentPair) => { + var _a; + const name = userAgentPair[0].split(UA_NAME_SEPARATOR).map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR); + const version2 = (_a = userAgentPair[1]) == null ? void 0 : _a.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR); + const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR); + const prefix = name.substring(0, prefixSeparatorIndex); + let uaName = name.substring(prefixSeparatorIndex + 1); + if (prefix === "api") { + uaName = uaName.toLowerCase(); } - if (typeof time === "string") { - if (Number(time)) { - return new Date(Number(time) * 1e3); + return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { + switch (index) { + case 0: + return item; + case 1: + return `${acc}/${item}`; + default: + return `${acc}#${item}`; } - return new Date(time); - } - return time; - }, "toDate"); - var _SignatureV4 = class _SignatureV4 { - constructor({ - applyChecksum, - credentials, - region, - service, - sha256, - uriEscapePath = true - }) { - this.headerFormatter = new HeaderFormatter(); - this.service = service; - this.sha256 = sha256; - this.uriEscapePath = uriEscapePath; - this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; - this.regionProvider = (0, import_util_middleware.normalizeProvider)(region); - this.credentialProvider = (0, import_util_middleware.normalizeProvider)(credentials); + }, ""); + }, "escapeUserAgent"); + var getUserAgentMiddlewareOptions = { + name: "getUserAgentMiddleware", + step: "build", + priority: "low", + tags: ["SET_USER_AGENT", "USER_AGENT"], + override: true + }; + var getUserAgentPlugin = /* @__PURE__ */ __name((config) => ({ + applyToStack: (clientStack) => { + clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions); } - async presign(originalRequest, options = {}) { - const { - signingDate = /* @__PURE__ */ new Date(), - expiresIn = 3600, - unsignableHeaders, - unhoistableHeaders, - signableHeaders, - signingRegion, - signingService - } = options; - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion ?? await this.regionProvider(); - const { longDate, shortDate } = formatDate(signingDate); - if (expiresIn > MAX_PRESIGNED_TTL) { - return Promise.reject( - "Signature version 4 presigned URLs must have an expiration date less than one week in the future" - ); - } - const scope = createScope(shortDate, region, signingService ?? this.service); - const request2 = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders }); - if (credentials.sessionToken) { - request2.query[TOKEN_QUERY_PARAM] = credentials.sessionToken; - } - request2.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER; - request2.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; - request2.query[AMZ_DATE_QUERY_PARAM] = longDate; - request2.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10); - const canonicalHeaders = getCanonicalHeaders(request2, unsignableHeaders, signableHeaders); - request2.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders); - request2.query[SIGNATURE_QUERY_PARAM] = await this.getSignature( - longDate, - scope, - this.getSigningKey(credentials, region, shortDate, signingService), - this.createCanonicalRequest(request2, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)) - ); - return request2; - } - async sign(toSign, options) { - if (typeof toSign === "string") { - return this.signString(toSign, options); - } else if (toSign.headers && toSign.payload) { - return this.signEvent(toSign, options); - } else if (toSign.message) { - return this.signMessage(toSign, options); - } else { - return this.signRequest(toSign, options); - } - } - async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) { - const region = signingRegion ?? await this.regionProvider(); - const { shortDate, longDate } = formatDate(signingDate); - const scope = createScope(shortDate, region, signingService ?? this.service); - const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256); - const hash = new this.sha256(); - hash.update(headers); - const hashedHeaders = (0, import_util_hex_encoding.toHex)(await hash.digest()); - const stringToSign = [ - EVENT_ALGORITHM_IDENTIFIER, - longDate, - scope, - priorSignature, - hashedHeaders, - hashedPayload - ].join("\n"); - return this.signString(stringToSign, { signingDate, signingRegion: region, signingService }); - } - async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) { - const promise = this.signEvent( - { - headers: this.headerFormatter.format(signableMessage.message.headers), - payload: signableMessage.message.body - }, - { - signingDate, - signingRegion, - signingService, - priorSignature: signableMessage.priorSignature - } - ); - return promise.then((signature) => { - return { message: signableMessage.message, signature }; - }); - } - async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) { - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion ?? await this.regionProvider(); - const { shortDate } = formatDate(signingDate); - const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); - hash.update((0, import_util_utf84.toUint8Array)(stringToSign)); - return (0, import_util_hex_encoding.toHex)(await hash.digest()); - } - async signRequest(requestToSign, { - signingDate = /* @__PURE__ */ new Date(), - signableHeaders, - unsignableHeaders, - signingRegion, - signingService - } = {}) { - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion ?? await this.regionProvider(); - const request2 = prepareRequest(requestToSign); - const { longDate, shortDate } = formatDate(signingDate); - const scope = createScope(shortDate, region, signingService ?? this.service); - request2.headers[AMZ_DATE_HEADER] = longDate; - if (credentials.sessionToken) { - request2.headers[TOKEN_HEADER] = credentials.sessionToken; - } - const payloadHash = await getPayloadHash(request2, this.sha256); - if (!hasHeader(SHA256_HEADER, request2.headers) && this.applyChecksum) { - request2.headers[SHA256_HEADER] = payloadHash; - } - const canonicalHeaders = getCanonicalHeaders(request2, unsignableHeaders, signableHeaders); - const signature = await this.getSignature( - longDate, - scope, - this.getSigningKey(credentials, region, shortDate, signingService), - this.createCanonicalRequest(request2, canonicalHeaders, payloadHash) - ); - request2.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; - return request2; - } - createCanonicalRequest(request2, canonicalHeaders, payloadHash) { - const sortedHeaders = Object.keys(canonicalHeaders).sort(); - return `${request2.method} -${this.getCanonicalPath(request2)} -${getCanonicalQuery(request2)} -${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")} + }), "getUserAgentPlugin"); + } +}); -${sortedHeaders.join(";")} -${payloadHash}`; - } - async createStringToSign(longDate, credentialScope, canonicalRequest) { - const hash = new this.sha256(); - hash.update((0, import_util_utf84.toUint8Array)(canonicalRequest)); - const hashedRequest = await hash.digest(); - return `${ALGORITHM_IDENTIFIER} -${longDate} -${credentialScope} -${(0, import_util_hex_encoding.toHex)(hashedRequest)}`; - } - getCanonicalPath({ path }) { - if (this.uriEscapePath) { - const normalizedPathSegments = []; - for (const pathSegment of path.split("/")) { - if ((pathSegment == null ? void 0 : pathSegment.length) === 0) - continue; - if (pathSegment === ".") - continue; - if (pathSegment === "..") { - normalizedPathSegments.pop(); - } else { - normalizedPathSegments.push(pathSegment); - } - } - const normalizedPath = `${(path == null ? void 0 : path.startsWith("/")) ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && (path == null ? void 0 : path.endsWith("/")) ? "/" : ""}`; - const doubleEncoded = (0, import_util_uri_escape.escapeUri)(normalizedPath); - return doubleEncoded.replace(/%2F/g, "/"); - } - return path; - } - async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { - const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest); - const hash = new this.sha256(await keyPromise); - hash.update((0, import_util_utf84.toUint8Array)(stringToSign)); - return (0, import_util_hex_encoding.toHex)(await hash.digest()); - } - getSigningKey(credentials, region, shortDate, service) { - return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service); - } - validateResolvedCredentials(credentials) { - if (typeof credentials !== "object" || // @ts-expect-error: Property 'accessKeyId' does not exist on type 'object'.ts(2339) - typeof credentials.accessKeyId !== "string" || // @ts-expect-error: Property 'secretAccessKey' does not exist on type 'object'.ts(2339) - typeof credentials.secretAccessKey !== "string") { - throw new Error("Resolved credential object is not valid"); - } +// ../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js +var require_dist_cjs9 = __commonJS({ + "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - __name(_SignatureV4, "SignatureV4"); - var SignatureV4 = _SignatureV4; - var formatDate = /* @__PURE__ */ __name((now) => { - const longDate = iso8601(now).replace(/[\-:]/g, ""); - return { - longDate, - shortDate: longDate.slice(0, 8) - }; - }, "formatDate"); - var getCanonicalHeaderList = /* @__PURE__ */ __name((headers) => Object.keys(headers).sort().join(";"), "getCanonicalHeaderList"); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + SelectorType: () => SelectorType, + booleanSelector: () => booleanSelector, + numberSelector: () => numberSelector + }); + module2.exports = __toCommonJS2(src_exports); + var booleanSelector = /* @__PURE__ */ __name((obj, key, type) => { + if (!(key in obj)) + return void 0; + if (obj[key] === "true") + return true; + if (obj[key] === "false") + return false; + throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); + }, "booleanSelector"); + var numberSelector = /* @__PURE__ */ __name((obj, key, type) => { + if (!(key in obj)) + return void 0; + const numberValue = parseInt(obj[key], 10); + if (Number.isNaN(numberValue)) { + throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`); + } + return numberValue; + }, "numberSelector"); + var SelectorType = /* @__PURE__ */ ((SelectorType2) => { + SelectorType2["ENV"] = "env"; + SelectorType2["CONFIG"] = "shared config entry"; + return SelectorType2; + })(SelectorType || {}); } }); -// ../../../node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs14 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/util-middleware/dist-cjs/index.js +var require_dist_cjs10 = __commonJS({ + "../../../node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -2794,13 +2433,13 @@ var require_dist_cjs14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - getSmithyContext: () => getSmithyContext, - normalizeProvider: () => normalizeProvider + getSmithyContext: () => getSmithyContext4, + normalizeProvider: () => normalizeProvider2 }); module2.exports = __toCommonJS2(src_exports); - var import_types = require_dist_cjs(); - var getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); - var normalizeProvider = /* @__PURE__ */ __name((input) => { + var import_types5 = require_dist_cjs(); + var getSmithyContext4 = /* @__PURE__ */ __name((context) => context[import_types5.SMITHY_CONTEXT_KEY] || (context[import_types5.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); + var normalizeProvider2 = /* @__PURE__ */ __name((input) => { if (typeof input === "function") return input; const promisified = Promise.resolve(input); @@ -2809,2275 +2448,1603 @@ var require_dist_cjs14 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js -var require_awsAuthConfiguration = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveSigV4AuthConfig = exports2.resolveAwsAuthConfig = void 0; - var property_provider_1 = require_dist_cjs6(); - var signature_v4_1 = require_dist_cjs13(); - var util_middleware_1 = require_dist_cjs14(); - var CREDENTIAL_EXPIRE_WINDOW = 3e5; - var resolveAwsAuthConfig = (input) => { - const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); - const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; - let signer; - if (input.signer) { - signer = (0, util_middleware_1.normalizeProvider)(input.signer); - } else if (input.regionInfoProvider) { - signer = () => (0, util_middleware_1.normalizeProvider)(input.region)().then(async (region) => [ - await input.regionInfoProvider(region, { - useFipsEndpoint: await input.useFipsEndpoint(), - useDualstackEndpoint: await input.useDualstackEndpoint() - }) || {}, - region - ]).then(([regionInfo, region]) => { - const { signingRegion, signingService } = regionInfo; - input.signingRegion = input.signingRegion || signingRegion || region; - input.signingName = input.signingName || signingService || input.serviceId; - const params = { - ...input, - credentials: normalizedCreds, - region: input.signingRegion, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - }; - const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; - return new SignerCtor(params); - }); - } else { - signer = async (authScheme) => { - authScheme = Object.assign({}, { - name: "sigv4", - signingName: input.signingName || input.defaultSigningName, - signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(), - properties: {} - }, authScheme); - const signingRegion = authScheme.signingRegion; - const signingService = authScheme.signingName; - input.signingRegion = input.signingRegion || signingRegion; - input.signingName = input.signingName || signingService || input.serviceId; - const params = { - ...input, - credentials: normalizedCreds, - region: input.signingRegion, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - }; - const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; - return new SignerCtor(params); - }; +// ../../../node_modules/@smithy/config-resolver/dist-cjs/index.js +var require_dist_cjs11 = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + CONFIG_USE_DUALSTACK_ENDPOINT: () => CONFIG_USE_DUALSTACK_ENDPOINT, + CONFIG_USE_FIPS_ENDPOINT: () => CONFIG_USE_FIPS_ENDPOINT, + DEFAULT_USE_DUALSTACK_ENDPOINT: () => DEFAULT_USE_DUALSTACK_ENDPOINT, + DEFAULT_USE_FIPS_ENDPOINT: () => DEFAULT_USE_FIPS_ENDPOINT, + ENV_USE_DUALSTACK_ENDPOINT: () => ENV_USE_DUALSTACK_ENDPOINT, + ENV_USE_FIPS_ENDPOINT: () => ENV_USE_FIPS_ENDPOINT, + NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS, + NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS, + NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, + NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, + REGION_ENV_NAME: () => REGION_ENV_NAME, + REGION_INI_NAME: () => REGION_INI_NAME, + getRegionInfo: () => getRegionInfo, + resolveCustomEndpointsConfig: () => resolveCustomEndpointsConfig, + resolveEndpointsConfig: () => resolveEndpointsConfig, + resolveRegionConfig: () => resolveRegionConfig + }); + module2.exports = __toCommonJS2(src_exports); + var import_util_config_provider = require_dist_cjs9(); + var ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; + var CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; + var DEFAULT_USE_DUALSTACK_ENDPOINT = false; + var NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.ENV), + configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.CONFIG), + default: false + }; + var ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; + var CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; + var DEFAULT_USE_FIPS_ENDPOINT = false; + var NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.ENV), + configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.CONFIG), + default: false + }; + var import_util_middleware3 = require_dist_cjs10(); + var resolveCustomEndpointsConfig = /* @__PURE__ */ __name((input) => { + const { endpoint, urlParser } = input; return { ...input, - systemClockOffset, - signingEscapePath, - credentials: normalizedCreds, - signer + tls: input.tls ?? true, + endpoint: (0, import_util_middleware3.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), + isCustomEndpoint: true, + useDualstackEndpoint: (0, import_util_middleware3.normalizeProvider)(input.useDualstackEndpoint ?? false) }; - }; - exports2.resolveAwsAuthConfig = resolveAwsAuthConfig; - var resolveSigV4AuthConfig = (input) => { - const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); - const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; - let signer; - if (input.signer) { - signer = (0, util_middleware_1.normalizeProvider)(input.signer); - } else { - signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({ - credentials: normalizedCreds, - region: input.region, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - })); + }, "resolveCustomEndpointsConfig"); + var getEndpointFromRegion = /* @__PURE__ */ __name(async (input) => { + const { tls = true } = input; + const region = await input.region(); + const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); + if (!dnsHostRegex.test(region)) { + throw new Error("Invalid region in client config"); } + const useDualstackEndpoint = await input.useDualstackEndpoint(); + const useFipsEndpoint = await input.useFipsEndpoint(); + const { hostname } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {}; + if (!hostname) { + throw new Error("Cannot resolve hostname from client config"); + } + return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); + }, "getEndpointFromRegion"); + var resolveEndpointsConfig = /* @__PURE__ */ __name((input) => { + const useDualstackEndpoint = (0, import_util_middleware3.normalizeProvider)(input.useDualstackEndpoint ?? false); + const { endpoint, useFipsEndpoint, urlParser } = input; return { ...input, - systemClockOffset, - signingEscapePath, - credentials: normalizedCreds, - signer + tls: input.tls ?? true, + endpoint: endpoint ? (0, import_util_middleware3.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }), + isCustomEndpoint: !!endpoint, + useDualstackEndpoint }; - }; - exports2.resolveSigV4AuthConfig = resolveSigV4AuthConfig; - var normalizeCredentialProvider = (credentials) => { - if (typeof credentials === "function") { - return (0, property_provider_1.memoize)(credentials, (credentials2) => credentials2.expiration !== void 0 && credentials2.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials2) => credentials2.expiration !== void 0); + }, "resolveEndpointsConfig"); + var REGION_ENV_NAME = "AWS_REGION"; + var REGION_INI_NAME = "region"; + var NODE_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[REGION_ENV_NAME], + configFileSelector: (profile) => profile[REGION_INI_NAME], + default: () => { + throw new Error("Region is missing"); } - return (0, util_middleware_1.normalizeProvider)(credentials); }; + var NODE_REGION_CONFIG_FILE_OPTIONS = { + preferredFile: "credentials" + }; + var isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")), "isFipsRegion"); + var getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region, "getRealRegion"); + var resolveRegionConfig = /* @__PURE__ */ __name((input) => { + const { region, useFipsEndpoint } = input; + if (!region) { + throw new Error("Region is missing"); + } + return { + ...input, + region: async () => { + if (typeof region === "string") { + return getRealRegion(region); + } + const providedRegion = await region(); + return getRealRegion(providedRegion); + }, + useFipsEndpoint: async () => { + const providedRegion = typeof region === "string" ? region : await region(); + if (isFipsRegion(providedRegion)) { + return true; + } + return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); + } + }; + }, "resolveRegionConfig"); + var getHostnameFromVariants = /* @__PURE__ */ __name((variants = [], { useFipsEndpoint, useDualstackEndpoint }) => { + var _a; + return (_a = variants.find( + ({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack") + )) == null ? void 0 : _a.hostname; + }, "getHostnameFromVariants"); + var getResolvedHostname = /* @__PURE__ */ __name((resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0, "getResolvedHostname"); + var getResolvedPartition = /* @__PURE__ */ __name((region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws", "getResolvedPartition"); + var getResolvedSigningRegion = /* @__PURE__ */ __name((hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { + if (signingRegion) { + return signingRegion; + } else if (useFipsEndpoint) { + const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); + const regionRegexmatchArray = hostname.match(regionRegexJs); + if (regionRegexmatchArray) { + return regionRegexmatchArray[0].slice(1, -1); + } + } + }, "getResolvedSigningRegion"); + var getRegionInfo = /* @__PURE__ */ __name((region, { + useFipsEndpoint = false, + useDualstackEndpoint = false, + signingService, + regionHash, + partitionHash + }) => { + var _a, _b, _c, _d, _e; + const partition = getResolvedPartition(region, { partitionHash }); + const resolvedRegion = region in regionHash ? region : ((_a = partitionHash[partition]) == null ? void 0 : _a.endpoint) ?? region; + const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; + const regionHostname = getHostnameFromVariants((_b = regionHash[resolvedRegion]) == null ? void 0 : _b.variants, hostnameOptions); + const partitionHostname = getHostnameFromVariants((_c = partitionHash[partition]) == null ? void 0 : _c.variants, hostnameOptions); + const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname }); + if (hostname === void 0) { + throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); + } + const signingRegion = getResolvedSigningRegion(hostname, { + signingRegion: (_d = regionHash[resolvedRegion]) == null ? void 0 : _d.signingRegion, + regionRegex: partitionHash[partition].regionRegex, + useFipsEndpoint + }); + return { + partition, + signingService, + hostname, + ...signingRegion && { signingRegion }, + ...((_e = regionHash[resolvedRegion]) == null ? void 0 : _e.signingService) && { + signingService: regionHash[resolvedRegion].signingService + } + }; + }, "getRegionInfo"); } }); -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js -var require_getSkewCorrectedDate = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSkewCorrectedDate = void 0; - var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset); - exports2.getSkewCorrectedDate = getSkewCorrectedDate; +// ../../../node_modules/@smithy/core/dist-es/getSmithyContext.js +var import_types, getSmithyContext; +var init_getSmithyContext = __esm({ + "../../../node_modules/@smithy/core/dist-es/getSmithyContext.js"() { + import_types = __toESM(require_dist_cjs()); + getSmithyContext = (context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}); } }); -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js -var require_isClockSkewed = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isClockSkewed = void 0; - var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); - var isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 3e5; - exports2.isClockSkewed = isClockSkewed; +// ../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +function convertHttpAuthSchemesToMap(httpAuthSchemes) { + const map = /* @__PURE__ */ new Map(); + for (const scheme of httpAuthSchemes) { + map.set(scheme.schemeId, scheme); } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js -var require_getUpdatedSystemClockOffset = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUpdatedSystemClockOffset = void 0; - var isClockSkewed_1 = require_isClockSkewed(); - var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => { - const clockTimeInMs = Date.parse(clockTime); - if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) { - return clockTimeInMs - Date.now(); + return map; +} +var import_types2, import_util_middleware, httpAuthSchemeMiddleware; +var init_httpAuthSchemeMiddleware = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js"() { + import_types2 = __toESM(require_dist_cjs()); + import_util_middleware = __toESM(require_dist_cjs10()); + httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => { + const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input)); + const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes); + const smithyContext = (0, import_util_middleware.getSmithyContext)(context); + const failureReasons = []; + for (const option of options) { + const scheme = authSchemes.get(option.schemeId); + if (!scheme) { + failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` was not enabled for this service.`); + continue; + } + const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config)); + if (!identityProvider) { + failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` did not have an IdentityProvider configured.`); + continue; + } + const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {}; + option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties); + option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties); + smithyContext.selectedHttpAuthScheme = { + httpAuthOption: option, + identity: await identityProvider(option.identityProperties), + signer: scheme.signer + }; + break; } - return currentSystemClockOffset; + if (!smithyContext.selectedHttpAuthScheme) { + throw new Error(failureReasons.join("\n")); + } + return next(args); }; - exports2.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset; } }); -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js -var require_awsAuthMiddleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSigV4AuthPlugin = exports2.getAwsAuthPlugin = exports2.awsAuthMiddlewareOptions = exports2.awsAuthMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); - var getUpdatedSystemClockOffset_1 = require_getUpdatedSystemClockOffset(); - var awsAuthMiddleware = (options) => (next, context) => async function(args) { - var _a, _b, _c, _d; - if (!protocol_http_1.HttpRequest.isInstance(args.request)) - return next(args); - const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0]; - const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(",") : void 0; - const signer = await options.signer(authScheme); - const output = await next({ - ...args, - request: await signer.sign(args.request, { - signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset), - signingRegion: multiRegionOverride || context["signing_region"], - signingService: context["signing_service"] - }) - }).catch((error) => { - var _a2; - const serverTime = (_a2 = error.ServerTime) !== null && _a2 !== void 0 ? _a2 : getDateHeader(error.$response); - if (serverTime) { - options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset); - } - throw error; - }); - const dateHeader = getDateHeader(output.response); - if (dateHeader) { - options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset); - } - return output; - }; - exports2.awsAuthMiddleware = awsAuthMiddleware; - var getDateHeader = (response) => { - var _a, _b, _c; - return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : void 0; - }; - exports2.awsAuthMiddlewareOptions = { - name: "awsAuthMiddleware", - tags: ["SIGNATURE", "AWSAUTH"], - relation: "after", - toMiddleware: "retryMiddleware", - override: true +// ../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +var httpAuthSchemeEndpointRuleSetMiddlewareOptions, getHttpAuthSchemeEndpointRuleSetPlugin; +var init_getHttpAuthSchemeEndpointRuleSetPlugin = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js"() { + init_httpAuthSchemeMiddleware(); + httpAuthSchemeEndpointRuleSetMiddlewareOptions = { + step: "serialize", + tags: ["HTTP_AUTH_SCHEME"], + name: "httpAuthSchemeMiddleware", + override: true, + relation: "before", + toMiddleware: "endpointV2Middleware" }; - var getAwsAuthPlugin = (options) => ({ + getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({ applyToStack: (clientStack) => { - clientStack.addRelativeTo((0, exports2.awsAuthMiddleware)(options), exports2.awsAuthMiddlewareOptions); + clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, { + httpAuthSchemeParametersProvider, + identityProviderConfigProvider + }), httpAuthSchemeEndpointRuleSetMiddlewareOptions); } }); - exports2.getAwsAuthPlugin = getAwsAuthPlugin; - exports2.getSigV4AuthPlugin = exports2.getAwsAuthPlugin; } }); -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js -var require_dist_cjs15 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_awsAuthConfiguration(), exports2); - tslib_1.__exportStar(require_awsAuthMiddleware(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js -var require_configurations = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveUserAgentConfig = void 0; - function resolveUserAgentConfig(input) { - return { - ...input, - customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent - }; - } - exports2.resolveUserAgentConfig = resolveUserAgentConfig; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json -var require_partitions = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json"(exports2, module2) { - module2.exports = { - partitions: [{ - id: "aws", - outputs: { - dnsSuffix: "amazonaws.com", - dualStackDnsSuffix: "api.aws", - implicitGlobalRegion: "us-east-1", - name: "aws", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$", - regions: { - "af-south-1": { - description: "Africa (Cape Town)" - }, - "ap-east-1": { - description: "Asia Pacific (Hong Kong)" - }, - "ap-northeast-1": { - description: "Asia Pacific (Tokyo)" - }, - "ap-northeast-2": { - description: "Asia Pacific (Seoul)" - }, - "ap-northeast-3": { - description: "Asia Pacific (Osaka)" - }, - "ap-south-1": { - description: "Asia Pacific (Mumbai)" - }, - "ap-south-2": { - description: "Asia Pacific (Hyderabad)" - }, - "ap-southeast-1": { - description: "Asia Pacific (Singapore)" - }, - "ap-southeast-2": { - description: "Asia Pacific (Sydney)" - }, - "ap-southeast-3": { - description: "Asia Pacific (Jakarta)" - }, - "ap-southeast-4": { - description: "Asia Pacific (Melbourne)" - }, - "aws-global": { - description: "AWS Standard global region" - }, - "ca-central-1": { - description: "Canada (Central)" - }, - "eu-central-1": { - description: "Europe (Frankfurt)" - }, - "eu-central-2": { - description: "Europe (Zurich)" - }, - "eu-north-1": { - description: "Europe (Stockholm)" - }, - "eu-south-1": { - description: "Europe (Milan)" - }, - "eu-south-2": { - description: "Europe (Spain)" - }, - "eu-west-1": { - description: "Europe (Ireland)" - }, - "eu-west-2": { - description: "Europe (London)" - }, - "eu-west-3": { - description: "Europe (Paris)" - }, - "il-central-1": { - description: "Israel (Tel Aviv)" - }, - "me-central-1": { - description: "Middle East (UAE)" - }, - "me-south-1": { - description: "Middle East (Bahrain)" - }, - "sa-east-1": { - description: "South America (Sao Paulo)" - }, - "us-east-1": { - description: "US East (N. Virginia)" - }, - "us-east-2": { - description: "US East (Ohio)" - }, - "us-west-1": { - description: "US West (N. California)" - }, - "us-west-2": { - description: "US West (Oregon)" - } - } - }, { - id: "aws-cn", - outputs: { - dnsSuffix: "amazonaws.com.cn", - dualStackDnsSuffix: "api.amazonwebservices.com.cn", - implicitGlobalRegion: "cn-northwest-1", - name: "aws-cn", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^cn\\-\\w+\\-\\d+$", - regions: { - "aws-cn-global": { - description: "AWS China global region" - }, - "cn-north-1": { - description: "China (Beijing)" - }, - "cn-northwest-1": { - description: "China (Ningxia)" - } - } - }, { - id: "aws-us-gov", - outputs: { - dnsSuffix: "amazonaws.com", - dualStackDnsSuffix: "api.aws", - implicitGlobalRegion: "us-gov-west-1", - name: "aws-us-gov", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", - regions: { - "aws-us-gov-global": { - description: "AWS GovCloud (US) global region" - }, - "us-gov-east-1": { - description: "AWS GovCloud (US-East)" - }, - "us-gov-west-1": { - description: "AWS GovCloud (US-West)" - } - } - }, { - id: "aws-iso", - outputs: { - dnsSuffix: "c2s.ic.gov", - dualStackDnsSuffix: "c2s.ic.gov", - implicitGlobalRegion: "us-iso-east-1", - name: "aws-iso", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", - regions: { - "aws-iso-global": { - description: "AWS ISO (US) global region" - }, - "us-iso-east-1": { - description: "US ISO East" - }, - "us-iso-west-1": { - description: "US ISO WEST" - } - } - }, { - id: "aws-iso-b", - outputs: { - dnsSuffix: "sc2s.sgov.gov", - dualStackDnsSuffix: "sc2s.sgov.gov", - implicitGlobalRegion: "us-isob-east-1", - name: "aws-iso-b", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-isob\\-\\w+\\-\\d+$", - regions: { - "aws-iso-b-global": { - description: "AWS ISOB (US) global region" - }, - "us-isob-east-1": { - description: "US ISOB East (Ohio)" - } - } - }, { - id: "aws-iso-e", - outputs: { - dnsSuffix: "cloud.adc-e.uk", - dualStackDnsSuffix: "cloud.adc-e.uk", - implicitGlobalRegion: "eu-isoe-west-1", - name: "aws-iso-e", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$", - regions: {} - }, { - id: "aws-iso-f", - outputs: { - dnsSuffix: "csp.hci.ic.gov", - dualStackDnsSuffix: "csp.hci.ic.gov", - implicitGlobalRegion: "us-isof-south-1", - name: "aws-iso-f", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-isof\\-\\w+\\-\\d+$", - regions: {} - }], - version: "1.1" +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js +var require_dist_cjs12 = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js -var require_partition = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUserAgentPrefix = exports2.useDefaultPartitionInfo = exports2.setPartitionInfo = exports2.partition = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var partitions_json_1 = tslib_1.__importDefault(require_partitions()); - var selectedPartitionsInfo = partitions_json_1.default; - var selectedUserAgentPrefix = ""; - var partition = (value) => { - const { partitions } = selectedPartitionsInfo; - for (const partition2 of partitions) { - const { regions, outputs } = partition2; - for (const [region, regionData] of Object.entries(regions)) { - if (region === value) { - return { - ...outputs, - ...regionData - }; - } - } - } - for (const partition2 of partitions) { - const { regionRegex, outputs } = partition2; - if (new RegExp(regionRegex).test(value)) { - return { - ...outputs - }; - } - } - const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); - if (!DEFAULT_PARTITION) { - throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist."); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return { - ...DEFAULT_PARTITION.outputs - }; - }; - exports2.partition = partition; - var setPartitionInfo = (partitionsInfo, userAgentPrefix = "") => { - selectedPartitionsInfo = partitionsInfo; - selectedUserAgentPrefix = userAgentPrefix; - }; - exports2.setPartitionInfo = setPartitionInfo; - var useDefaultPartitionInfo = () => { - (0, exports2.setPartitionInfo)(partitions_json_1.default, ""); + return to; }; - exports2.useDefaultPartitionInfo = useDefaultPartitionInfo; - var getUserAgentPrefix = () => selectedUserAgentPrefix; - exports2.getUserAgentPrefix = getUserAgentPrefix; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js -var require_isIpAddress = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isIpAddress = void 0; - var IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`); - var isIpAddress = (value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"); - exports2.isIpAddress = isIpAddress; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js -var require_debugId = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.debugId = void 0; - exports2.debugId = "endpoints"; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js -var require_toDebugString = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.toDebugString = void 0; - function toDebugString(input) { - if (typeof input !== "object" || input == null) { - return input; - } - if ("ref" in input) { - return `$${toDebugString(input.ref)}`; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + deserializerMiddleware: () => deserializerMiddleware, + deserializerMiddlewareOption: () => deserializerMiddlewareOption, + getSerdePlugin: () => getSerdePlugin, + serializerMiddleware: () => serializerMiddleware, + serializerMiddlewareOption: () => serializerMiddlewareOption2 + }); + module2.exports = __toCommonJS2(src_exports); + var deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next) => async (args) => { + const { response } = await next(args); + try { + const parsed = await deserializer(response, options); + return { + response, + output: parsed + }; + } catch (error) { + Object.defineProperty(error, "$response", { + value: response + }); + if (!("$metadata" in error)) { + const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; + error.message += "\n " + hint; + if (typeof error.$responseBodyText !== "undefined") { + if (error.$response) { + error.$response.body = error.$responseBodyText; + } + } + } + throw error; } - if ("fn" in input) { - return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; + }, "deserializerMiddleware"); + var serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => { + var _a; + const endpoint = ((_a = context.endpointV2) == null ? void 0 : _a.url) && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint; + if (!endpoint) { + throw new Error("No valid endpoint provider available."); } - return JSON.stringify(input, null, 2); + const request2 = await serializer(args.input, { ...options, endpoint }); + return next({ + ...args, + request: request2 + }); + }, "serializerMiddleware"); + var deserializerMiddlewareOption = { + name: "deserializerMiddleware", + step: "deserialize", + tags: ["DESERIALIZER"], + override: true + }; + var serializerMiddlewareOption2 = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + function getSerdePlugin(config, serializer, deserializer) { + return { + applyToStack: (commandStack) => { + commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption); + commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption2); + } + }; } - exports2.toDebugString = toDebugString; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js -var require_debug = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_debugId(), exports2); - tslib_1.__exportStar(require_toDebugString(), exports2); + __name(getSerdePlugin, "getSerdePlugin"); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js -var require_EndpointError = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EndpointError = void 0; - var EndpointError = class extends Error { - constructor(message) { - super(message); - this.name = "EndpointError"; - } +// ../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +var import_middleware_serde, httpAuthSchemeMiddlewareOptions, getHttpAuthSchemePlugin; +var init_getHttpAuthSchemePlugin = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js"() { + import_middleware_serde = __toESM(require_dist_cjs12()); + init_httpAuthSchemeMiddleware(); + httpAuthSchemeMiddlewareOptions = { + step: "serialize", + tags: ["HTTP_AUTH_SCHEME"], + name: "httpAuthSchemeMiddleware", + override: true, + relation: "before", + toMiddleware: import_middleware_serde.serializerMiddlewareOption.name }; - exports2.EndpointError = EndpointError; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js -var require_EndpointRuleObject = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, { + httpAuthSchemeParametersProvider, + identityProviderConfigProvider + }), httpAuthSchemeMiddlewareOptions); + } + }); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js -var require_ErrorRuleObject = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js +var init_middleware_http_auth_scheme = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js"() { + init_httpAuthSchemeMiddleware(); + init_getHttpAuthSchemeEndpointRuleSetPlugin(); + init_getHttpAuthSchemePlugin(); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js -var require_RuleSetObject = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js +var import_protocol_http, import_types3, import_util_middleware2, defaultErrorHandler, defaultSuccessHandler, httpSigningMiddleware; +var init_httpSigningMiddleware = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js"() { + import_protocol_http = __toESM(require_dist_cjs2()); + import_types3 = __toESM(require_dist_cjs()); + import_util_middleware2 = __toESM(require_dist_cjs10()); + defaultErrorHandler = (signingProperties) => (error) => { + throw error; + }; + defaultSuccessHandler = (httpResponse, signingProperties) => { + }; + httpSigningMiddleware = (config) => (next, context) => async (args) => { + if (!import_protocol_http.HttpRequest.isInstance(args.request)) { + return next(args); + } + const smithyContext = (0, import_util_middleware2.getSmithyContext)(context); + const scheme = smithyContext.selectedHttpAuthScheme; + if (!scheme) { + throw new Error(`No HttpAuthScheme was selected: unable to sign request`); + } + const { httpAuthOption: { signingProperties = {} }, identity, signer } = scheme; + const output = await next({ + ...args, + request: await signer.sign(args.request, identity, signingProperties) + }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties)); + (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties); + return output; + }; } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js -var require_TreeRuleObject = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js +var httpSigningMiddlewareOptions, getHttpSigningPlugin; +var init_getHttpSigningMiddleware = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js"() { + init_httpSigningMiddleware(); + httpSigningMiddlewareOptions = { + step: "finalizeRequest", + tags: ["HTTP_SIGNING"], + name: "httpSigningMiddleware", + aliases: ["apiKeyMiddleware", "tokenMiddleware", "awsAuthMiddleware"], + override: true, + relation: "after", + toMiddleware: "retryMiddleware" + }; + getHttpSigningPlugin = (config) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions); + } + }); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js -var require_shared = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/core/dist-es/middleware-http-signing/index.js +var init_middleware_http_signing = __esm({ + "../../../node_modules/@smithy/core/dist-es/middleware-http-signing/index.js"() { + init_httpSigningMiddleware(); + init_getHttpSigningMiddleware(); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js -var require_types = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_EndpointError(), exports2); - tslib_1.__exportStar(require_EndpointRuleObject(), exports2); - tslib_1.__exportStar(require_ErrorRuleObject(), exports2); - tslib_1.__exportStar(require_RuleSetObject(), exports2); - tslib_1.__exportStar(require_TreeRuleObject(), exports2); - tslib_1.__exportStar(require_shared(), exports2); +// ../../../node_modules/@smithy/core/dist-es/normalizeProvider.js +var normalizeProvider; +var init_normalizeProvider = __esm({ + "../../../node_modules/@smithy/core/dist-es/normalizeProvider.js"() { + normalizeProvider = (input) => { + if (typeof input === "function") + return input; + const promisified = Promise.resolve(input); + return () => promisified; + }; } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js -var require_isValidHostLabel = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isValidHostLabel = void 0; - var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); - var isValidHostLabel = (value, allowSubDomains = false) => { - if (!allowSubDomains) { - return VALID_HOST_LABEL_REGEX.test(value); +// ../../../node_modules/@smithy/core/dist-es/pagination/createPaginator.js +function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) { + return async function* paginateOperation(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input[inputTokenName] = token; + if (pageSizeTokenName) { + input[pageSizeTokenName] = input[pageSizeTokenName] ?? config.pageSize; } - const labels = value.split("."); - for (const label of labels) { - if (!(0, exports2.isValidHostLabel)(label)) { - return false; + if (config.client instanceof ClientCtor) { + page = await makePagedClientRequest(CommandCtor, config.client, input, ...additionalArguments); + } else { + throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`); + } + yield page; + const prevToken = token; + token = get(page, outputTokenName); + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + }; +} +var makePagedClientRequest, get; +var init_createPaginator = __esm({ + "../../../node_modules/@smithy/core/dist-es/pagination/createPaginator.js"() { + makePagedClientRequest = async (CommandCtor, client, input, ...args) => { + return await client.send(new CommandCtor(input), ...args); + }; + get = (fromObject, path) => { + let cursor = fromObject; + const pathComponents = path.split("."); + for (const step of pathComponents) { + if (!cursor || typeof cursor !== "object") { + return void 0; } + cursor = cursor[step]; } - return true; + return cursor; }; - exports2.isValidHostLabel = isValidHostLabel; } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js -var require_isVirtualHostableS3Bucket = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isVirtualHostableS3Bucket = void 0; - var isIpAddress_1 = require_isIpAddress(); - var isValidHostLabel_1 = require_isValidHostLabel(); - var isVirtualHostableS3Bucket = (value, allowSubDomains = false) => { - if (allowSubDomains) { - for (const label of value.split(".")) { - if (!(0, exports2.isVirtualHostableS3Bucket)(label)) { - return false; - } - } - return true; - } - if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) { - return false; - } - if (value.length < 3 || value.length > 63) { - return false; - } - if (value !== value.toLowerCase()) { - return false; - } - if ((0, isIpAddress_1.isIpAddress)(value)) { - return false; +// ../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js +var require_dist_cjs13 = __commonJS({ + "../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return true; + return to; }; - exports2.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + isArrayBuffer: () => isArrayBuffer + }); + module2.exports = __toCommonJS2(src_exports); + var isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer"); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js -var require_parseArn = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parseArn = void 0; - var parseArn = (value) => { - const segments = value.split(":"); - if (segments.length < 6) - return null; - const [arn, partition, service, region, accountId, ...resourceId] = segments; - if (arn !== "arn" || partition === "" || service === "" || resourceId[0] === "") - return null; - return { - partition, - service, - region, - accountId, - resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId - }; +// ../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js +var require_dist_cjs14 = __commonJS({ + "../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - exports2.parseArn = parseArn; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js -var require_aws = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_isVirtualHostableS3Bucket(), exports2); - tslib_1.__exportStar(require_parseArn(), exports2); - tslib_1.__exportStar(require_partition(), exports2); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + fromArrayBuffer: () => fromArrayBuffer, + fromString: () => fromString + }); + module2.exports = __toCommonJS2(src_exports); + var import_is_array_buffer = require_dist_cjs13(); + var import_buffer = require("buffer"); + var fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => { + if (!(0, import_is_array_buffer.isArrayBuffer)(input)) { + throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); + } + return import_buffer.Buffer.from(input, offset, length); + }, "fromArrayBuffer"); + var fromString = /* @__PURE__ */ __name((input, encoding) => { + if (typeof input !== "string") { + throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); + } + return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input); + }, "fromString"); } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js -var require_booleanEquals = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js"(exports2) { +// ../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js +var require_fromBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.booleanEquals = void 0; - var booleanEquals = (value1, value2) => value1 === value2; - exports2.booleanEquals = booleanEquals; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js -var require_getAttrPathList = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getAttrPathList = void 0; - var types_1 = require_types(); - var getAttrPathList = (path) => { - const parts = path.split("."); - const pathList = []; - for (const part of parts) { - const squareBracketIndex = part.indexOf("["); - if (squareBracketIndex !== -1) { - if (part.indexOf("]") !== part.length - 1) { - throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`); - } - const arrayIndex = part.slice(squareBracketIndex + 1, -1); - if (Number.isNaN(parseInt(arrayIndex))) { - throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`); - } - if (squareBracketIndex !== 0) { - pathList.push(part.slice(0, squareBracketIndex)); - } - pathList.push(arrayIndex); - } else { - pathList.push(part); - } + exports2.fromBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs14(); + var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; + var fromBase642 = (input) => { + if (input.length * 3 % 4 !== 0) { + throw new TypeError(`Incorrect padding on base64 string.`); } - return pathList; + if (!BASE64_REGEX.exec(input)) { + throw new TypeError(`Invalid base64 string.`); + } + const buffer = (0, util_buffer_from_1.fromString)(input, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); }; - exports2.getAttrPathList = getAttrPathList; + exports2.fromBase64 = fromBase642; } }); -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js -var require_getAttr = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getAttr = void 0; - var types_1 = require_types(); - var getAttrPathList_1 = require_getAttrPathList(); - var getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => { - if (typeof acc !== "object") { - throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); - } else if (Array.isArray(acc)) { - return acc[parseInt(index)]; +// ../../../node_modules/@smithy/util-utf8/dist-cjs/index.js +var require_dist_cjs15 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return acc[index]; - }, value); - exports2.getAttr = getAttr; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js -var require_isSet = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isSet = void 0; - var isSet = (value) => value != null; - exports2.isSet = isSet; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js -var require_not = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.not = void 0; - var not = (value) => !value; - exports2.not = not; + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + fromUtf8: () => fromUtf8, + toUint8Array: () => toUint8Array, + toUtf8: () => toUtf8 + }); + module2.exports = __toCommonJS2(src_exports); + var import_util_buffer_from = require_dist_cjs14(); + var fromUtf8 = /* @__PURE__ */ __name((input) => { + const buf = (0, import_util_buffer_from.fromString)(input, "utf8"); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); + }, "fromUtf8"); + var toUint8Array = /* @__PURE__ */ __name((data) => { + if (typeof data === "string") { + return fromUtf8(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + }, "toUint8Array"); + var toUtf8 = /* @__PURE__ */ __name((input) => { + if (typeof input === "string") { + return input; + } + if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { + throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array."); + } + return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); + }, "toUtf8"); } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/abort.js -var require_abort = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/abort.js"(exports2) { +// ../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js +var require_toBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.toBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs14(); + var util_utf8_1 = require_dist_cjs15(); + var toBase642 = (_input) => { + let input; + if (typeof _input === "string") { + input = (0, util_utf8_1.fromUtf8)(_input); + } else { + input = _input; + } + if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { + throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array."); + } + return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64"); + }; + exports2.toBase64 = toBase642; } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/auth.js -var require_auth = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/auth.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HttpAuthLocation = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports2, "HttpAuthLocation", { enumerable: true, get: function() { - return types_1.HttpAuthLocation; - } }); +// ../../../node_modules/@smithy/util-base64/dist-cjs/index.js +var require_dist_cjs16 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport(src_exports, require_fromBase64(), module2.exports); + __reExport(src_exports, require_toBase64(), module2.exports); } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js -var require_blob_types = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js"(exports2) { +// ../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js +var require_getAwsChunkedEncodingStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getAwsChunkedEncodingStream = void 0; + var stream_1 = require("stream"); + var getAwsChunkedEncodingStream2 = (readableStream, options) => { + const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; + const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; + const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; + const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { + } }); + readableStream.on("data", (data) => { + const length = bodyLengthChecker(data) || 0; + awsChunkedEncodingStream.push(`${length.toString(16)}\r +`); + awsChunkedEncodingStream.push(data); + awsChunkedEncodingStream.push("\r\n"); + }); + readableStream.on("end", async () => { + awsChunkedEncodingStream.push(`0\r +`); + if (checksumRequired) { + const checksum = base64Encoder(await digest); + awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r +`); + awsChunkedEncodingStream.push(`\r +`); + } + awsChunkedEncodingStream.push(null); + }); + return awsChunkedEncodingStream; + }; + exports2.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream2; } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js -var require_checksum = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js +var require_dist_cjs17 = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + escapeUri: () => escapeUri, + escapeUriPath: () => escapeUriPath + }); + module2.exports = __toCommonJS2(src_exports); + var escapeUri = /* @__PURE__ */ __name((uri) => ( + // AWS percent-encodes some extra non-standard characters in a URI + encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode) + ), "escapeUri"); + var hexEncode = /* @__PURE__ */ __name((c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, "hexEncode"); + var escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split("/").map(escapeUri).join("/"), "escapeUriPath"); } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/client.js -var require_client = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/client.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// ../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js +var require_dist_cjs18 = __commonJS({ + "../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + buildQueryString: () => buildQueryString + }); + module2.exports = __toCommonJS2(src_exports); + var import_util_uri_escape = require_dist_cjs17(); + function buildQueryString(query) { + const parts = []; + for (let key of Object.keys(query).sort()) { + const value = query[key]; + key = (0, import_util_uri_escape.escapeUri)(key); + if (Array.isArray(value)) { + for (let i = 0, iLen = value.length; i < iLen; i++) { + parts.push(`${key}=${(0, import_util_uri_escape.escapeUri)(value[i])}`); + } + } else { + let qsEntry = key; + if (value || typeof value === "string") { + qsEntry += `=${(0, import_util_uri_escape.escapeUri)(value)}`; + } + parts.push(qsEntry); + } + } + return parts.join("&"); + } + __name(buildQueryString, "buildQueryString"); } }); -// ../../../node_modules/@aws-sdk/types/dist-cjs/command.js -var require_command = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/command.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/connection.js -var require_connection = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/connection.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js -var require_credentials = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js -var require_crypto = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/dns.js -var require_dns = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/dns.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HostAddressType = void 0; - var HostAddressType; - (function(HostAddressType2) { - HostAddressType2["AAAA"] = "AAAA"; - HostAddressType2["A"] = "A"; - })(HostAddressType = exports2.HostAddressType || (exports2.HostAddressType = {})); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/encode.js -var require_encode = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/encode.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js -var require_endpoint = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EndpointURLScheme = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports2, "EndpointURLScheme", { enumerable: true, get: function() { - return types_1.EndpointURLScheme; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js -var require_eventStream = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/extensions/index.js -var require_extensions = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/extensions/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/http.js -var require_http = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/http.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js -var require_AnonymousIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js -var require_AwsCredentialIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js -var require_Identity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js -var require_LoginIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js -var require_TokenIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js -var require_identity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AnonymousIdentity(), exports2); - tslib_1.__exportStar(require_AwsCredentialIdentity(), exports2); - tslib_1.__exportStar(require_Identity(), exports2); - tslib_1.__exportStar(require_LoginIdentity(), exports2); - tslib_1.__exportStar(require_TokenIdentity(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/logger.js -var require_logger = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/logger.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js -var require_middleware = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js -var require_pagination = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/profile.js -var require_profile = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/profile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/request.js -var require_request = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/request.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/response.js -var require_response = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/response.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/retry.js -var require_retry = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/retry.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/serde.js -var require_serde = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/serde.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js -var require_shapes = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/signature.js -var require_signature = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/signature.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/stream.js -var require_stream = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/stream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/token.js -var require_token = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/token.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js -var require_transfer = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RequestHandlerProtocol = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports2, "RequestHandlerProtocol", { enumerable: true, get: function() { - return types_1.RequestHandlerProtocol; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/uri.js -var require_uri = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/uri.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/util.js -var require_util = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/util.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js -var require_waiter = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/index.js -var require_dist_cjs16 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_abort(), exports2); - tslib_1.__exportStar(require_auth(), exports2); - tslib_1.__exportStar(require_blob_types(), exports2); - tslib_1.__exportStar(require_checksum(), exports2); - tslib_1.__exportStar(require_client(), exports2); - tslib_1.__exportStar(require_command(), exports2); - tslib_1.__exportStar(require_connection(), exports2); - tslib_1.__exportStar(require_credentials(), exports2); - tslib_1.__exportStar(require_crypto(), exports2); - tslib_1.__exportStar(require_dns(), exports2); - tslib_1.__exportStar(require_encode(), exports2); - tslib_1.__exportStar(require_endpoint(), exports2); - tslib_1.__exportStar(require_eventStream(), exports2); - tslib_1.__exportStar(require_extensions(), exports2); - tslib_1.__exportStar(require_http(), exports2); - tslib_1.__exportStar(require_identity(), exports2); - tslib_1.__exportStar(require_logger(), exports2); - tslib_1.__exportStar(require_middleware(), exports2); - tslib_1.__exportStar(require_pagination(), exports2); - tslib_1.__exportStar(require_profile(), exports2); - tslib_1.__exportStar(require_request(), exports2); - tslib_1.__exportStar(require_response(), exports2); - tslib_1.__exportStar(require_retry(), exports2); - tslib_1.__exportStar(require_serde(), exports2); - tslib_1.__exportStar(require_shapes(), exports2); - tslib_1.__exportStar(require_signature(), exports2); - tslib_1.__exportStar(require_stream(), exports2); - tslib_1.__exportStar(require_token(), exports2); - tslib_1.__exportStar(require_transfer(), exports2); - tslib_1.__exportStar(require_uri(), exports2); - tslib_1.__exportStar(require_util(), exports2); - tslib_1.__exportStar(require_waiter(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js -var require_parseURL = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parseURL = void 0; - var types_1 = require_dist_cjs16(); - var isIpAddress_1 = require_isIpAddress(); - var DEFAULT_PORTS = { - [types_1.EndpointURLScheme.HTTP]: 80, - [types_1.EndpointURLScheme.HTTPS]: 443 +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js +var require_dist_cjs19 = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var parseURL = (value) => { - const whatwgURL = (() => { - try { - if (value instanceof URL) { - return value; - } - if (typeof value === "object" && "hostname" in value) { - const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; - const url2 = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); - url2.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); - return url2; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + DEFAULT_REQUEST_TIMEOUT: () => DEFAULT_REQUEST_TIMEOUT, + NodeHttp2Handler: () => NodeHttp2Handler, + NodeHttpHandler: () => NodeHttpHandler, + streamCollector: () => streamCollector + }); + module2.exports = __toCommonJS2(src_exports); + var import_protocol_http8 = require_dist_cjs2(); + var import_querystring_builder = require_dist_cjs18(); + var import_http2 = require("http"); + var import_https = require("https"); + var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; + var getTransformedHeaders = /* @__PURE__ */ __name((headers) => { + const transformedHeaders = {}; + for (const name of Object.keys(headers)) { + const headerValues = headers[name]; + transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; + } + return transformedHeaders; + }, "getTransformedHeaders"); + var timing = { + setTimeout: (cb, ms) => setTimeout(cb, ms), + clearTimeout: (timeoutId) => clearTimeout(timeoutId) + }; + var DEFER_EVENT_LISTENER_TIME = 1e3; + var setConnectionTimeout = /* @__PURE__ */ __name((request2, reject, timeoutInMs = 0) => { + if (!timeoutInMs) { + return -1; + } + const registerTimeout = /* @__PURE__ */ __name((offset) => { + const timeoutId = timing.setTimeout(() => { + request2.destroy(); + reject( + Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { + name: "TimeoutError" + }) + ); + }, timeoutInMs - offset); + const doWithSocket = /* @__PURE__ */ __name((socket) => { + if (socket == null ? void 0 : socket.connecting) { + socket.on("connect", () => { + timing.clearTimeout(timeoutId); + }); + } else { + timing.clearTimeout(timeoutId); } - return new URL(value); - } catch (error) { - return null; + }, "doWithSocket"); + if (request2.socket) { + doWithSocket(request2.socket); + } else { + request2.on("socket", doWithSocket); } - })(); - if (!whatwgURL) { - console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); - return null; - } - const urlString = whatwgURL.href; - const { host, hostname, pathname, protocol, search } = whatwgURL; - if (search) { - return null; + }, "registerTimeout"); + if (timeoutInMs < 2e3) { + registerTimeout(0); + return 0; } - const scheme = protocol.slice(0, -1); - if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) { - return null; + return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME); + }, "setConnectionTimeout"); + var DEFER_EVENT_LISTENER_TIME2 = 3e3; + var setSocketKeepAlive = /* @__PURE__ */ __name((request2, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME2) => { + if (keepAlive !== true) { + return -1; } - const isIp = (0, isIpAddress_1.isIpAddress)(hostname); - const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); - const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; - return { - scheme, - authority, - path: pathname, - normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, - isIp - }; - }; - exports2.parseURL = parseURL; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js -var require_stringEquals = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.stringEquals = void 0; - var stringEquals = (value1, value2) => value1 === value2; - exports2.stringEquals = stringEquals; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js -var require_substring = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.substring = void 0; - var substring = (input, start, stop, reverse) => { - if (start >= stop || input.length < stop) { - return null; - } - if (!reverse) { - return input.substring(start, stop); - } - return input.substring(input.length - stop, input.length - start); - }; - exports2.substring = substring; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js -var require_uriEncode = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.uriEncode = void 0; - var uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`); - exports2.uriEncode = uriEncode; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js -var require_lib = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.aws = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - exports2.aws = tslib_1.__importStar(require_aws()); - tslib_1.__exportStar(require_booleanEquals(), exports2); - tslib_1.__exportStar(require_getAttr(), exports2); - tslib_1.__exportStar(require_isSet(), exports2); - tslib_1.__exportStar(require_isValidHostLabel(), exports2); - tslib_1.__exportStar(require_not(), exports2); - tslib_1.__exportStar(require_parseURL(), exports2); - tslib_1.__exportStar(require_stringEquals(), exports2); - tslib_1.__exportStar(require_substring(), exports2); - tslib_1.__exportStar(require_uriEncode(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js -var require_evaluateTemplate = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateTemplate = void 0; - var lib_1 = require_lib(); - var evaluateTemplate = (template, options) => { - const evaluatedTemplateArr = []; - const templateContext = { - ...options.endpointParams, - ...options.referenceRecord - }; - let currentIndex = 0; - while (currentIndex < template.length) { - const openingBraceIndex = template.indexOf("{", currentIndex); - if (openingBraceIndex === -1) { - evaluatedTemplateArr.push(template.slice(currentIndex)); - break; - } - evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); - const closingBraceIndex = template.indexOf("}", openingBraceIndex); - if (closingBraceIndex === -1) { - evaluatedTemplateArr.push(template.slice(openingBraceIndex)); - break; - } - if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { - evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); - currentIndex = closingBraceIndex + 2; + const registerListener = /* @__PURE__ */ __name(() => { + if (request2.socket) { + request2.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + } else { + request2.on("socket", (socket) => { + socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + }); } - const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); - if (parameterName.includes("#")) { - const [refName, attrName] = parameterName.split("#"); - evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName)); + }, "registerListener"); + if (deferTimeMs === 0) { + registerListener(); + return 0; + } + return timing.setTimeout(registerListener, deferTimeMs); + }, "setSocketKeepAlive"); + var DEFER_EVENT_LISTENER_TIME3 = 3e3; + var setSocketTimeout = /* @__PURE__ */ __name((request2, reject, timeoutInMs = 0) => { + const registerTimeout = /* @__PURE__ */ __name((offset) => { + const timeout = timeoutInMs - offset; + const onTimeout2 = /* @__PURE__ */ __name(() => { + request2.destroy(); + reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" })); + }, "onTimeout"); + if (request2.socket) { + request2.socket.setTimeout(timeout, onTimeout2); } else { - evaluatedTemplateArr.push(templateContext[parameterName]); + request2.setTimeout(timeout, onTimeout2); } - currentIndex = closingBraceIndex + 1; + }, "registerTimeout"); + if (0 < timeoutInMs && timeoutInMs < 6e3) { + registerTimeout(0); + return 0; } - return evaluatedTemplateArr.join(""); - }; - exports2.evaluateTemplate = evaluateTemplate; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js -var require_getReferenceValue = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getReferenceValue = void 0; - var getReferenceValue = ({ ref }, options) => { - const referenceRecord = { - ...options.endpointParams, - ...options.referenceRecord - }; - return referenceRecord[ref]; - }; - exports2.getReferenceValue = getReferenceValue; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js -var require_evaluateExpression = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateExpression = void 0; - var types_1 = require_types(); - var callFunction_1 = require_callFunction(); - var evaluateTemplate_1 = require_evaluateTemplate(); - var getReferenceValue_1 = require_getReferenceValue(); - var evaluateExpression = (obj, keyName, options) => { - if (typeof obj === "string") { - return (0, evaluateTemplate_1.evaluateTemplate)(obj, options); - } else if (obj["fn"]) { - return (0, callFunction_1.callFunction)(obj, options); - } else if (obj["ref"]) { - return (0, getReferenceValue_1.getReferenceValue)(obj, options); + return timing.setTimeout( + registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME3), + DEFER_EVENT_LISTENER_TIME3 + ); + }, "setSocketTimeout"); + var import_stream = require("stream"); + var MIN_WAIT_TIME = 1e3; + async function writeRequestBody(httpRequest, request2, maxContinueTimeoutMs = MIN_WAIT_TIME) { + const headers = request2.headers ?? {}; + const expect = headers["Expect"] || headers["expect"]; + let timeoutId = -1; + let sendBody = true; + if (expect === "100-continue") { + sendBody = await Promise.race([ + new Promise((resolve) => { + timeoutId = Number(timing.setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); + }), + new Promise((resolve) => { + httpRequest.on("continue", () => { + timing.clearTimeout(timeoutId); + resolve(true); + }); + httpRequest.on("response", () => { + timing.clearTimeout(timeoutId); + resolve(false); + }); + httpRequest.on("error", () => { + timing.clearTimeout(timeoutId); + resolve(false); + }); + }) + ]); } - throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`); - }; - exports2.evaluateExpression = evaluateExpression; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js -var require_callFunction = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.callFunction = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var lib = tslib_1.__importStar(require_lib()); - var evaluateExpression_1 = require_evaluateExpression(); - var callFunction = ({ fn, argv }, options) => { - const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, "arg", options)); - return fn.split(".").reduce((acc, key) => acc[key], lib)(...evaluatedArgs); - }; - exports2.callFunction = callFunction; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js -var require_evaluateCondition = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateCondition = void 0; - var debug_1 = require_debug(); - var types_1 = require_types(); - var callFunction_1 = require_callFunction(); - var evaluateCondition = ({ assign, ...fnArgs }, options) => { - var _a, _b; - if (assign && assign in options.referenceRecord) { - throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`); + if (sendBody) { + writeBody(httpRequest, request2.body); } - const value = (0, callFunction_1.callFunction)(fnArgs, options); - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`); - return { - result: value === "" ? true : !!value, - ...assign != null && { toAssign: { name: assign, value } } - }; - }; - exports2.evaluateCondition = evaluateCondition; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js -var require_evaluateConditions = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateConditions = void 0; - var debug_1 = require_debug(); - var evaluateCondition_1 = require_evaluateCondition(); - var evaluateConditions = (conditions = [], options) => { - var _a, _b; - const conditionsReferenceRecord = {}; - for (const condition of conditions) { - const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, { - ...options, - referenceRecord: { - ...options.referenceRecord, - ...conditionsReferenceRecord - } - }); - if (!result) { - return { result }; + } + __name(writeRequestBody, "writeRequestBody"); + function writeBody(httpRequest, body) { + if (body instanceof import_stream.Readable) { + body.pipe(httpRequest); + return; + } + if (body) { + if (Buffer.isBuffer(body) || typeof body === "string") { + httpRequest.end(body); + return; } - if (toAssign) { - conditionsReferenceRecord[toAssign.name] = toAssign.value; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`); + const uint8 = body; + if (typeof uint8 === "object" && uint8.buffer && typeof uint8.byteOffset === "number" && typeof uint8.byteLength === "number") { + httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength)); + return; } + httpRequest.end(Buffer.from(body)); + return; } - return { result: true, referenceRecord: conditionsReferenceRecord }; - }; - exports2.evaluateConditions = evaluateConditions; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js -var require_getEndpointHeaders = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointHeaders = void 0; - var types_1 = require_types(); - var evaluateExpression_1 = require_evaluateExpression(); - var getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({ - ...acc, - [headerKey]: headerVal.map((headerValEntry) => { - const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, "Header value entry", options); - if (typeof processedExpr !== "string") { - throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`); - } - return processedExpr; - }) - }), {}); - exports2.getEndpointHeaders = getEndpointHeaders; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js -var require_getEndpointProperty = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointProperty = void 0; - var types_1 = require_types(); - var evaluateTemplate_1 = require_evaluateTemplate(); - var getEndpointProperties_1 = require_getEndpointProperties(); - var getEndpointProperty = (property, options) => { - if (Array.isArray(property)) { - return property.map((propertyEntry) => (0, exports2.getEndpointProperty)(propertyEntry, options)); - } - switch (typeof property) { - case "string": - return (0, evaluateTemplate_1.evaluateTemplate)(property, options); - case "object": - if (property === null) { - throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`); + httpRequest.end(); + } + __name(writeBody, "writeBody"); + var DEFAULT_REQUEST_TIMEOUT = 0; + var _NodeHttpHandler = class _NodeHttpHandler2 { + constructor(options) { + this.socketWarningTimestamp = 0; + this.metadata = { handlerProtocol: "http/1.1" }; + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((_options) => { + resolve(this.resolveDefaultConfig(_options)); + }).catch(reject); + } else { + resolve(this.resolveDefaultConfig(options)); } - return (0, getEndpointProperties_1.getEndpointProperties)(property, options); - case "boolean": - return property; - default: - throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`); + }); } - }; - exports2.getEndpointProperty = getEndpointProperty; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js -var require_getEndpointProperties = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointProperties = void 0; - var getEndpointProperty_1 = require_getEndpointProperty(); - var getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({ - ...acc, - [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options) - }), {}); - exports2.getEndpointProperties = getEndpointProperties; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js -var require_getEndpointUrl = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointUrl = void 0; - var types_1 = require_types(); - var evaluateExpression_1 = require_evaluateExpression(); - var getEndpointUrl = (endpointUrl, options) => { - const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, "Endpoint URL", options); - if (typeof expression === "string") { - try { - return new URL(expression); - } catch (error) { - console.error(`Failed to construct URL with ${expression}`, error); - throw error; + /** + * @returns the input if it is an HttpHandler of any class, + * or instantiates a new instance of this handler. + */ + static create(instanceOrOptions) { + if (typeof (instanceOrOptions == null ? void 0 : instanceOrOptions.handle) === "function") { + return instanceOrOptions; } + return new _NodeHttpHandler2(instanceOrOptions); } - throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`); - }; - exports2.getEndpointUrl = getEndpointUrl; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js -var require_evaluateEndpointRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateEndpointRule = void 0; - var debug_1 = require_debug(); - var evaluateConditions_1 = require_evaluateConditions(); - var getEndpointHeaders_1 = require_getEndpointHeaders(); - var getEndpointProperties_1 = require_getEndpointProperties(); - var getEndpointUrl_1 = require_getEndpointUrl(); - var evaluateEndpointRule = (endpointRule, options) => { - var _a, _b; - const { conditions, endpoint } = endpointRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; - } - const endpointRuleOptions = { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - }; - const { url: url2, properties, headers } = endpoint; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`); - return { - ...headers != void 0 && { - headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions) - }, - ...properties != void 0 && { - properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions) - }, - url: (0, getEndpointUrl_1.getEndpointUrl)(url2, endpointRuleOptions) - }; - }; - exports2.evaluateEndpointRule = evaluateEndpointRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js -var require_evaluateErrorRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateErrorRule = void 0; - var types_1 = require_types(); - var evaluateConditions_1 = require_evaluateConditions(); - var evaluateExpression_1 = require_evaluateExpression(); - var evaluateErrorRule = (errorRule, options) => { - const { conditions, error } = errorRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; + /** + * @internal + * + * @param agent - http(s) agent in use by the NodeHttpHandler instance. + * @param socketWarningTimestamp - last socket usage check timestamp. + * @param logger - channel for the warning. + * @returns timestamp of last emitted warning. + */ + static checkSocketUsage(agent, socketWarningTimestamp, logger = console) { + var _a, _b, _c; + const { sockets, requests, maxSockets } = agent; + if (typeof maxSockets !== "number" || maxSockets === Infinity) { + return socketWarningTimestamp; + } + const interval = 15e3; + if (Date.now() - interval < socketWarningTimestamp) { + return socketWarningTimestamp; + } + if (sockets && requests) { + for (const origin in sockets) { + const socketsInUse = ((_a = sockets[origin]) == null ? void 0 : _a.length) ?? 0; + const requestsEnqueued = ((_b = requests[origin]) == null ? void 0 : _b.length) ?? 0; + if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) { + (_c = logger == null ? void 0 : logger.warn) == null ? void 0 : _c.call( + logger, + `@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued. +See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html +or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.` + ); + return Date.now(); + } + } + } + return socketWarningTimestamp; } - throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, "Error", { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - })); - }; - exports2.evaluateErrorRule = evaluateErrorRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js -var require_evaluateTreeRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateTreeRule = void 0; - var evaluateConditions_1 = require_evaluateConditions(); - var evaluateRules_1 = require_evaluateRules(); - var evaluateTreeRule = (treeRule, options) => { - const { conditions, rules } = treeRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; + resolveDefaultConfig(options) { + const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {}; + const keepAlive = true; + const maxSockets = 50; + return { + connectionTimeout, + requestTimeout: requestTimeout ?? socketTimeout, + httpAgent: (() => { + if (httpAgent instanceof import_http2.Agent || typeof (httpAgent == null ? void 0 : httpAgent.destroy) === "function") { + return httpAgent; + } + return new import_http2.Agent({ keepAlive, maxSockets, ...httpAgent }); + })(), + httpsAgent: (() => { + if (httpsAgent instanceof import_https.Agent || typeof (httpsAgent == null ? void 0 : httpsAgent.destroy) === "function") { + return httpsAgent; + } + return new import_https.Agent({ keepAlive, maxSockets, ...httpsAgent }); + })(), + logger: console + }; } - return (0, evaluateRules_1.evaluateRules)(rules, { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - }); - }; - exports2.evaluateTreeRule = evaluateTreeRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js -var require_evaluateRules = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.evaluateRules = void 0; - var types_1 = require_types(); - var evaluateEndpointRule_1 = require_evaluateEndpointRule(); - var evaluateErrorRule_1 = require_evaluateErrorRule(); - var evaluateTreeRule_1 = require_evaluateTreeRule(); - var evaluateRules = (rules, options) => { - for (const rule of rules) { - if (rule.type === "endpoint") { - const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options); - if (endpointOrUndefined) { - return endpointOrUndefined; + destroy() { + var _a, _b, _c, _d; + (_b = (_a = this.config) == null ? void 0 : _a.httpAgent) == null ? void 0 : _b.destroy(); + (_d = (_c = this.config) == null ? void 0 : _c.httpsAgent) == null ? void 0 : _d.destroy(); + } + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + } + return new Promise((_resolve, _reject) => { + let writeRequestBodyPromise = void 0; + const timeouts = []; + const resolve = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + timeouts.forEach(timing.clearTimeout); + _resolve(arg); + }, "resolve"); + const reject = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + timeouts.forEach(timing.clearTimeout); + _reject(arg); + }, "reject"); + if (!this.config) { + throw new Error("Node HTTP request handler config is not resolved"); } - } else if (rule.type === "error") { - (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options); - } else if (rule.type === "tree") { - const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options); - if (endpointOrUndefined) { - return endpointOrUndefined; + if (abortSignal == null ? void 0 : abortSignal.aborted) { + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; } - } else { - throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`); - } + const isSSL = request2.protocol === "https:"; + const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent; + timeouts.push( + timing.setTimeout( + () => { + this.socketWarningTimestamp = _NodeHttpHandler2.checkSocketUsage( + agent, + this.socketWarningTimestamp, + this.config.logger + ); + }, + this.config.socketAcquisitionWarningTimeout ?? (this.config.requestTimeout ?? 2e3) + (this.config.connectionTimeout ?? 1e3) + ) + ); + const queryString = (0, import_querystring_builder.buildQueryString)(request2.query || {}); + let auth = void 0; + if (request2.username != null || request2.password != null) { + const username = request2.username ?? ""; + const password = request2.password ?? ""; + auth = `${username}:${password}`; + } + let path = request2.path; + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + let hostname = request2.hostname ?? ""; + if (hostname[0] === "[" && hostname.endsWith("]")) { + hostname = request2.hostname.slice(1, -1); + } else { + hostname = request2.hostname; + } + const nodeHttpsOptions = { + headers: request2.headers, + host: hostname, + method: request2.method, + path, + port: request2.port, + agent, + auth + }; + const requestFunc = isSSL ? import_https.request : import_http2.request; + const req = requestFunc(nodeHttpsOptions, (res) => { + const httpResponse = new import_protocol_http8.HttpResponse({ + statusCode: res.statusCode || -1, + reason: res.statusMessage, + headers: getTransformedHeaders(res.headers), + body: res + }); + resolve({ response: httpResponse }); + }); + req.on("error", (err) => { + if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) { + reject(Object.assign(err, { name: "TimeoutError" })); + } else { + reject(err); + } + }); + if (abortSignal) { + const onAbort = /* @__PURE__ */ __name(() => { + req.destroy(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + }, "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + const signal = abortSignal; + signal.addEventListener("abort", onAbort, { once: true }); + req.once("close", () => signal.removeEventListener("abort", onAbort)); + } else { + abortSignal.onabort = onAbort; + } + } + timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout)); + timeouts.push(setSocketTimeout(req, reject, this.config.requestTimeout)); + const httpAgent = nodeHttpsOptions.agent; + if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { + timeouts.push( + setSocketKeepAlive(req, { + // @ts-expect-error keepAlive is not public on httpAgent. + keepAlive: httpAgent.keepAlive, + // @ts-expect-error keepAliveMsecs is not public on httpAgent. + keepAliveMsecs: httpAgent.keepAliveMsecs + }) + ); + } + writeRequestBodyPromise = writeRequestBody(req, request2, this.config.requestTimeout).catch((e) => { + timeouts.forEach(timing.clearTimeout); + return _reject(e); + }); + }); + } + updateHttpClientConfig(key, value) { + this.config = void 0; + this.configProvider = this.configProvider.then((config) => { + return { + ...config, + [key]: value + }; + }); + } + httpHandlerConfigs() { + return this.config ?? {}; } - throw new types_1.EndpointError(`Rules evaluation failed`); }; - exports2.evaluateRules = evaluateRules; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js -var require_utils = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_evaluateRules(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js -var require_resolveEndpoint = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveEndpoint = void 0; - var debug_1 = require_debug(); - var types_1 = require_types(); - var utils_1 = require_utils(); - var resolveEndpoint = (ruleSetObject, options) => { - var _a, _b, _c, _d, _e, _f; - const { endpointParams, logger } = options; - const { parameters, rules } = ruleSetObject; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, `${debug_1.debugId} Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`); - const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]); - if (paramsWithDefault.length > 0) { - for (const [paramKey, paramDefaultValue] of paramsWithDefault) { - endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue; - } + __name(_NodeHttpHandler, "NodeHttpHandler"); + var NodeHttpHandler = _NodeHttpHandler; + var import_http22 = require("http2"); + var import_http23 = __toESM2(require("http2")); + var _NodeHttp2ConnectionPool = class _NodeHttp2ConnectionPool { + constructor(sessions) { + this.sessions = []; + this.sessions = sessions ?? []; } - const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k); - for (const requiredParam of requiredParams) { - if (endpointParams[requiredParam] == null) { - throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`); + poll() { + if (this.sessions.length > 0) { + return this.sessions.shift(); } } - const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} }); - if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) { - try { - const givenEndpoint = new URL(options.endpointParams.Endpoint); - const { protocol, port } = givenEndpoint; - endpoint.url.protocol = protocol; - endpoint.url.port = port; - } catch (e) { + offerLast(session) { + this.sessions.push(session); + } + contains(session) { + return this.sessions.includes(session); + } + remove(session) { + this.sessions = this.sessions.filter((s) => s !== session); + } + [Symbol.iterator]() { + return this.sessions[Symbol.iterator](); + } + destroy(connection) { + for (const session of this.sessions) { + if (session === connection) { + if (!session.destroyed) { + session.destroy(); + } + } } } - (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${debug_1.debugId} Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`); - return endpoint; }; - exports2.resolveEndpoint = resolveEndpoint; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js -var require_dist_cjs17 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_partition(), exports2); - tslib_1.__exportStar(require_isIpAddress(), exports2); - tslib_1.__exportStar(require_resolveEndpoint(), exports2); - tslib_1.__exportStar(require_types(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js -var require_constants = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UA_ESCAPE_CHAR = exports2.UA_VALUE_ESCAPE_REGEX = exports2.UA_NAME_ESCAPE_REGEX = exports2.UA_NAME_SEPARATOR = exports2.SPACE = exports2.X_AMZ_USER_AGENT = exports2.USER_AGENT = void 0; - exports2.USER_AGENT = "user-agent"; - exports2.X_AMZ_USER_AGENT = "x-amz-user-agent"; - exports2.SPACE = " "; - exports2.UA_NAME_SEPARATOR = "/"; - exports2.UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; - exports2.UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; - exports2.UA_ESCAPE_CHAR = "-"; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js -var require_user_agent_middleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUserAgentPlugin = exports2.getUserAgentMiddlewareOptions = exports2.userAgentMiddleware = void 0; - var util_endpoints_1 = require_dist_cjs17(); - var protocol_http_1 = require_dist_cjs2(); - var constants_1 = require_constants(); - var userAgentMiddleware = (options) => (next, context) => async (args) => { - var _a, _b; - const { request: request2 } = args; - if (!protocol_http_1.HttpRequest.isInstance(request2)) - return next(args); - const { headers } = request2; - const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || []; - const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent); - const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || []; - const prefix = (0, util_endpoints_1.getUserAgentPrefix)(); - const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(constants_1.SPACE); - const normalUAValue = [ - ...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")), - ...customUserAgent - ].join(constants_1.SPACE); - if (options.runtime !== "browser") { - if (normalUAValue) { - headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT] ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}` : normalUAValue; + __name(_NodeHttp2ConnectionPool, "NodeHttp2ConnectionPool"); + var NodeHttp2ConnectionPool = _NodeHttp2ConnectionPool; + var _NodeHttp2ConnectionManager = class _NodeHttp2ConnectionManager { + constructor(config) { + this.sessionCache = /* @__PURE__ */ new Map(); + this.config = config; + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrency must be greater than zero."); } - headers[constants_1.USER_AGENT] = sdkUserAgentValue; - } else { - headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue; } - return next({ - ...args, - request: request2 - }); - }; - exports2.userAgentMiddleware = userAgentMiddleware; - var escapeUserAgent = (userAgentPair) => { - var _a; - const name = userAgentPair[0].split(constants_1.UA_NAME_SEPARATOR).map((part) => part.replace(constants_1.UA_NAME_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR)).join(constants_1.UA_NAME_SEPARATOR); - const version2 = (_a = userAgentPair[1]) === null || _a === void 0 ? void 0 : _a.replace(constants_1.UA_VALUE_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR); - const prefixSeparatorIndex = name.indexOf(constants_1.UA_NAME_SEPARATOR); - const prefix = name.substring(0, prefixSeparatorIndex); - let uaName = name.substring(prefixSeparatorIndex + 1); - if (prefix === "api") { - uaName = uaName.toLowerCase(); + lease(requestContext, connectionConfiguration) { + const url2 = this.getUrlString(requestContext); + const existingPool = this.sessionCache.get(url2); + if (existingPool) { + const existingSession = existingPool.poll(); + if (existingSession && !this.config.disableConcurrency) { + return existingSession; + } + } + const session = import_http23.default.connect(url2); + if (this.config.maxConcurrency) { + session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { + if (err) { + throw new Error( + "Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString() + ); + } + }); + } + session.unref(); + const destroySessionCb = /* @__PURE__ */ __name(() => { + session.destroy(); + this.deleteSession(url2, session); + }, "destroySessionCb"); + session.on("goaway", destroySessionCb); + session.on("error", destroySessionCb); + session.on("frameError", destroySessionCb); + session.on("close", () => this.deleteSession(url2, session)); + if (connectionConfiguration.requestTimeout) { + session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb); + } + const connectionPool = this.sessionCache.get(url2) || new NodeHttp2ConnectionPool(); + connectionPool.offerLast(session); + this.sessionCache.set(url2, connectionPool); + return session; } - return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { - switch (index) { - case 0: - return item; - case 1: - return `${acc}/${item}`; - default: - return `${acc}#${item}`; + /** + * Delete a session from the connection pool. + * @param authority The authority of the session to delete. + * @param session The session to delete. + */ + deleteSession(authority, session) { + const existingConnectionPool = this.sessionCache.get(authority); + if (!existingConnectionPool) { + return; } - }, ""); - }; - exports2.getUserAgentMiddlewareOptions = { - name: "getUserAgentMiddleware", - step: "build", - priority: "low", - tags: ["SET_USER_AGENT", "USER_AGENT"], - override: true - }; - var getUserAgentPlugin = (config) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports2.userAgentMiddleware)(config), exports2.getUserAgentMiddlewareOptions); + if (!existingConnectionPool.contains(session)) { + return; + } + existingConnectionPool.remove(session); + this.sessionCache.set(authority, existingConnectionPool); } - }); - exports2.getUserAgentPlugin = getUserAgentPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js -var require_dist_cjs18 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_configurations(), exports2); - tslib_1.__exportStar(require_user_agent_middleware(), exports2); - } -}); - -// ../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js -var require_dist_cjs19 = __commonJS({ - "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + release(requestContext, session) { + var _a; + const cacheKey = this.getUrlString(requestContext); + (_a = this.sessionCache.get(cacheKey)) == null ? void 0 : _a.offerLast(session); } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - SelectorType: () => SelectorType, - booleanSelector: () => booleanSelector, - numberSelector: () => numberSelector - }); - module2.exports = __toCommonJS2(src_exports); - var booleanSelector = /* @__PURE__ */ __name((obj, key, type) => { - if (!(key in obj)) - return void 0; - if (obj[key] === "true") - return true; - if (obj[key] === "false") - return false; - throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); - }, "booleanSelector"); - var numberSelector = /* @__PURE__ */ __name((obj, key, type) => { - if (!(key in obj)) - return void 0; - const numberValue = parseInt(obj[key], 10); - if (Number.isNaN(numberValue)) { - throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`); + destroy() { + for (const [key, connectionPool] of this.sessionCache) { + for (const session of connectionPool) { + if (!session.destroyed) { + session.destroy(); + } + connectionPool.remove(session); + } + this.sessionCache.delete(key); + } } - return numberValue; - }, "numberSelector"); - var SelectorType = /* @__PURE__ */ ((SelectorType2) => { - SelectorType2["ENV"] = "env"; - SelectorType2["CONFIG"] = "shared config entry"; - return SelectorType2; - })(SelectorType || {}); - } -}); - -// ../../../node_modules/@smithy/config-resolver/node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs20 = __commonJS({ - "../../../node_modules/@smithy/config-resolver/node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + setMaxConcurrentStreams(maxConcurrentStreams) { + if (maxConcurrentStreams && maxConcurrentStreams <= 0) { + throw new RangeError("maxConcurrentStreams must be greater than zero."); + } + this.config.maxConcurrency = maxConcurrentStreams; } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - getSmithyContext: () => getSmithyContext, - normalizeProvider: () => normalizeProvider - }); - module2.exports = __toCommonJS2(src_exports); - var import_types = require_dist_cjs(); - var getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); - var normalizeProvider = /* @__PURE__ */ __name((input) => { - if (typeof input === "function") - return input; - const promisified = Promise.resolve(input); - return () => promisified; - }, "normalizeProvider"); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/index.js -var require_dist_cjs21 = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + setDisableConcurrentStreams(disableConcurrentStreams) { + this.config.disableConcurrency = disableConcurrentStreams; + } + getUrlString(request2) { + return request2.destination.toString(); } - return to; }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - CONFIG_USE_DUALSTACK_ENDPOINT: () => CONFIG_USE_DUALSTACK_ENDPOINT, - CONFIG_USE_FIPS_ENDPOINT: () => CONFIG_USE_FIPS_ENDPOINT, - DEFAULT_USE_DUALSTACK_ENDPOINT: () => DEFAULT_USE_DUALSTACK_ENDPOINT, - DEFAULT_USE_FIPS_ENDPOINT: () => DEFAULT_USE_FIPS_ENDPOINT, - ENV_USE_DUALSTACK_ENDPOINT: () => ENV_USE_DUALSTACK_ENDPOINT, - ENV_USE_FIPS_ENDPOINT: () => ENV_USE_FIPS_ENDPOINT, - NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS, - NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS, - NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, - NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, - REGION_ENV_NAME: () => REGION_ENV_NAME, - REGION_INI_NAME: () => REGION_INI_NAME, - getRegionInfo: () => getRegionInfo, - resolveCustomEndpointsConfig: () => resolveCustomEndpointsConfig, - resolveEndpointsConfig: () => resolveEndpointsConfig, - resolveRegionConfig: () => resolveRegionConfig - }); - module2.exports = __toCommonJS2(src_exports); - var import_util_config_provider = require_dist_cjs19(); - var ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; - var CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; - var DEFAULT_USE_DUALSTACK_ENDPOINT = false; - var NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.ENV), - configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.CONFIG), - default: false - }; - var ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; - var CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; - var DEFAULT_USE_FIPS_ENDPOINT = false; - var NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.ENV), - configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.CONFIG), - default: false - }; - var import_util_middleware = require_dist_cjs20(); - var resolveCustomEndpointsConfig = /* @__PURE__ */ __name((input) => { - const { endpoint, urlParser } = input; - return { - ...input, - tls: input.tls ?? true, - endpoint: (0, import_util_middleware.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), - isCustomEndpoint: true, - useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(input.useDualstackEndpoint ?? false) - }; - }, "resolveCustomEndpointsConfig"); - var getEndpointFromRegion = /* @__PURE__ */ __name(async (input) => { - const { tls = true } = input; - const region = await input.region(); - const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); - if (!dnsHostRegex.test(region)) { - throw new Error("Invalid region in client config"); - } - const useDualstackEndpoint = await input.useDualstackEndpoint(); - const useFipsEndpoint = await input.useFipsEndpoint(); - const { hostname } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {}; - if (!hostname) { - throw new Error("Cannot resolve hostname from client config"); - } - return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); - }, "getEndpointFromRegion"); - var resolveEndpointsConfig = /* @__PURE__ */ __name((input) => { - const useDualstackEndpoint = (0, import_util_middleware.normalizeProvider)(input.useDualstackEndpoint ?? false); - const { endpoint, useFipsEndpoint, urlParser } = input; - return { - ...input, - tls: input.tls ?? true, - endpoint: endpoint ? (0, import_util_middleware.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }), - isCustomEndpoint: !!endpoint, - useDualstackEndpoint - }; - }, "resolveEndpointsConfig"); - var REGION_ENV_NAME = "AWS_REGION"; - var REGION_INI_NAME = "region"; - var NODE_REGION_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[REGION_ENV_NAME], - configFileSelector: (profile) => profile[REGION_INI_NAME], - default: () => { - throw new Error("Region is missing"); - } - }; - var NODE_REGION_CONFIG_FILE_OPTIONS = { - preferredFile: "credentials" - }; - var isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")), "isFipsRegion"); - var getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region, "getRealRegion"); - var resolveRegionConfig = /* @__PURE__ */ __name((input) => { - const { region, useFipsEndpoint } = input; - if (!region) { - throw new Error("Region is missing"); - } - return { - ...input, - region: async () => { - if (typeof region === "string") { - return getRealRegion(region); - } - const providedRegion = await region(); - return getRealRegion(providedRegion); - }, - useFipsEndpoint: async () => { - const providedRegion = typeof region === "string" ? region : await region(); - if (isFipsRegion(providedRegion)) { - return true; + __name(_NodeHttp2ConnectionManager, "NodeHttp2ConnectionManager"); + var NodeHttp2ConnectionManager = _NodeHttp2ConnectionManager; + var _NodeHttp2Handler = class _NodeHttp2Handler2 { + constructor(options) { + this.metadata = { handlerProtocol: "h2" }; + this.connectionManager = new NodeHttp2ConnectionManager({}); + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((opts) => { + resolve(opts || {}); + }).catch(reject); + } else { + resolve(options || {}); } - return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); - } - }; - }, "resolveRegionConfig"); - var getHostnameFromVariants = /* @__PURE__ */ __name((variants = [], { useFipsEndpoint, useDualstackEndpoint }) => { - var _a; - return (_a = variants.find( - ({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack") - )) == null ? void 0 : _a.hostname; - }, "getHostnameFromVariants"); - var getResolvedHostname = /* @__PURE__ */ __name((resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0, "getResolvedHostname"); - var getResolvedPartition = /* @__PURE__ */ __name((region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws", "getResolvedPartition"); - var getResolvedSigningRegion = /* @__PURE__ */ __name((hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { - if (signingRegion) { - return signingRegion; - } else if (useFipsEndpoint) { - const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); - const regionRegexmatchArray = hostname.match(regionRegexJs); - if (regionRegexmatchArray) { - return regionRegexmatchArray[0].slice(1, -1); + }); + } + /** + * @returns the input if it is an HttpHandler of any class, + * or instantiates a new instance of this handler. + */ + static create(instanceOrOptions) { + if (typeof (instanceOrOptions == null ? void 0 : instanceOrOptions.handle) === "function") { + return instanceOrOptions; } + return new _NodeHttp2Handler2(instanceOrOptions); } - }, "getResolvedSigningRegion"); - var getRegionInfo = /* @__PURE__ */ __name((region, { - useFipsEndpoint = false, - useDualstackEndpoint = false, - signingService, - regionHash, - partitionHash - }) => { - var _a, _b, _c, _d, _e; - const partition = getResolvedPartition(region, { partitionHash }); - const resolvedRegion = region in regionHash ? region : ((_a = partitionHash[partition]) == null ? void 0 : _a.endpoint) ?? region; - const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; - const regionHostname = getHostnameFromVariants((_b = regionHash[resolvedRegion]) == null ? void 0 : _b.variants, hostnameOptions); - const partitionHostname = getHostnameFromVariants((_c = partitionHash[partition]) == null ? void 0 : _c.variants, hostnameOptions); - const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname }); - if (hostname === void 0) { - throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); + destroy() { + this.connectionManager.destroy(); } - const signingRegion = getResolvedSigningRegion(hostname, { - signingRegion: (_d = regionHash[resolvedRegion]) == null ? void 0 : _d.signingRegion, - regionRegex: partitionHash[partition].regionRegex, - useFipsEndpoint - }); - return { - partition, - signingService, - hostname, - ...signingRegion && { signingRegion }, - ...((_e = regionHash[resolvedRegion]) == null ? void 0 : _e.signingService) && { - signingService: regionHash[resolvedRegion].signingService + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false); + if (this.config.maxConcurrentStreams) { + this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams); + } } - }; - }, "getRegionInfo"); - } -}); - -// ../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js -var require_dist_cjs22 = __commonJS({ - "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - contentLengthMiddleware: () => contentLengthMiddleware, - contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions, - getContentLengthPlugin: () => getContentLengthPlugin - }); - module2.exports = __toCommonJS2(src_exports); - var import_protocol_http = require_dist_cjs2(); - var CONTENT_LENGTH_HEADER = "content-length"; - function contentLengthMiddleware(bodyLengthChecker) { - return (next) => async (args) => { - const request2 = args.request; - if (import_protocol_http.HttpRequest.isInstance(request2)) { - const { body, headers } = request2; - if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { - try { - const length = bodyLengthChecker(body); - request2.headers = { - ...request2.headers, - [CONTENT_LENGTH_HEADER]: String(length) - }; - } catch (error) { + const { requestTimeout, disableConcurrentStreams } = this.config; + return new Promise((_resolve, _reject) => { + var _a; + let fulfilled = false; + let writeRequestBodyPromise = void 0; + const resolve = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }, "resolve"); + const reject = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }, "reject"); + if (abortSignal == null ? void 0 : abortSignal.aborted) { + fulfilled = true; + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; + } + const { hostname, method, port, protocol, query } = request2; + let auth = ""; + if (request2.username != null || request2.password != null) { + const username = request2.username ?? ""; + const password = request2.password ?? ""; + auth = `${username}:${password}@`; + } + const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : ""}`; + const requestContext = { destination: new URL(authority) }; + const session = this.connectionManager.lease(requestContext, { + requestTimeout: (_a = this.config) == null ? void 0 : _a.sessionTimeout, + disableConcurrentStreams: disableConcurrentStreams || false + }); + const rejectWithDestroy = /* @__PURE__ */ __name((err) => { + if (disableConcurrentStreams) { + this.destroySession(session); } + fulfilled = true; + reject(err); + }, "rejectWithDestroy"); + const queryString = (0, import_querystring_builder.buildQueryString)(query || {}); + let path = request2.path; + if (queryString) { + path += `?${queryString}`; } - } - return next({ - ...args, - request: request2 - }); - }; - } - __name(contentLengthMiddleware, "contentLengthMiddleware"); - var contentLengthMiddlewareOptions = { - step: "build", - tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], - name: "contentLengthMiddleware", - override: true - }; - var getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({ - applyToStack: (clientStack) => { - clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions); + if (request2.fragment) { + path += `#${request2.fragment}`; + } + const req = session.request({ + ...request2.headers, + [import_http22.constants.HTTP2_HEADER_PATH]: path, + [import_http22.constants.HTTP2_HEADER_METHOD]: method + }); + session.ref(); + req.on("response", (headers) => { + const httpResponse = new import_protocol_http8.HttpResponse({ + statusCode: headers[":status"] || -1, + headers: getTransformedHeaders(headers), + body: req + }); + fulfilled = true; + resolve({ response: httpResponse }); + if (disableConcurrentStreams) { + session.close(); + this.connectionManager.deleteSession(authority, session); + } + }); + if (requestTimeout) { + req.setTimeout(requestTimeout, () => { + req.close(); + const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`); + timeoutError.name = "TimeoutError"; + rejectWithDestroy(timeoutError); + }); + } + if (abortSignal) { + const onAbort = /* @__PURE__ */ __name(() => { + req.close(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + rejectWithDestroy(abortError); + }, "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + const signal = abortSignal; + signal.addEventListener("abort", onAbort, { once: true }); + req.once("close", () => signal.removeEventListener("abort", onAbort)); + } else { + abortSignal.onabort = onAbort; + } + } + req.on("frameError", (type, code, id) => { + rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); + }); + req.on("error", rejectWithDestroy); + req.on("aborted", () => { + rejectWithDestroy( + new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`) + ); + }); + req.on("close", () => { + session.unref(); + if (disableConcurrentStreams) { + session.destroy(); + } + if (!fulfilled) { + rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response")); + } + }); + writeRequestBodyPromise = writeRequestBody(req, request2, requestTimeout); + }); } - }), "getContentLengthPlugin"); - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js -var require_getHomeDir = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getHomeDir = void 0; - var os_1 = require("os"); - var path_1 = require("path"); - var homeDirCache = {}; - var getHomeDirCacheKey = () => { - if (process && process.geteuid) { - return `${process.geteuid()}`; + updateHttpClientConfig(key, value) { + this.config = void 0; + this.configProvider = this.configProvider.then((config) => { + return { + ...config, + [key]: value + }; + }); + } + httpHandlerConfigs() { + return this.config ?? {}; + } + /** + * Destroys a session. + * @param session The session to destroy. + */ + destroySession(session) { + if (!session.destroyed) { + session.destroy(); + } } - return "DEFAULT"; - }; - var getHomeDir2 = () => { - const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env; - if (HOME) - return HOME; - if (USERPROFILE) - return USERPROFILE; - if (HOMEPATH) - return `${HOMEDRIVE}${HOMEPATH}`; - const homeDirCacheKey = getHomeDirCacheKey(); - if (!homeDirCache[homeDirCacheKey]) - homeDirCache[homeDirCacheKey] = (0, os_1.homedir)(); - return homeDirCache[homeDirCacheKey]; - }; - exports2.getHomeDir = getHomeDir2; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js -var require_getSSOTokenFilepath = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSSOTokenFilepath = void 0; - var crypto_1 = require("crypto"); - var path_1 = require("path"); - var getHomeDir_1 = require_getHomeDir(); - var getSSOTokenFilepath2 = (id) => { - const hasher = (0, crypto_1.createHash)("sha1"); - const cacheName = hasher.update(id).digest("hex"); - return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`); - }; - exports2.getSSOTokenFilepath = getSSOTokenFilepath2; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js -var require_getSSOTokenFromFile = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSSOTokenFromFile = void 0; - var fs_1 = require("fs"); - var getSSOTokenFilepath_1 = require_getSSOTokenFilepath(); - var { readFile } = fs_1.promises; - var getSSOTokenFromFile2 = async (id) => { - const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id); - const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); - return JSON.parse(ssoTokenText); }; - exports2.getSSOTokenFromFile = getSSOTokenFromFile2; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js -var require_slurpFile = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.slurpFile = void 0; - var fs_1 = require("fs"); - var { readFile } = fs_1.promises; - var filePromisesHash = {}; - var slurpFile = (path, options) => { - if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) { - filePromisesHash[path] = readFile(path, "utf8"); + __name(_NodeHttp2Handler, "NodeHttp2Handler"); + var NodeHttp2Handler = _NodeHttp2Handler; + var _Collector = class _Collector extends import_stream.Writable { + constructor() { + super(...arguments); + this.bufferedBytes = []; + } + _write(chunk, encoding, callback) { + this.bufferedBytes.push(chunk); + callback(); } - return filePromisesHash[path]; }; - exports2.slurpFile = slurpFile; + __name(_Collector, "Collector"); + var Collector = _Collector; + var streamCollector = /* @__PURE__ */ __name((stream) => { + if (isReadableStreamInstance(stream)) { + return collectReadableStream(stream); + } + return new Promise((resolve, reject) => { + const collector = new Collector(); + stream.pipe(collector); + stream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes)); + resolve(bytes); + }); + }); + }, "streamCollector"); + var isReadableStreamInstance = /* @__PURE__ */ __name((stream) => typeof ReadableStream === "function" && stream instanceof ReadableStream, "isReadableStreamInstance"); + async function collectReadableStream(stream) { + const chunks = []; + const reader = stream.getReader(); + let isDone = false; + let length = 0; + while (!isDone) { + const { done, value } = await reader.read(); + if (value) { + chunks.push(value); + length += value.length; + } + isDone = done; + } + const collected = new Uint8Array(length); + let offset = 0; + for (const chunk of chunks) { + collected.set(chunk, offset); + offset += chunk.length; + } + return collected; + } + __name(collectReadableStream, "collectReadableStream"); } }); -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js -var require_dist_cjs23 = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +var require_dist_cjs20 = __commonJS({ + "../../../node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -5095,143 +4062,240 @@ var require_dist_cjs23 = __commonJS({ } return to; }; - var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR, - DEFAULT_PROFILE: () => DEFAULT_PROFILE, - ENV_PROFILE: () => ENV_PROFILE, - getProfileName: () => getProfileName, - loadSharedConfigFiles: () => loadSharedConfigFiles, - loadSsoSessionData: () => loadSsoSessionData, - parseKnownFiles: () => parseKnownFiles + FetchHttpHandler: () => FetchHttpHandler, + keepAliveSupport: () => keepAliveSupport, + streamCollector: () => streamCollector }); module2.exports = __toCommonJS2(src_exports); - __reExport(src_exports, require_getHomeDir(), module2.exports); - var ENV_PROFILE = "AWS_PROFILE"; - var DEFAULT_PROFILE = "default"; - var getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, "getProfileName"); - __reExport(src_exports, require_getSSOTokenFilepath(), module2.exports); - __reExport(src_exports, require_getSSOTokenFromFile(), module2.exports); - var import_types = require_dist_cjs(); - var getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => { - const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); - if (indexOfSeparator === -1) { - return false; + var import_protocol_http8 = require_dist_cjs2(); + var import_querystring_builder = require_dist_cjs18(); + function createRequest(url2, requestOptions) { + return new Request(url2, requestOptions); + } + __name(createRequest, "createRequest"); + function requestTimeout(timeoutInMs = 0) { + return new Promise((resolve, reject) => { + if (timeoutInMs) { + setTimeout(() => { + const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`); + timeoutError.name = "TimeoutError"; + reject(timeoutError); + }, timeoutInMs); + } + }); + } + __name(requestTimeout, "requestTimeout"); + var keepAliveSupport = { + supported: void 0 + }; + var _FetchHttpHandler = class _FetchHttpHandler2 { + /** + * @returns the input if it is an HttpHandler of any class, + * or instantiates a new instance of this handler. + */ + static create(instanceOrOptions) { + if (typeof (instanceOrOptions == null ? void 0 : instanceOrOptions.handle) === "function") { + return instanceOrOptions; + } + return new _FetchHttpHandler2(instanceOrOptions); } - return Object.values(import_types.IniSectionType).includes(key.substring(0, indexOfSeparator)); - }).reduce( - (acc, [key, value]) => { - const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); - const updatedKey = key.substring(0, indexOfSeparator) === import_types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key; - acc[updatedKey] = value; - return acc; - }, - { - // Populate default profile, if present. - ...data.default && { default: data.default } + constructor(options) { + if (typeof options === "function") { + this.configProvider = options().then((opts) => opts || {}); + } else { + this.config = options ?? {}; + this.configProvider = Promise.resolve(this.config); + } + if (keepAliveSupport.supported === void 0) { + keepAliveSupport.supported = Boolean( + typeof Request !== "undefined" && "keepalive" in createRequest("https://[::1]") + ); + } } - ), "getConfigData"); - var import_path = require("path"); - var import_getHomeDir = require_getHomeDir(); - var ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; - var getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || (0, import_path.join)((0, import_getHomeDir.getHomeDir)(), ".aws", "config"), "getConfigFilepath"); - var import_getHomeDir2 = require_getHomeDir(); - var ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; - var getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || (0, import_path.join)((0, import_getHomeDir2.getHomeDir)(), ".aws", "credentials"), "getCredentialsFilepath"); - var prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/; - var profileNameBlockList = ["__proto__", "profile __proto__"]; - var parseIni = /* @__PURE__ */ __name((iniData) => { - const map = {}; - let currentSection; - let currentSubSection; - for (const iniLine of iniData.split(/\r?\n/)) { - const trimmedLine = iniLine.split(/(^|\s)[;#]/)[0].trim(); - const isSection = trimmedLine[0] === "[" && trimmedLine[trimmedLine.length - 1] === "]"; - if (isSection) { - currentSection = void 0; - currentSubSection = void 0; - const sectionName = trimmedLine.substring(1, trimmedLine.length - 1); - const matches = prefixKeyRegex.exec(sectionName); - if (matches) { - const [, prefix, , name] = matches; - if (Object.values(import_types.IniSectionType).includes(prefix)) { - currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR); + destroy() { + } + async handle(request2, { abortSignal } = {}) { + var _a; + if (!this.config) { + this.config = await this.configProvider; + } + const requestTimeoutInMs = this.config.requestTimeout; + const keepAlive = this.config.keepAlive === true; + const credentials = this.config.credentials; + if (abortSignal == null ? void 0 : abortSignal.aborted) { + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + return Promise.reject(abortError); + } + let path = request2.path; + const queryString = (0, import_querystring_builder.buildQueryString)(request2.query || {}); + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + let auth = ""; + if (request2.username != null || request2.password != null) { + const username = request2.username ?? ""; + const password = request2.password ?? ""; + auth = `${username}:${password}@`; + } + const { port, method } = request2; + const url2 = `${request2.protocol}//${auth}${request2.hostname}${port ? `:${port}` : ""}${path}`; + const body = method === "GET" || method === "HEAD" ? void 0 : request2.body; + const requestOptions = { + body, + headers: new Headers(request2.headers), + method, + credentials + }; + if ((_a = this.config) == null ? void 0 : _a.cache) { + requestOptions.cache = this.config.cache; + } + if (body) { + requestOptions.duplex = "half"; + } + if (typeof AbortController !== "undefined") { + requestOptions.signal = abortSignal; + } + if (keepAliveSupport.supported) { + requestOptions.keepalive = keepAlive; + } + if (typeof this.config.requestInit === "function") { + Object.assign(requestOptions, this.config.requestInit(request2)); + } + let removeSignalEventListener = /* @__PURE__ */ __name(() => { + }, "removeSignalEventListener"); + const fetchRequest = createRequest(url2, requestOptions); + const raceOfPromises = [ + fetch(fetchRequest).then((response) => { + const fetchHeaders = response.headers; + const transformedHeaders = {}; + for (const pair of fetchHeaders.entries()) { + transformedHeaders[pair[0]] = pair[1]; } - } else { - currentSection = sectionName; - } - if (profileNameBlockList.includes(sectionName)) { - throw new Error(`Found invalid profile name "${sectionName}"`); - } - } else if (currentSection) { - const indexOfEqualsSign = trimmedLine.indexOf("="); - if (![0, -1].includes(indexOfEqualsSign)) { - const [name, value] = [ - trimmedLine.substring(0, indexOfEqualsSign).trim(), - trimmedLine.substring(indexOfEqualsSign + 1).trim() - ]; - if (value === "") { - currentSubSection = name; - } else { - if (currentSubSection && iniLine.trimStart() === iniLine) { - currentSubSection = void 0; - } - map[currentSection] = map[currentSection] || {}; - const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name; - map[currentSection][key] = value; + const hasReadableStream = response.body != void 0; + if (!hasReadableStream) { + return response.blob().then((body2) => ({ + response: new import_protocol_http8.HttpResponse({ + headers: transformedHeaders, + reason: response.statusText, + statusCode: response.status, + body: body2 + }) + })); } - } + return { + response: new import_protocol_http8.HttpResponse({ + headers: transformedHeaders, + reason: response.statusText, + statusCode: response.status, + body: response.body + }) + }; + }), + requestTimeout(requestTimeoutInMs) + ]; + if (abortSignal) { + raceOfPromises.push( + new Promise((resolve, reject) => { + const onAbort = /* @__PURE__ */ __name(() => { + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + }, "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + const signal = abortSignal; + signal.addEventListener("abort", onAbort, { once: true }); + removeSignalEventListener = /* @__PURE__ */ __name(() => signal.removeEventListener("abort", onAbort), "removeSignalEventListener"); + } else { + abortSignal.onabort = onAbort; + } + }) + ); } + return Promise.race(raceOfPromises).finally(removeSignalEventListener); } - return map; - }, "parseIni"); - var import_slurpFile = require_slurpFile(); - var swallowError = /* @__PURE__ */ __name(() => ({}), "swallowError"); - var CONFIG_PREFIX_SEPARATOR = "."; - var loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => { - const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init; - const parsedFiles = await Promise.all([ - (0, import_slurpFile.slurpFile)(configFilepath, { - ignoreCache: init.ignoreCache - }).then(parseIni).then(getConfigData).catch(swallowError), - (0, import_slurpFile.slurpFile)(filepath, { - ignoreCache: init.ignoreCache - }).then(parseIni).catch(swallowError) - ]); - return { - configFile: parsedFiles[0], - credentialsFile: parsedFiles[1] - }; - }, "loadSharedConfigFiles"); - var getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), "getSsoSessionData"); - var import_slurpFile2 = require_slurpFile(); - var swallowError2 = /* @__PURE__ */ __name(() => ({}), "swallowError"); - var loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), "loadSsoSessionData"); - var mergeConfigFiles = /* @__PURE__ */ __name((...files) => { - const merged = {}; - for (const file of files) { - for (const [key, values] of Object.entries(file)) { - if (merged[key] !== void 0) { - Object.assign(merged[key], values); - } else { - merged[key] = values; - } - } + updateHttpClientConfig(key, value) { + this.config = void 0; + this.configProvider = this.configProvider.then((config) => { + config[key] = value; + return config; + }); } - return merged; - }, "mergeConfigFiles"); - var parseKnownFiles = /* @__PURE__ */ __name(async (init) => { - const parsedFiles = await loadSharedConfigFiles(init); - return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile); - }, "parseKnownFiles"); + httpHandlerConfigs() { + return this.config ?? {}; + } + }; + __name(_FetchHttpHandler, "FetchHttpHandler"); + var FetchHttpHandler = _FetchHttpHandler; + var import_util_base64 = require_dist_cjs16(); + var streamCollector = /* @__PURE__ */ __name(async (stream) => { + var _a; + if (typeof Blob === "function" && stream instanceof Blob || ((_a = stream.constructor) == null ? void 0 : _a.name) === "Blob") { + if (Blob.prototype.arrayBuffer !== void 0) { + return new Uint8Array(await stream.arrayBuffer()); + } + return collectBlob(stream); + } + return collectStream(stream); + }, "streamCollector"); + async function collectBlob(blob) { + const base64 = await readToBase64(blob); + const arrayBuffer = (0, import_util_base64.fromBase64)(base64); + return new Uint8Array(arrayBuffer); + } + __name(collectBlob, "collectBlob"); + async function collectStream(stream) { + const chunks = []; + const reader = stream.getReader(); + let isDone = false; + let length = 0; + while (!isDone) { + const { done, value } = await reader.read(); + if (value) { + chunks.push(value); + length += value.length; + } + isDone = done; + } + const collected = new Uint8Array(length); + let offset = 0; + for (const chunk of chunks) { + collected.set(chunk, offset); + offset += chunk.length; + } + return collected; + } + __name(collectStream, "collectStream"); + function readToBase64(blob) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onloadend = () => { + if (reader.readyState !== 2) { + return reject(new Error("Reader aborted too early")); + } + const result = reader.result ?? ""; + const commaIndex = result.indexOf(","); + const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length; + resolve(result.substring(dataOffset)); + }; + reader.onabort = () => reject(new Error("Read aborted")); + reader.onerror = () => reject(reader.error); + reader.readAsDataURL(blob); + }); + } + __name(readToBase64, "readToBase64"); } }); -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js -var require_dist_cjs24 = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js +var require_dist_cjs21 = __commonJS({ + "../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -5252,248 +4316,459 @@ var require_dist_cjs24 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - loadConfig: () => loadConfig + fromHex: () => fromHex, + toHex: () => toHex }); module2.exports = __toCommonJS2(src_exports); - var import_property_provider = require_dist_cjs6(); - var fromEnv = /* @__PURE__ */ __name((envVarSelector) => async () => { - try { - const config = envVarSelector(process.env); - if (config === void 0) { - throw new Error(); - } - return config; - } catch (e) { - throw new import_property_provider.CredentialsProviderError( - e.message || `Cannot load config from environment variables with getter: ${envVarSelector}` - ); + var SHORT_TO_HEX = {}; + var HEX_TO_SHORT = {}; + for (let i = 0; i < 256; i++) { + let encodedByte = i.toString(16).toLowerCase(); + if (encodedByte.length === 1) { + encodedByte = `0${encodedByte}`; } - }, "fromEnv"); - var import_shared_ini_file_loader = require_dist_cjs23(); - var fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = "config", ...init } = {}) => async () => { - const profile = (0, import_shared_ini_file_loader.getProfileName)(init); - const { configFile, credentialsFile } = await (0, import_shared_ini_file_loader.loadSharedConfigFiles)(init); - const profileFromCredentials = credentialsFile[profile] || {}; - const profileFromConfig = configFile[profile] || {}; - const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; - try { - const cfgFile = preferredFile === "config" ? configFile : credentialsFile; - const configValue = configSelector(mergedProfile, cfgFile); - if (configValue === void 0) { - throw new Error(); + SHORT_TO_HEX[i] = encodedByte; + HEX_TO_SHORT[encodedByte] = i; + } + function fromHex(encoded) { + if (encoded.length % 2 !== 0) { + throw new Error("Hex encoded strings must have an even number length"); + } + const out = new Uint8Array(encoded.length / 2); + for (let i = 0; i < encoded.length; i += 2) { + const encodedByte = encoded.slice(i, i + 2).toLowerCase(); + if (encodedByte in HEX_TO_SHORT) { + out[i / 2] = HEX_TO_SHORT[encodedByte]; + } else { + throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); } - return configValue; - } catch (e) { - throw new import_property_provider.CredentialsProviderError( - e.message || `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}` - ); } - }, "fromSharedConfigFiles"); - var isFunction = /* @__PURE__ */ __name((func) => typeof func === "function", "isFunction"); - var fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, import_property_provider.fromStatic)(defaultValue), "fromStatic"); - var loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, import_property_provider.memoize)( - (0, import_property_provider.chain)( - fromEnv(environmentVariableSelector), - fromSharedConfigFiles(configFileSelector, configuration), - fromStatic(defaultValue) - ) - ), "loadConfig"); + return out; + } + __name(fromHex, "fromHex"); + function toHex(bytes) { + let out = ""; + for (let i = 0; i < bytes.byteLength; i++) { + out += SHORT_TO_HEX[bytes[i]]; + } + return out; + } + __name(toHex, "toHex"); } }); -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js -var require_getEndpointUrlConfig = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js"(exports2) { +// ../../../node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js +var require_stream_type_check = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointUrlConfig = void 0; - var shared_ini_file_loader_1 = require_dist_cjs23(); - var ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL"; - var CONFIG_ENDPOINT_URL = "endpoint_url"; - var getEndpointUrlConfig = (serviceId) => ({ - environmentVariableSelector: (env) => { - const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase()); - const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")]; - if (serviceEndpointUrl) - return serviceEndpointUrl; - const endpointUrl = env[ENV_ENDPOINT_URL]; - if (endpointUrl) - return endpointUrl; - return void 0; - }, - configFileSelector: (profile, config) => { - if (config && profile.services) { - const servicesSection = config[["services", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)]; - if (servicesSection) { - const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase()); - const endpointUrl2 = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)]; - if (endpointUrl2) - return endpointUrl2; - } - } - const endpointUrl = profile[CONFIG_ENDPOINT_URL]; - if (endpointUrl) - return endpointUrl; - return void 0; - }, - default: void 0 - }); - exports2.getEndpointUrlConfig = getEndpointUrlConfig; + exports2.isBlob = exports2.isReadableStream = void 0; + var isReadableStream2 = (stream) => { + var _a; + return typeof ReadableStream === "function" && (((_a = stream === null || stream === void 0 ? void 0 : stream.constructor) === null || _a === void 0 ? void 0 : _a.name) === ReadableStream.name || stream instanceof ReadableStream); + }; + exports2.isReadableStream = isReadableStream2; + var isBlob2 = (blob) => { + var _a; + return typeof Blob === "function" && (((_a = blob === null || blob === void 0 ? void 0 : blob.constructor) === null || _a === void 0 ? void 0 : _a.name) === Blob.name || blob instanceof Blob); + }; + exports2.isBlob = isBlob2; } }); -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js -var require_getEndpointFromConfig = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js"(exports2) { +// ../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js +var require_sdk_stream_mixin_browser = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getEndpointFromConfig = void 0; - var node_config_provider_1 = require_dist_cjs24(); - var getEndpointUrlConfig_1 = require_getEndpointUrlConfig(); - var getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId))(); - exports2.getEndpointFromConfig = getEndpointFromConfig; + exports2.sdkStreamMixin = void 0; + var fetch_http_handler_1 = require_dist_cjs20(); + var util_base64_1 = require_dist_cjs16(); + var util_hex_encoding_1 = require_dist_cjs21(); + var util_utf8_1 = require_dist_cjs15(); + var stream_type_check_1 = require_stream_type_check(); + var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; + var sdkStreamMixin2 = (stream) => { + var _a, _b; + if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) { + const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; + throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`); + } + let transformed = false; + const transformToByteArray = async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + return await (0, fetch_http_handler_1.streamCollector)(stream); + }; + const blobToWebStream = (blob) => { + if (typeof blob.stream !== "function") { + throw new Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body"); + } + return blob.stream(); + }; + return Object.assign(stream, { + transformToByteArray, + transformToString: async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === "base64") { + return (0, util_base64_1.toBase64)(buf); + } else if (encoding === "hex") { + return (0, util_hex_encoding_1.toHex)(buf); + } else if (encoding === void 0 || encoding === "utf8" || encoding === "utf-8") { + return (0, util_utf8_1.toUtf8)(buf); + } else if (typeof TextDecoder === "function") { + return new TextDecoder(encoding).decode(buf); + } else { + throw new Error("TextDecoder is not available, please make sure polyfill is provided."); + } + }, + transformToWebStream: () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + if (isBlobInstance(stream)) { + return blobToWebStream(stream); + } else if ((0, stream_type_check_1.isReadableStream)(stream)) { + return stream; + } else { + throw new Error(`Cannot transform payload to web stream, got ${stream}`); + } + } + }); + }; + exports2.sdkStreamMixin = sdkStreamMixin2; + var isBlobInstance = (stream) => typeof Blob === "function" && stream instanceof Blob; } }); -// ../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js -var require_dist_cjs25 = __commonJS({ - "../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); +// ../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js +var require_sdk_stream_mixin = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.sdkStreamMixin = void 0; + var node_http_handler_1 = require_dist_cjs19(); + var util_buffer_from_1 = require_dist_cjs14(); + var stream_1 = require("stream"); + var sdk_stream_mixin_browser_1 = require_sdk_stream_mixin_browser(); + var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; + var sdkStreamMixin2 = (stream) => { + var _a, _b; + if (!(stream instanceof stream_1.Readable)) { + try { + return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream); + } catch (e) { + const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; + throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); + } } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - parseQueryString: () => parseQueryString - }); - module2.exports = __toCommonJS2(src_exports); - function parseQueryString(querystring) { - const query = {}; - querystring = querystring.replace(/^\?/, ""); - if (querystring) { - for (const pair of querystring.split("&")) { - let [key, value = null] = pair.split("="); - key = decodeURIComponent(key); - if (value) { - value = decodeURIComponent(value); - } - if (!(key in query)) { - query[key] = value; - } else if (Array.isArray(query[key])) { - query[key].push(value); + let transformed = false; + const transformToByteArray = async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + return await (0, node_http_handler_1.streamCollector)(stream); + }; + return Object.assign(stream, { + transformToByteArray, + transformToString: async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === void 0 || Buffer.isEncoding(encoding)) { + return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); } else { - query[key] = [query[key], value]; + const decoder2 = new TextDecoder(encoding); + return decoder2.decode(buf); + } + }, + transformToWebStream: () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + if (stream.readableFlowing !== null) { + throw new Error("The stream has been consumed by other callbacks."); + } + if (typeof stream_1.Readable.toWeb !== "function") { + throw new Error("Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available."); } + transformed = true; + return stream_1.Readable.toWeb(stream); } + }); + }; + exports2.sdkStreamMixin = sdkStreamMixin2; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js +var require_splitStream_browser = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.splitStream = void 0; + async function splitStream2(stream) { + if (typeof stream.stream === "function") { + stream = stream.stream(); } - return query; + const readableStream = stream; + return readableStream.tee(); } - __name(parseQueryString, "parseQueryString"); + exports2.splitStream = splitStream2; } }); -// ../../../node_modules/@smithy/url-parser/dist-cjs/index.js -var require_dist_cjs26 = __commonJS({ - "../../../node_modules/@smithy/url-parser/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); +// ../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.js +var require_splitStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.splitStream = void 0; + var stream_1 = require("stream"); + var splitStream_browser_1 = require_splitStream_browser(); + var stream_type_check_1 = require_stream_type_check(); + async function splitStream2(stream) { + if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) { + return (0, splitStream_browser_1.splitStream)(stream); + } + const stream1 = new stream_1.PassThrough(); + const stream2 = new stream_1.PassThrough(); + stream.pipe(stream1); + stream.pipe(stream2); + return [stream1, stream2]; + } + exports2.splitStream = splitStream2; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js +var require_headStream_browser = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.headStream = void 0; + async function headStream2(stream, bytes) { + var _a; + let byteLengthCounter = 0; + const chunks = []; + const reader = stream.getReader(); + let isDone = false; + while (!isDone) { + const { done, value } = await reader.read(); + if (value) { + chunks.push(value); + byteLengthCounter += (_a = value === null || value === void 0 ? void 0 : value.byteLength) !== null && _a !== void 0 ? _a : 0; + } + if (byteLengthCounter >= bytes) { + break; + } + isDone = done; + } + reader.releaseLock(); + const collected = new Uint8Array(Math.min(bytes, byteLengthCounter)); + let offset = 0; + for (const chunk of chunks) { + if (chunk.byteLength > collected.byteLength - offset) { + collected.set(chunk.subarray(0, collected.byteLength - offset), offset); + break; + } else { + collected.set(chunk, offset); + } + offset += chunk.length; + } + return collected; + } + exports2.headStream = headStream2; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/headStream.js +var require_headStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/headStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.headStream = void 0; + var stream_1 = require("stream"); + var headStream_browser_1 = require_headStream_browser(); + var stream_type_check_1 = require_stream_type_check(); + var headStream2 = (stream, bytes) => { + if ((0, stream_type_check_1.isReadableStream)(stream)) { + return (0, headStream_browser_1.headStream)(stream, bytes); + } + return new Promise((resolve, reject) => { + const collector = new Collector(); + collector.limit = bytes; + stream.pipe(collector); + stream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes2 = new Uint8Array(Buffer.concat(this.buffers)); + resolve(bytes2); + }); + }); }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + exports2.headStream = headStream2; + var Collector = class extends stream_1.Writable { + constructor() { + super(...arguments); + this.buffers = []; + this.limit = Infinity; + this.bytesBuffered = 0; + } + _write(chunk, encoding, callback) { + var _a; + this.buffers.push(chunk); + this.bytesBuffered += (_a = chunk.byteLength) !== null && _a !== void 0 ? _a : 0; + if (this.bytesBuffered >= this.limit) { + const excess = this.bytesBuffered - this.limit; + const tailBuffer = this.buffers[this.buffers.length - 1]; + this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess); + this.emit("finish"); + } + callback(); } - return to; }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - parseUrl: () => parseUrl - }); - module2.exports = __toCommonJS2(src_exports); - var import_querystring_parser = require_dist_cjs25(); - var parseUrl = /* @__PURE__ */ __name((url2) => { - if (typeof url2 === "string") { - return parseUrl(new URL(url2)); + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js +var require_ChecksumStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ChecksumStream = void 0; + var util_base64_1 = require_dist_cjs16(); + var stream_1 = require("stream"); + var ChecksumStream2 = class extends stream_1.Duplex { + constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) { + var _a, _b; + super(); + if (typeof source.pipe === "function") { + this.source = source; + } else { + throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`); + } + this.base64Encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64; + this.expectedChecksum = expectedChecksum; + this.checksum = checksum; + this.checksumSourceLocation = checksumSourceLocation; + this.source.pipe(this); } - const { hostname, pathname, port, protocol, search } = url2; - let query; - if (search) { - query = (0, import_querystring_parser.parseQueryString)(search); + _read(size) { } - return { - hostname, - port: port ? parseInt(port) : void 0, - protocol, - path: pathname, - query - }; - }, "parseUrl"); + _write(chunk, encoding, callback) { + try { + this.checksum.update(chunk); + this.push(chunk); + } catch (e) { + return callback(e); + } + return callback(); + } + async _final(callback) { + try { + const digest = await this.checksum.digest(); + const received = this.base64Encoder(digest); + if (this.expectedChecksum !== received) { + return callback(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}" in response header "${this.checksumSourceLocation}".`)); + } + } catch (e) { + return callback(e); + } + this.push(null); + return callback(); + } + }; + exports2.ChecksumStream = ChecksumStream2; } }); -// ../../../node_modules/@smithy/middleware-endpoint/node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs27 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); +// ../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js +var require_ChecksumStream_browser = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ChecksumStream = void 0; + var ReadableStreamRef = typeof ReadableStream === "function" ? ReadableStream : function() { }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + var ChecksumStream2 = class extends ReadableStreamRef { + }; + exports2.ChecksumStream = ChecksumStream2; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js +var require_createChecksumStream_browser = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createChecksumStream = void 0; + var util_base64_1 = require_dist_cjs16(); + var stream_type_check_1 = require_stream_type_check(); + var ChecksumStream_browser_1 = require_ChecksumStream_browser(); + var createChecksumStream2 = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) => { + var _a, _b; + if (!(0, stream_type_check_1.isReadableStream)(source)) { + throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`); } - return to; + const encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64; + if (typeof TransformStream !== "function") { + throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream."); + } + const transform = new TransformStream({ + start() { + }, + async transform(chunk, controller) { + checksum.update(chunk); + controller.enqueue(chunk); + }, + async flush(controller) { + const digest = await checksum.digest(); + const received = encoder(digest); + if (expectedChecksum !== received) { + const error = new Error(`Checksum mismatch: expected "${expectedChecksum}" but received "${received}" in response header "${checksumSourceLocation}".`); + controller.error(error); + } else { + controller.terminate(); + } + } + }); + source.pipeThrough(transform); + const readable = transform.readable; + Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype); + return readable; }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - getSmithyContext: () => getSmithyContext, - normalizeProvider: () => normalizeProvider - }); - module2.exports = __toCommonJS2(src_exports); - var import_types = require_dist_cjs(); - var getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); - var normalizeProvider = /* @__PURE__ */ __name((input) => { - if (typeof input === "function") - return input; - const promisified = Promise.resolve(input); - return () => promisified; - }, "normalizeProvider"); + exports2.createChecksumStream = createChecksumStream2; } }); -// ../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js -var require_dist_cjs28 = __commonJS({ - "../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js +var require_createChecksumStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createChecksumStream = void 0; + var stream_type_check_1 = require_stream_type_check(); + var ChecksumStream_1 = require_ChecksumStream(); + var createChecksumStream_browser_1 = require_createChecksumStream_browser(); + function createChecksumStream2(init) { + if (typeof ReadableStream === "function" && (0, stream_type_check_1.isReadableStream)(init.source)) { + return (0, createChecksumStream_browser_1.createChecksumStream)(init); + } + return new ChecksumStream_1.ChecksumStream(init); + } + exports2.createChecksumStream = createChecksumStream2; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/index.js +var require_dist_cjs22 = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -5511,79 +4786,437 @@ var require_dist_cjs28 = __commonJS({ } return to; }; + var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - deserializerMiddleware: () => deserializerMiddleware, - deserializerMiddlewareOption: () => deserializerMiddlewareOption, - getSerdePlugin: () => getSerdePlugin, - serializerMiddleware: () => serializerMiddleware, - serializerMiddlewareOption: () => serializerMiddlewareOption + Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter2 }); module2.exports = __toCommonJS2(src_exports); - var deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => { - const { response } = await next(args); - try { - const parsed = await deserializer(response, options); - return { - response, - output: parsed - }; - } catch (error) { - Object.defineProperty(error, "$response", { - value: response - }); - if (!("$metadata" in error)) { - const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; - error.message += "\n " + hint; - if (typeof error.$responseBodyText !== "undefined") { - if (error.$response) { - error.$response.body = error.$responseBodyText; - } - } - } - throw error; + var import_util_base64 = require_dist_cjs16(); + var import_util_utf8 = require_dist_cjs15(); + function transformToString(payload, encoding = "utf-8") { + if (encoding === "base64") { + return (0, import_util_base64.toBase64)(payload); } - }, "deserializerMiddleware"); - var serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => { - var _a; - const endpoint = ((_a = context.endpointV2) == null ? void 0 : _a.url) && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint; - if (!endpoint) { - throw new Error("No valid endpoint provider available."); + return (0, import_util_utf8.toUtf8)(payload); + } + __name(transformToString, "transformToString"); + function transformFromString(str, encoding) { + if (encoding === "base64") { + return Uint8ArrayBlobAdapter2.mutate((0, import_util_base64.fromBase64)(str)); + } + return Uint8ArrayBlobAdapter2.mutate((0, import_util_utf8.fromUtf8)(str)); + } + __name(transformFromString, "transformFromString"); + var _Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter2 extends Uint8Array { + /** + * @param source - such as a string or Stream. + * @returns a new Uint8ArrayBlobAdapter extending Uint8Array. + */ + static fromString(source, encoding = "utf-8") { + switch (typeof source) { + case "string": + return transformFromString(source, encoding); + default: + throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); + } + } + /** + * @param source - Uint8Array to be mutated. + * @returns the same Uint8Array but with prototype switched to Uint8ArrayBlobAdapter. + */ + static mutate(source) { + Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter2.prototype); + return source; + } + /** + * @param encoding - default 'utf-8'. + * @returns the blob as string. + */ + transformToString(encoding = "utf-8") { + return transformToString(this, encoding); } - const request2 = await serializer(args.input, { ...options, endpoint }); - return next({ - ...args, - request: request2 - }); - }, "serializerMiddleware"); - var deserializerMiddlewareOption = { - name: "deserializerMiddleware", - step: "deserialize", - tags: ["DESERIALIZER"], - override: true }; - var serializerMiddlewareOption = { - name: "serializerMiddleware", - step: "serialize", - tags: ["SERIALIZER"], - override: true + __name(_Uint8ArrayBlobAdapter, "Uint8ArrayBlobAdapter"); + var Uint8ArrayBlobAdapter2 = _Uint8ArrayBlobAdapter; + __reExport(src_exports, require_getAwsChunkedEncodingStream(), module2.exports); + __reExport(src_exports, require_sdk_stream_mixin(), module2.exports); + __reExport(src_exports, require_splitStream(), module2.exports); + __reExport(src_exports, require_headStream(), module2.exports); + __reExport(src_exports, require_stream_type_check(), module2.exports); + __reExport(src_exports, require_createChecksumStream(), module2.exports); + __reExport(src_exports, require_ChecksumStream(), module2.exports); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js +var import_util_stream, collectBody2; +var init_collect_stream_body = __esm({ + "../../../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js"() { + import_util_stream = __toESM(require_dist_cjs22()); + collectBody2 = async (streamBody = new Uint8Array(), context) => { + if (streamBody instanceof Uint8Array) { + return import_util_stream.Uint8ArrayBlobAdapter.mutate(streamBody); + } + if (!streamBody) { + return import_util_stream.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); + } + const fromContext = context.streamCollector(streamBody); + return import_util_stream.Uint8ArrayBlobAdapter.mutate(await fromContext); }; - function getSerdePlugin(config, serializer, deserializer) { - return { - applyToStack: (commandStack) => { - commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption); - commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js +function extendedEncodeURIComponent2(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +var init_extended_encode_uri_component = __esm({ + "../../../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js"() { + } +}); + +// ../../../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js +var resolvedPath2; +var init_resolve_path = __esm({ + "../../../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js"() { + init_extended_encode_uri_component(); + resolvedPath2 = (resolvedPath3, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { + if (input != null && input[memberName] !== void 0) { + const labelValue = labelValueProvider(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: " + memberName + "."); + } + resolvedPath3 = resolvedPath3.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent2(segment)).join("/") : extendedEncodeURIComponent2(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: " + memberName + "."); + } + return resolvedPath3; + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +function requestBuilder(input, context) { + return new RequestBuilder(input, context); +} +var import_protocol_http2, RequestBuilder; +var init_requestBuilder = __esm({ + "../../../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js"() { + import_protocol_http2 = __toESM(require_dist_cjs2()); + init_resolve_path(); + RequestBuilder = class { + constructor(input, context) { + this.input = input; + this.context = context; + this.query = {}; + this.method = ""; + this.headers = {}; + this.path = ""; + this.body = null; + this.hostname = ""; + this.resolvePathStack = []; + } + async build() { + const { hostname, protocol = "https", port, path: basePath } = await this.context.endpoint(); + this.path = basePath; + for (const resolvePath of this.resolvePathStack) { + resolvePath(this.path); + } + return new import_protocol_http2.HttpRequest({ + protocol, + hostname: this.hostname || hostname, + port, + method: this.method, + path: this.path, + query: this.query, + body: this.body, + headers: this.headers + }); + } + hn(hostname) { + this.hostname = hostname; + return this; + } + bp(uriLabel) { + this.resolvePathStack.push((basePath) => { + this.path = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + uriLabel; + }); + return this; + } + p(memberName, labelValueProvider, uriLabel, isGreedyLabel) { + this.resolvePathStack.push((path) => { + this.path = resolvedPath2(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel); + }); + return this; + } + h(headers) { + this.headers = headers; + return this; + } + q(query) { + this.query = query; + return this; + } + b(body) { + this.body = body; + return this; + } + m(method) { + this.method = method; + return this; + } + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/submodules/protocols/index.js +var protocols_exports = {}; +__export(protocols_exports, { + RequestBuilder: () => RequestBuilder, + collectBody: () => collectBody2, + extendedEncodeURIComponent: () => extendedEncodeURIComponent2, + requestBuilder: () => requestBuilder, + resolvedPath: () => resolvedPath2 +}); +var init_protocols = __esm({ + "../../../node_modules/@smithy/core/dist-es/submodules/protocols/index.js"() { + init_collect_stream_body(); + init_extended_encode_uri_component(); + init_requestBuilder(); + init_resolve_path(); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/protocols/requestBuilder.js +var init_requestBuilder2 = __esm({ + "../../../node_modules/@smithy/core/dist-es/protocols/requestBuilder.js"() { + init_protocols(); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/setFeature.js +function setFeature(context, feature, value) { + if (!context.__smithy_context) { + context.__smithy_context = { + features: {} + }; + } else if (!context.__smithy_context.features) { + context.__smithy_context.features = {}; + } + context.__smithy_context.features[feature] = value; +} +var init_setFeature = __esm({ + "../../../node_modules/@smithy/core/dist-es/setFeature.js"() { + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js +var DefaultIdentityProviderConfig; +var init_DefaultIdentityProviderConfig = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js"() { + DefaultIdentityProviderConfig = class { + constructor(config) { + this.authSchemes = /* @__PURE__ */ new Map(); + for (const [key, value] of Object.entries(config)) { + if (value !== void 0) { + this.authSchemes.set(key, value); + } + } + } + getIdentityProvider(schemeId) { + return this.authSchemes.get(schemeId); + } + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +var import_protocol_http3, import_types4, HttpApiKeyAuthSigner; +var init_httpApiKeyAuth = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js"() { + import_protocol_http3 = __toESM(require_dist_cjs2()); + import_types4 = __toESM(require_dist_cjs()); + HttpApiKeyAuthSigner = class { + async sign(httpRequest, identity, signingProperties) { + if (!signingProperties) { + throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing"); + } + if (!signingProperties.name) { + throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing"); + } + if (!signingProperties.in) { + throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing"); + } + if (!identity.apiKey) { + throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined"); + } + const clonedRequest = import_protocol_http3.HttpRequest.clone(httpRequest); + if (signingProperties.in === import_types4.HttpApiKeyAuthLocation.QUERY) { + clonedRequest.query[signingProperties.name] = identity.apiKey; + } else if (signingProperties.in === import_types4.HttpApiKeyAuthLocation.HEADER) { + clonedRequest.headers[signingProperties.name] = signingProperties.scheme ? `${signingProperties.scheme} ${identity.apiKey}` : identity.apiKey; + } else { + throw new Error("request can only be signed with `apiKey` locations `query` or `header`, but found: `" + signingProperties.in + "`"); + } + return clonedRequest; + } + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +var import_protocol_http4, HttpBearerAuthSigner; +var init_httpBearerAuth = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js"() { + import_protocol_http4 = __toESM(require_dist_cjs2()); + HttpBearerAuthSigner = class { + async sign(httpRequest, identity, signingProperties) { + const clonedRequest = import_protocol_http4.HttpRequest.clone(httpRequest); + if (!identity.token) { + throw new Error("request could not be signed with `token` since the `token` is not defined"); + } + clonedRequest.headers["Authorization"] = `Bearer ${identity.token}`; + return clonedRequest; + } + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js +var NoAuthSigner; +var init_noAuth = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js"() { + NoAuthSigner = class { + async sign(httpRequest, identity, signingProperties) { + return httpRequest; + } + }; + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js +var init_httpAuthSchemes = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js"() { + init_httpApiKeyAuth(); + init_httpBearerAuth(); + init_noAuth(); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js +var createIsIdentityExpiredFunction, EXPIRATION_MS, isIdentityExpired, doesIdentityRequireRefresh, memoizeIdentityProvider; +var init_memoizeIdentityProvider = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js"() { + createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs; + EXPIRATION_MS = 3e5; + isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS); + doesIdentityRequireRefresh = (identity) => identity.expiration !== void 0; + memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => { + if (provider === void 0) { + return void 0; + } + const normalizedProvider = typeof provider !== "function" ? async () => Promise.resolve(provider) : provider; + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = async (options) => { + if (!pending) { + pending = normalizedProvider(options); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; } + return resolved; }; - } - __name(getSerdePlugin, "getSerdePlugin"); + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(options); + } + return resolved; + }; + } + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(options); + } + if (isConstant) { + return resolved; + } + if (!requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(options); + return resolved; + } + return resolved; + }; + }; } }); -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js -var require_dist_cjs29 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js +var init_util_identity_and_auth = __esm({ + "../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js"() { + init_DefaultIdentityProviderConfig(); + init_httpAuthSchemes(); + init_memoizeIdentityProvider(); + } +}); + +// ../../../node_modules/@smithy/core/dist-es/index.js +var dist_es_exports = {}; +__export(dist_es_exports, { + DefaultIdentityProviderConfig: () => DefaultIdentityProviderConfig, + EXPIRATION_MS: () => EXPIRATION_MS, + HttpApiKeyAuthSigner: () => HttpApiKeyAuthSigner, + HttpBearerAuthSigner: () => HttpBearerAuthSigner, + NoAuthSigner: () => NoAuthSigner, + createIsIdentityExpiredFunction: () => createIsIdentityExpiredFunction, + createPaginator: () => createPaginator, + doesIdentityRequireRefresh: () => doesIdentityRequireRefresh, + getHttpAuthSchemeEndpointRuleSetPlugin: () => getHttpAuthSchemeEndpointRuleSetPlugin, + getHttpAuthSchemePlugin: () => getHttpAuthSchemePlugin, + getHttpSigningPlugin: () => getHttpSigningPlugin, + getSmithyContext: () => getSmithyContext, + httpAuthSchemeEndpointRuleSetMiddlewareOptions: () => httpAuthSchemeEndpointRuleSetMiddlewareOptions, + httpAuthSchemeMiddleware: () => httpAuthSchemeMiddleware, + httpAuthSchemeMiddlewareOptions: () => httpAuthSchemeMiddlewareOptions, + httpSigningMiddleware: () => httpSigningMiddleware, + httpSigningMiddlewareOptions: () => httpSigningMiddlewareOptions, + isIdentityExpired: () => isIdentityExpired, + memoizeIdentityProvider: () => memoizeIdentityProvider, + normalizeProvider: () => normalizeProvider, + requestBuilder: () => requestBuilder, + setFeature: () => setFeature +}); +var init_dist_es = __esm({ + "../../../node_modules/@smithy/core/dist-es/index.js"() { + init_getSmithyContext(); + init_middleware_http_auth_scheme(); + init_middleware_http_signing(); + init_normalizeProvider(); + init_createPaginator(); + init_requestBuilder2(); + init_setFeature(); + init_util_identity_and_auth(); + } +}); + +// ../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js +var require_dist_cjs23 = __commonJS({ + "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -5604,567 +5237,289 @@ var require_dist_cjs29 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - endpointMiddleware: () => endpointMiddleware, - endpointMiddlewareOptions: () => endpointMiddlewareOptions, - getEndpointFromInstructions: () => getEndpointFromInstructions, - getEndpointPlugin: () => getEndpointPlugin, - resolveEndpointConfig: () => resolveEndpointConfig, - resolveParams: () => resolveParams, - toEndpointV1: () => toEndpointV1 + contentLengthMiddleware: () => contentLengthMiddleware, + contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions, + getContentLengthPlugin: () => getContentLengthPlugin }); module2.exports = __toCommonJS2(src_exports); - var resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => { - const bucket = (endpointParams == null ? void 0 : endpointParams.Bucket) || ""; - if (typeof endpointParams.Bucket === "string") { - endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); - } - if (isArnBucketName(bucket)) { - if (endpointParams.ForcePathStyle === true) { - throw new Error("Path-style addressing cannot be used with ARN buckets"); + var import_protocol_http8 = require_dist_cjs2(); + var CONTENT_LENGTH_HEADER = "content-length"; + function contentLengthMiddleware(bodyLengthChecker) { + return (next) => async (args) => { + const request2 = args.request; + if (import_protocol_http8.HttpRequest.isInstance(request2)) { + const { body, headers } = request2; + if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { + try { + const length = bodyLengthChecker(body); + request2.headers = { + ...request2.headers, + [CONTENT_LENGTH_HEADER]: String(length) + }; + } catch (error) { + } + } } - } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { - endpointParams.ForcePathStyle = true; - } - if (endpointParams.DisableMultiRegionAccessPoints) { - endpointParams.disableMultiRegionAccessPoints = true; - endpointParams.DisableMRAP = true; - } - return endpointParams; - }, "resolveParamsForS3"); - var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; - var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; - var DOTS_PATTERN = /\.\./; - var isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName"); - var isArnBucketName = /* @__PURE__ */ __name((bucketName) => { - const [arn, partition, service, , , bucket] = bucketName.split(":"); - const isArn = arn === "arn" && bucketName.split(":").length >= 6; - const isValidArn = Boolean(isArn && partition && service && bucket); - if (isArn && !isValidArn) { - throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); - } - return isValidArn; - }, "isArnBucketName"); - var createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config) => { - const configProvider = /* @__PURE__ */ __name(async () => { - const configValue = config[configKey] ?? config[canonicalEndpointParamKey]; - if (typeof configValue === "function") { - return configValue(); - } - return configValue; - }, "configProvider"); - if (configKey === "credentialScope" || canonicalEndpointParamKey === "CredentialScope") { - return async () => { - const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials; - const configValue = (credentials == null ? void 0 : credentials.credentialScope) ?? (credentials == null ? void 0 : credentials.CredentialScope); - return configValue; - }; + return next({ + ...args, + request: request2 + }); + }; + } + __name(contentLengthMiddleware, "contentLengthMiddleware"); + var contentLengthMiddlewareOptions = { + step: "build", + tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], + name: "contentLengthMiddleware", + override: true + }; + var getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: (clientStack) => { + clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions); } - if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { - return async () => { - const endpoint = await configProvider(); - if (endpoint && typeof endpoint === "object") { - if ("url" in endpoint) { - return endpoint.url.href; - } - if ("hostname" in endpoint) { - const { protocol, hostname, port, path } = endpoint; - return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; - } - } - return endpoint; - }; + }), "getContentLengthPlugin"); + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/index.js +var require_dist_cjs24 = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return configProvider; - }, "createConfigValueProvider"); - var import_getEndpointFromConfig = require_getEndpointFromConfig(); - var import_url_parser = require_dist_cjs26(); - var toEndpointV1 = /* @__PURE__ */ __name((endpoint) => { - if (typeof endpoint === "object") { - if ("url" in endpoint) { - return (0, import_url_parser.parseUrl)(endpoint.url); + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + CredentialsProviderError: () => CredentialsProviderError, + ProviderError: () => ProviderError2, + TokenProviderError: () => TokenProviderError, + chain: () => chain, + fromStatic: () => fromStatic, + memoize: () => memoize + }); + module2.exports = __toCommonJS2(src_exports); + var _ProviderError = class _ProviderError2 extends Error { + constructor(message, options = true) { + var _a; + let logger; + let tryNextLink = true; + if (typeof options === "boolean") { + logger = void 0; + tryNextLink = options; + } else if (options != null && typeof options === "object") { + logger = options.logger; + tryNextLink = options.tryNextLink ?? true; } - return endpoint; + super(message); + this.name = "ProviderError"; + this.tryNextLink = tryNextLink; + Object.setPrototypeOf(this, _ProviderError2.prototype); + (_a = logger == null ? void 0 : logger.debug) == null ? void 0 : _a.call(logger, `@smithy/property-provider ${tryNextLink ? "->" : "(!)"} ${message}`); } - return (0, import_url_parser.parseUrl)(endpoint); - }, "toEndpointV1"); - var getEndpointFromInstructions = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig, context) => { - if (!clientConfig.endpoint) { - const endpointFromConfig = await (0, import_getEndpointFromConfig.getEndpointFromConfig)(clientConfig.serviceId || ""); - if (endpointFromConfig) { - clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig)); - } + /** + * @deprecated use new operator. + */ + static from(error, options = true) { + return Object.assign(new this(error.message, options), error); } - const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig); - if (typeof clientConfig.endpointProvider !== "function") { - throw new Error("config.endpointProvider is not set."); + }; + __name(_ProviderError, "ProviderError"); + var ProviderError2 = _ProviderError; + var _CredentialsProviderError = class _CredentialsProviderError2 extends ProviderError2 { + /** + * @override + */ + constructor(message, options = true) { + super(message, options); + this.name = "CredentialsProviderError"; + Object.setPrototypeOf(this, _CredentialsProviderError2.prototype); } - const endpoint = clientConfig.endpointProvider(endpointParams, context); - return endpoint; - }, "getEndpointFromInstructions"); - var resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => { - var _a; - const endpointParams = {}; - const instructions = ((_a = instructionsSupplier == null ? void 0 : instructionsSupplier.getEndpointParameterInstructions) == null ? void 0 : _a.call(instructionsSupplier)) || {}; - for (const [name, instruction] of Object.entries(instructions)) { - switch (instruction.type) { - case "staticContextParams": - endpointParams[name] = instruction.value; - break; - case "contextParams": - endpointParams[name] = commandInput[instruction.name]; - break; - case "clientContextParams": - case "builtInParams": - endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)(); - break; - default: - throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); - } + }; + __name(_CredentialsProviderError, "CredentialsProviderError"); + var CredentialsProviderError = _CredentialsProviderError; + var _TokenProviderError = class _TokenProviderError2 extends ProviderError2 { + /** + * @override + */ + constructor(message, options = true) { + super(message, options); + this.name = "TokenProviderError"; + Object.setPrototypeOf(this, _TokenProviderError2.prototype); } - if (Object.keys(instructions).length === 0) { - Object.assign(endpointParams, clientConfig); + }; + __name(_TokenProviderError, "TokenProviderError"); + var TokenProviderError = _TokenProviderError; + var chain = /* @__PURE__ */ __name((...providers) => async () => { + if (providers.length === 0) { + throw new ProviderError2("No providers in chain"); } - if (String(clientConfig.serviceId).toLowerCase() === "s3") { - await resolveParamsForS3(endpointParams); + let lastProviderError; + for (const provider of providers) { + try { + const credentials = await provider(); + return credentials; + } catch (err) { + lastProviderError = err; + if (err == null ? void 0 : err.tryNextLink) { + continue; + } + throw err; + } } - return endpointParams; - }, "resolveParams"); - var import_util_middleware = require_dist_cjs27(); - var endpointMiddleware = /* @__PURE__ */ __name(({ - config, - instructions - }) => { - return (next, context) => async (args) => { - var _a, _b, _c; - const endpoint = await getEndpointFromInstructions( - args.input, - { - getEndpointParameterInstructions() { - return instructions; - } - }, - { ...config }, - context - ); - context.endpointV2 = endpoint; - context.authSchemes = (_a = endpoint.properties) == null ? void 0 : _a.authSchemes; - const authScheme = (_b = context.authSchemes) == null ? void 0 : _b[0]; - if (authScheme) { - context["signing_region"] = authScheme.signingRegion; - context["signing_service"] = authScheme.signingName; - const smithyContext = (0, import_util_middleware.getSmithyContext)(context); - const httpAuthOption = (_c = smithyContext == null ? void 0 : smithyContext.selectedHttpAuthScheme) == null ? void 0 : _c.httpAuthOption; - if (httpAuthOption) { - httpAuthOption.signingProperties = Object.assign( - httpAuthOption.signingProperties || {}, - { - signing_region: authScheme.signingRegion, - signingRegion: authScheme.signingRegion, - signing_service: authScheme.signingName, - signingName: authScheme.signingName, - signingRegionSet: authScheme.signingRegionSet - }, - authScheme.properties - ); + throw lastProviderError; + }, "chain"); + var fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), "fromStatic"); + var memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => { + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = /* @__PURE__ */ __name(async () => { + if (!pending) { + pending = provider(); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; + } + return resolved; + }, "coalesceProvider"); + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || (options == null ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); } + return resolved; + }; + } + return async (options) => { + if (!hasResult || (options == null ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); } - return next({ - ...args - }); + if (isConstant) { + return resolved; + } + if (requiresRefresh && !requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(); + return resolved; + } + return resolved; }; - }, "endpointMiddleware"); - var import_middleware_serde = require_dist_cjs28(); - var endpointMiddlewareOptions = { - step: "serialize", - tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], - name: "endpointV2Middleware", - override: true, - relation: "before", - toMiddleware: import_middleware_serde.serializerMiddlewareOption.name - }; - var getEndpointPlugin = /* @__PURE__ */ __name((config, instructions) => ({ - applyToStack: (clientStack) => { - clientStack.addRelativeTo( - endpointMiddleware({ - config, - instructions - }), - endpointMiddlewareOptions - ); - } - }), "getEndpointPlugin"); - var resolveEndpointConfig = /* @__PURE__ */ __name((input) => { - const tls = input.tls ?? true; - const { endpoint } = input; - const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await (0, import_util_middleware.normalizeProvider)(endpoint)()) : void 0; - const isCustomEndpoint = !!endpoint; - return { - ...input, - endpoint: customEndpointProvider, - tls, - isCustomEndpoint, - useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(input.useDualstackEndpoint ?? false), - useFipsEndpoint: (0, import_util_middleware.normalizeProvider)(input.useFipsEndpoint ?? false) - }; - }, "resolveEndpointConfig"); - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/rng.js -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - import_crypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} -var import_crypto, rnds8Pool, poolPtr; -var init_rng = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/rng.js"() { - import_crypto = __toESM(require("crypto")); - rnds8Pool = new Uint8Array(256); - poolPtr = rnds8Pool.length; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/regex.js -var regex_default; -var init_regex = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/regex.js"() { - regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + }, "memoize"); } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/validate.js -function validate(uuid) { - return typeof uuid === "string" && regex_default.test(uuid); -} -var validate_default; -var init_validate = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/validate.js"() { - init_regex(); - validate_default = validate; +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js +var require_getHomeDir = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getHomeDir = void 0; + var os_1 = require("os"); + var path_1 = require("path"); + var homeDirCache = {}; + var getHomeDirCacheKey = () => { + if (process && process.geteuid) { + return `${process.geteuid()}`; + } + return "DEFAULT"; + }; + var getHomeDir2 = () => { + const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env; + if (HOME) + return HOME; + if (USERPROFILE) + return USERPROFILE; + if (HOMEPATH) + return `${HOMEDRIVE}${HOMEPATH}`; + const homeDirCacheKey = getHomeDirCacheKey(); + if (!homeDirCache[homeDirCacheKey]) + homeDirCache[homeDirCacheKey] = (0, os_1.homedir)(); + return homeDirCache[homeDirCacheKey]; + }; + exports2.getHomeDir = getHomeDir2; } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/stringify.js -function unsafeStringify(arr, offset = 0) { - return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]; -} -function stringify(arr, offset = 0) { - const uuid = unsafeStringify(arr, offset); - if (!validate_default(uuid)) { - throw TypeError("Stringified UUID is invalid"); - } - return uuid; -} -var byteToHex, stringify_default; -var init_stringify = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/stringify.js"() { - init_validate(); - byteToHex = []; - for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 256).toString(16).slice(1)); - } - stringify_default = stringify; +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js +var require_getSSOTokenFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getSSOTokenFilepath = void 0; + var crypto_1 = require("crypto"); + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + var getSSOTokenFilepath2 = (id) => { + const hasher = (0, crypto_1.createHash)("sha1"); + const cacheName = hasher.update(id).digest("hex"); + return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`); + }; + exports2.getSSOTokenFilepath = getSSOTokenFilepath2; } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v1.js -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || rng)(); - if (node == null) { - node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; - } - } - let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); - let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt < 0 && options.clockseq === void 0) { - clockseq = clockseq + 1 & 16383; - } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { - nsecs = 0; - } - if (nsecs >= 1e4) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - msecs += 122192928e5; - const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b[i++] = tl >>> 24 & 255; - b[i++] = tl >>> 16 & 255; - b[i++] = tl >>> 8 & 255; - b[i++] = tl & 255; - const tmh = msecs / 4294967296 * 1e4 & 268435455; - b[i++] = tmh >>> 8 & 255; - b[i++] = tmh & 255; - b[i++] = tmh >>> 24 & 15 | 16; - b[i++] = tmh >>> 16 & 255; - b[i++] = clockseq >>> 8 | 128; - b[i++] = clockseq & 255; - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || unsafeStringify(b); -} -var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; -var init_v1 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v1.js"() { - init_rng(); - init_stringify(); - _lastMSecs = 0; - _lastNSecs = 0; - v1_default = v1; +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js +var require_getSSOTokenFromFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getSSOTokenFromFile = void 0; + var fs_1 = require("fs"); + var getSSOTokenFilepath_1 = require_getSSOTokenFilepath(); + var { readFile } = fs_1.promises; + var getSSOTokenFromFile2 = async (id) => { + const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id); + const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); + return JSON.parse(ssoTokenText); + }; + exports2.getSSOTokenFromFile = getSSOTokenFromFile2; } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/parse.js -function parse(uuid) { - if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); - } - let v; - const arr = new Uint8Array(16); - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 255; - arr[2] = v >>> 8 & 255; - arr[3] = v & 255; - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 255; - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 255; - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 255; - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; - arr[11] = v / 4294967296 & 255; - arr[12] = v >>> 24 & 255; - arr[13] = v >>> 16 & 255; - arr[14] = v >>> 8 & 255; - arr[15] = v & 255; - return arr; -} -var parse_default; -var init_parse = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/parse.js"() { - init_validate(); - parse_default = parse; +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js +var require_slurpFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.slurpFile = void 0; + var fs_1 = require("fs"); + var { readFile } = fs_1.promises; + var filePromisesHash = {}; + var slurpFile = (path, options) => { + if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) { + filePromisesHash[path] = readFile(path, "utf8"); + } + return filePromisesHash[path]; + }; + exports2.slurpFile = slurpFile; } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v35.js -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -function v35(name, version2, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - var _namespace; - if (typeof value === "string") { - value = stringToBytes(value); - } - if (typeof namespace === "string") { - namespace = parse_default(namespace); - } - if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { - throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); - } - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 15 | version2; - bytes[8] = bytes[8] & 63 | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return unsafeStringify(bytes); - } - try { - generateUUID.name = name; - } catch (err) { - } - generateUUID.DNS = DNS; - generateUUID.URL = URL2; - return generateUUID; -} -var DNS, URL2; -var init_v35 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v35.js"() { - init_stringify(); - init_parse(); - DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; - URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/md5.js -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); - } - return import_crypto2.default.createHash("md5").update(bytes).digest(); -} -var import_crypto2, md5_default; -var init_md5 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/md5.js"() { - import_crypto2 = __toESM(require("crypto")); - md5_default = md5; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v3.js -var v3, v3_default; -var init_v3 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v3.js"() { - init_v35(); - init_md5(); - v3 = v35("v3", 48, md5_default); - v3_default = v3; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/native.js -var import_crypto3, native_default; -var init_native = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/native.js"() { - import_crypto3 = __toESM(require("crypto")); - native_default = { - randomUUID: import_crypto3.default.randomUUID - }; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v4.js -function v4(options, buf, offset) { - if (native_default.randomUUID && !buf && !options) { - return native_default.randomUUID(); - } - options = options || {}; - const rnds = options.random || (options.rng || rng)(); - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return unsafeStringify(rnds); -} -var v4_default; -var init_v4 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v4.js"() { - init_native(); - init_rng(); - init_stringify(); - v4_default = v4; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/sha1.js -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); - } - return import_crypto4.default.createHash("sha1").update(bytes).digest(); -} -var import_crypto4, sha1_default; -var init_sha1 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/sha1.js"() { - import_crypto4 = __toESM(require("crypto")); - sha1_default = sha1; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v5.js -var v5, v5_default; -var init_v5 = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/v5.js"() { - init_v35(); - init_sha1(); - v5 = v35("v5", 80, sha1_default); - v5_default = v5; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/nil.js -var nil_default; -var init_nil = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/nil.js"() { - nil_default = "00000000-0000-0000-0000-000000000000"; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/version.js -function version(uuid) { - if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); - } - return parseInt(uuid.slice(14, 15), 16); -} -var version_default; -var init_version = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/version.js"() { - init_validate(); - version_default = version; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/index.js -var esm_node_exports = {}; -__export(esm_node_exports, { - NIL: () => nil_default, - parse: () => parse_default, - stringify: () => stringify_default, - v1: () => v1_default, - v3: () => v3_default, - v4: () => v4_default, - v5: () => v5_default, - validate: () => validate_default, - version: () => version_default -}); -var init_esm_node = __esm({ - "../../../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-node/index.js"() { - init_v1(); - init_v3(); - init_v4(); - init_v5(); - init_nil(); - init_version(); - init_validate(); - init_stringify(); - init_parse(); - } -}); - -// ../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js -var require_dist_cjs30 = __commonJS({ - "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js +var require_dist_cjs25 = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -6182,427 +5537,294 @@ var require_dist_cjs30 = __commonJS({ } return to; }; + var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - isClockSkewCorrectedError: () => isClockSkewCorrectedError, - isClockSkewError: () => isClockSkewError, - isRetryableByTrait: () => isRetryableByTrait, - isServerError: () => isServerError, - isThrottlingError: () => isThrottlingError, - isTransientError: () => isTransientError + CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR, + DEFAULT_PROFILE: () => DEFAULT_PROFILE, + ENV_PROFILE: () => ENV_PROFILE, + getProfileName: () => getProfileName, + loadSharedConfigFiles: () => loadSharedConfigFiles, + loadSsoSessionData: () => loadSsoSessionData, + parseKnownFiles: () => parseKnownFiles }); module2.exports = __toCommonJS2(src_exports); - var CLOCK_SKEW_ERROR_CODES = [ - "AuthFailure", - "InvalidSignatureException", - "RequestExpired", - "RequestInTheFuture", - "RequestTimeTooSkewed", - "SignatureDoesNotMatch" - ]; - var THROTTLING_ERROR_CODES = [ - "BandwidthLimitExceeded", - "EC2ThrottledException", - "LimitExceededException", - "PriorRequestNotComplete", - "ProvisionedThroughputExceededException", - "RequestLimitExceeded", - "RequestThrottled", - "RequestThrottledException", - "SlowDown", - "ThrottledException", - "Throttling", - "ThrottlingException", - "TooManyRequestsException", - "TransactionInProgressException" - // DynamoDB - ]; - var TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; - var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; - var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; - var isRetryableByTrait = /* @__PURE__ */ __name((error) => error.$retryable !== void 0, "isRetryableByTrait"); - var isClockSkewError = /* @__PURE__ */ __name((error) => CLOCK_SKEW_ERROR_CODES.includes(error.name), "isClockSkewError"); - var isClockSkewCorrectedError = /* @__PURE__ */ __name((error) => { - var _a; - return (_a = error.$metadata) == null ? void 0 : _a.clockSkewCorrected; - }, "isClockSkewCorrectedError"); - var isThrottlingError = /* @__PURE__ */ __name((error) => { - var _a, _b; - return ((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) === 429 || THROTTLING_ERROR_CODES.includes(error.name) || ((_b = error.$retryable) == null ? void 0 : _b.throttling) == true; - }, "isThrottlingError"); - var isTransientError = /* @__PURE__ */ __name((error) => { - var _a; - return isClockSkewCorrectedError(error) || TRANSIENT_ERROR_CODES.includes(error.name) || NODEJS_TIMEOUT_ERROR_CODES.includes((error == null ? void 0 : error.code) || "") || TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) || 0); - }, "isTransientError"); - var isServerError = /* @__PURE__ */ __name((error) => { - var _a; - if (((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) !== void 0) { - const statusCode = error.$metadata.httpStatusCode; - if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) { - return true; - } + __reExport(src_exports, require_getHomeDir(), module2.exports); + var ENV_PROFILE = "AWS_PROFILE"; + var DEFAULT_PROFILE = "default"; + var getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, "getProfileName"); + __reExport(src_exports, require_getSSOTokenFilepath(), module2.exports); + __reExport(src_exports, require_getSSOTokenFromFile(), module2.exports); + var import_types5 = require_dist_cjs(); + var getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => { + const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); + if (indexOfSeparator === -1) { return false; } - return false; - }, "isServerError"); - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/index.js -var require_dist_cjs31 = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - AdaptiveRetryStrategy: () => AdaptiveRetryStrategy, - ConfiguredRetryStrategy: () => ConfiguredRetryStrategy, - DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS, - DEFAULT_RETRY_DELAY_BASE: () => DEFAULT_RETRY_DELAY_BASE, - DEFAULT_RETRY_MODE: () => DEFAULT_RETRY_MODE, - DefaultRateLimiter: () => DefaultRateLimiter, - INITIAL_RETRY_TOKENS: () => INITIAL_RETRY_TOKENS, - INVOCATION_ID_HEADER: () => INVOCATION_ID_HEADER, - MAXIMUM_RETRY_DELAY: () => MAXIMUM_RETRY_DELAY, - NO_RETRY_INCREMENT: () => NO_RETRY_INCREMENT, - REQUEST_HEADER: () => REQUEST_HEADER, - RETRY_COST: () => RETRY_COST, - RETRY_MODES: () => RETRY_MODES, - StandardRetryStrategy: () => StandardRetryStrategy, - THROTTLING_RETRY_DELAY_BASE: () => THROTTLING_RETRY_DELAY_BASE, - TIMEOUT_RETRY_COST: () => TIMEOUT_RETRY_COST - }); - module2.exports = __toCommonJS2(src_exports); - var RETRY_MODES = /* @__PURE__ */ ((RETRY_MODES2) => { - RETRY_MODES2["STANDARD"] = "standard"; - RETRY_MODES2["ADAPTIVE"] = "adaptive"; - return RETRY_MODES2; - })(RETRY_MODES || {}); - var DEFAULT_MAX_ATTEMPTS = 3; - var DEFAULT_RETRY_MODE = "standard"; - var import_service_error_classification = require_dist_cjs30(); - var _DefaultRateLimiter = class _DefaultRateLimiter { - constructor(options) { - this.currentCapacity = 0; - this.enabled = false; - this.lastMaxRate = 0; - this.measuredTxRate = 0; - this.requestCount = 0; - this.lastTimestamp = 0; - this.timeWindow = 0; - this.beta = (options == null ? void 0 : options.beta) ?? 0.7; - this.minCapacity = (options == null ? void 0 : options.minCapacity) ?? 1; - this.minFillRate = (options == null ? void 0 : options.minFillRate) ?? 0.5; - this.scaleConstant = (options == null ? void 0 : options.scaleConstant) ?? 0.4; - this.smooth = (options == null ? void 0 : options.smooth) ?? 0.8; - const currentTimeInSeconds = this.getCurrentTimeInSeconds(); - this.lastThrottleTime = currentTimeInSeconds; - this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); - this.fillRate = this.minFillRate; - this.maxCapacity = this.minCapacity; - } - getCurrentTimeInSeconds() { - return Date.now() / 1e3; - } - async getSendToken() { - return this.acquireTokenBucket(1); + return Object.values(import_types5.IniSectionType).includes(key.substring(0, indexOfSeparator)); + }).reduce( + (acc, [key, value]) => { + const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); + const updatedKey = key.substring(0, indexOfSeparator) === import_types5.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key; + acc[updatedKey] = value; + return acc; + }, + { + // Populate default profile, if present. + ...data.default && { default: data.default } } - async acquireTokenBucket(amount) { - if (!this.enabled) { - return; - } - this.refillTokenBucket(); - if (amount > this.currentCapacity) { - const delay = (amount - this.currentCapacity) / this.fillRate * 1e3; - await new Promise((resolve) => setTimeout(resolve, delay)); + ), "getConfigData"); + var import_path = require("path"); + var import_getHomeDir = require_getHomeDir(); + var ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; + var getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || (0, import_path.join)((0, import_getHomeDir.getHomeDir)(), ".aws", "config"), "getConfigFilepath"); + var import_getHomeDir2 = require_getHomeDir(); + var ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; + var getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || (0, import_path.join)((0, import_getHomeDir2.getHomeDir)(), ".aws", "credentials"), "getCredentialsFilepath"); + var import_getHomeDir3 = require_getHomeDir(); + var prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/; + var profileNameBlockList = ["__proto__", "profile __proto__"]; + var parseIni = /* @__PURE__ */ __name((iniData) => { + const map = {}; + let currentSection; + let currentSubSection; + for (const iniLine of iniData.split(/\r?\n/)) { + const trimmedLine = iniLine.split(/(^|\s)[;#]/)[0].trim(); + const isSection = trimmedLine[0] === "[" && trimmedLine[trimmedLine.length - 1] === "]"; + if (isSection) { + currentSection = void 0; + currentSubSection = void 0; + const sectionName = trimmedLine.substring(1, trimmedLine.length - 1); + const matches = prefixKeyRegex.exec(sectionName); + if (matches) { + const [, prefix, , name] = matches; + if (Object.values(import_types5.IniSectionType).includes(prefix)) { + currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR); + } + } else { + currentSection = sectionName; + } + if (profileNameBlockList.includes(sectionName)) { + throw new Error(`Found invalid profile name "${sectionName}"`); + } + } else if (currentSection) { + const indexOfEqualsSign = trimmedLine.indexOf("="); + if (![0, -1].includes(indexOfEqualsSign)) { + const [name, value] = [ + trimmedLine.substring(0, indexOfEqualsSign).trim(), + trimmedLine.substring(indexOfEqualsSign + 1).trim() + ]; + if (value === "") { + currentSubSection = name; + } else { + if (currentSubSection && iniLine.trimStart() === iniLine) { + currentSubSection = void 0; + } + map[currentSection] = map[currentSection] || {}; + const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name; + map[currentSection][key] = value; + } + } } - this.currentCapacity = this.currentCapacity - amount; } - refillTokenBucket() { - const timestamp = this.getCurrentTimeInSeconds(); - if (!this.lastTimestamp) { - this.lastTimestamp = timestamp; - return; - } - const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; - this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount); - this.lastTimestamp = timestamp; + return map; + }, "parseIni"); + var import_slurpFile = require_slurpFile(); + var swallowError = /* @__PURE__ */ __name(() => ({}), "swallowError"); + var CONFIG_PREFIX_SEPARATOR = "."; + var loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => { + const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init; + const homeDir = (0, import_getHomeDir3.getHomeDir)(); + const relativeHomeDirPrefix = "~/"; + let resolvedFilepath = filepath; + if (filepath.startsWith(relativeHomeDirPrefix)) { + resolvedFilepath = (0, import_path.join)(homeDir, filepath.slice(2)); } - updateClientSendingRate(response) { - let calculatedRate; - this.updateMeasuredRate(); - if ((0, import_service_error_classification.isThrottlingError)(response)) { - const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); - this.lastMaxRate = rateToUse; - this.calculateTimeWindow(); - this.lastThrottleTime = this.getCurrentTimeInSeconds(); - calculatedRate = this.cubicThrottle(rateToUse); - this.enableTokenBucket(); - } else { - this.calculateTimeWindow(); - calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); + let resolvedConfigFilepath = configFilepath; + if (configFilepath.startsWith(relativeHomeDirPrefix)) { + resolvedConfigFilepath = (0, import_path.join)(homeDir, configFilepath.slice(2)); + } + const parsedFiles = await Promise.all([ + (0, import_slurpFile.slurpFile)(resolvedConfigFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni).then(getConfigData).catch(swallowError), + (0, import_slurpFile.slurpFile)(resolvedFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni).catch(swallowError) + ]); + return { + configFile: parsedFiles[0], + credentialsFile: parsedFiles[1] + }; + }, "loadSharedConfigFiles"); + var getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types5.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), "getSsoSessionData"); + var import_slurpFile2 = require_slurpFile(); + var swallowError2 = /* @__PURE__ */ __name(() => ({}), "swallowError"); + var loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), "loadSsoSessionData"); + var mergeConfigFiles = /* @__PURE__ */ __name((...files) => { + const merged = {}; + for (const file of files) { + for (const [key, values] of Object.entries(file)) { + if (merged[key] !== void 0) { + Object.assign(merged[key], values); + } else { + merged[key] = values; + } } - const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); - this.updateTokenBucketRate(newRate); } - calculateTimeWindow() { - this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); + return merged; + }, "mergeConfigFiles"); + var parseKnownFiles = /* @__PURE__ */ __name(async (init) => { + const parsedFiles = await loadSharedConfigFiles(init); + return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile); + }, "parseKnownFiles"); + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js +var require_dist_cjs26 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - cubicThrottle(rateToUse) { - return this.getPrecise(rateToUse * this.beta); + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + loadConfig: () => loadConfig + }); + module2.exports = __toCommonJS2(src_exports); + var import_property_provider2 = require_dist_cjs24(); + function getSelectorName(functionString) { + try { + const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? [])); + constants.delete("CONFIG"); + constants.delete("CONFIG_PREFIX_SEPARATOR"); + constants.delete("ENV"); + return [...constants].join(", "); + } catch (e) { + return functionString; } - cubicSuccess(timestamp) { - return this.getPrecise( - this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate + } + __name(getSelectorName, "getSelectorName"); + var fromEnv = /* @__PURE__ */ __name((envVarSelector, logger) => async () => { + try { + const config = envVarSelector(process.env); + if (config === void 0) { + throw new Error(); + } + return config; + } catch (e) { + throw new import_property_provider2.CredentialsProviderError( + e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, + { logger } ); } - enableTokenBucket() { - this.enabled = true; - } - updateTokenBucketRate(newRate) { - this.refillTokenBucket(); - this.fillRate = Math.max(newRate, this.minFillRate); - this.maxCapacity = Math.max(newRate, this.minCapacity); - this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity); - } - updateMeasuredRate() { - const t = this.getCurrentTimeInSeconds(); - const timeBucket = Math.floor(t * 2) / 2; - this.requestCount++; - if (timeBucket > this.lastTxRateBucket) { - const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); - this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); - this.requestCount = 0; - this.lastTxRateBucket = timeBucket; + }, "fromEnv"); + var import_shared_ini_file_loader = require_dist_cjs25(); + var fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = "config", ...init } = {}) => async () => { + const profile = (0, import_shared_ini_file_loader.getProfileName)(init); + const { configFile, credentialsFile } = await (0, import_shared_ini_file_loader.loadSharedConfigFiles)(init); + const profileFromCredentials = credentialsFile[profile] || {}; + const profileFromConfig = configFile[profile] || {}; + const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; + try { + const cfgFile = preferredFile === "config" ? configFile : credentialsFile; + const configValue = configSelector(mergedProfile, cfgFile); + if (configValue === void 0) { + throw new Error(); } + return configValue; + } catch (e) { + throw new import_property_provider2.CredentialsProviderError( + e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, + { logger: init.logger } + ); } - getPrecise(num) { - return parseFloat(num.toFixed(8)); - } - }; - __name(_DefaultRateLimiter, "DefaultRateLimiter"); - var DefaultRateLimiter = _DefaultRateLimiter; - var DEFAULT_RETRY_DELAY_BASE = 100; - var MAXIMUM_RETRY_DELAY = 20 * 1e3; - var THROTTLING_RETRY_DELAY_BASE = 500; - var INITIAL_RETRY_TOKENS = 500; - var RETRY_COST = 5; - var TIMEOUT_RETRY_COST = 10; - var NO_RETRY_INCREMENT = 1; - var INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; - var REQUEST_HEADER = "amz-sdk-request"; - var getDefaultRetryBackoffStrategy = /* @__PURE__ */ __name(() => { - let delayBase = DEFAULT_RETRY_DELAY_BASE; - const computeNextBackoffDelay = /* @__PURE__ */ __name((attempts) => { - return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); - }, "computeNextBackoffDelay"); - const setDelayBase = /* @__PURE__ */ __name((delay) => { - delayBase = delay; - }, "setDelayBase"); - return { - computeNextBackoffDelay, - setDelayBase - }; - }, "getDefaultRetryBackoffStrategy"); - var createDefaultRetryToken = /* @__PURE__ */ __name(({ - retryDelay, - retryCount, - retryCost - }) => { - const getRetryCount = /* @__PURE__ */ __name(() => retryCount, "getRetryCount"); - const getRetryDelay = /* @__PURE__ */ __name(() => Math.min(MAXIMUM_RETRY_DELAY, retryDelay), "getRetryDelay"); - const getRetryCost = /* @__PURE__ */ __name(() => retryCost, "getRetryCost"); - return { - getRetryCount, - getRetryDelay, - getRetryCost - }; - }, "createDefaultRetryToken"); - var _StandardRetryStrategy = class _StandardRetryStrategy { - constructor(maxAttempts) { - this.maxAttempts = maxAttempts; - this.mode = "standard"; - this.capacity = INITIAL_RETRY_TOKENS; - this.retryBackoffStrategy = getDefaultRetryBackoffStrategy(); - this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts; - } - async acquireInitialRetryToken(retryTokenScope) { - return createDefaultRetryToken({ - retryDelay: DEFAULT_RETRY_DELAY_BASE, - retryCount: 0 - }); - } - async refreshRetryTokenForRetry(token, errorInfo) { - const maxAttempts = await this.getMaxAttempts(); - if (this.shouldRetry(token, errorInfo, maxAttempts)) { - const errorType = errorInfo.errorType; - this.retryBackoffStrategy.setDelayBase( - errorType === "THROTTLING" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE - ); - const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); - const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType; - const capacityCost = this.getCapacityCost(errorType); - this.capacity -= capacityCost; - return createDefaultRetryToken({ - retryDelay, - retryCount: token.getRetryCount() + 1, - retryCost: capacityCost - }); - } - throw new Error("No retry token available"); - } - recordSuccess(token) { - this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT)); - } - /** - * @returns the current available retry capacity. - * - * This number decreases when retries are executed and refills when requests or retries succeed. - */ - getCapacity() { - return this.capacity; - } - async getMaxAttempts() { - try { - return await this.maxAttemptsProvider(); - } catch (error) { - console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`); - return DEFAULT_MAX_ATTEMPTS; - } - } - shouldRetry(tokenToRenew, errorInfo, maxAttempts) { - const attempts = tokenToRenew.getRetryCount() + 1; - return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType); - } - getCapacityCost(errorType) { - return errorType === "TRANSIENT" ? TIMEOUT_RETRY_COST : RETRY_COST; - } - isRetryableError(errorType) { - return errorType === "THROTTLING" || errorType === "TRANSIENT"; - } - }; - __name(_StandardRetryStrategy, "StandardRetryStrategy"); - var StandardRetryStrategy = _StandardRetryStrategy; - var _AdaptiveRetryStrategy = class _AdaptiveRetryStrategy { - constructor(maxAttemptsProvider, options) { - this.maxAttemptsProvider = maxAttemptsProvider; - this.mode = "adaptive"; - const { rateLimiter } = options ?? {}; - this.rateLimiter = rateLimiter ?? new DefaultRateLimiter(); - this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider); - } - async acquireInitialRetryToken(retryTokenScope) { - await this.rateLimiter.getSendToken(); - return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); - } - async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { - this.rateLimiter.updateClientSendingRate(errorInfo); - return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); - } - recordSuccess(token) { - this.rateLimiter.updateClientSendingRate({}); - this.standardRetryStrategy.recordSuccess(token); - } - }; - __name(_AdaptiveRetryStrategy, "AdaptiveRetryStrategy"); - var AdaptiveRetryStrategy = _AdaptiveRetryStrategy; - var _ConfiguredRetryStrategy = class _ConfiguredRetryStrategy extends StandardRetryStrategy { - /** - * @param maxAttempts - the maximum number of retry attempts allowed. - * e.g., if set to 3, then 4 total requests are possible. - * @param computeNextBackoffDelay - a millisecond delay for each retry or a function that takes the retry attempt - * and returns the delay. - * - * @example exponential backoff. - * ```js - * new Client({ - * retryStrategy: new ConfiguredRetryStrategy(3, (attempt) => attempt ** 2) - * }); - * ``` - * @example constant delay. - * ```js - * new Client({ - * retryStrategy: new ConfiguredRetryStrategy(3, 2000) - * }); - * ``` - */ - constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) { - super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); - if (typeof computeNextBackoffDelay === "number") { - this.computeNextBackoffDelay = () => computeNextBackoffDelay; - } else { - this.computeNextBackoffDelay = computeNextBackoffDelay; - } - } - async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { - const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo); - token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount()); - return token; - } - }; - __name(_ConfiguredRetryStrategy, "ConfiguredRetryStrategy"); - var ConfiguredRetryStrategy = _ConfiguredRetryStrategy; + }, "fromSharedConfigFiles"); + var isFunction = /* @__PURE__ */ __name((func) => typeof func === "function", "isFunction"); + var fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, import_property_provider2.fromStatic)(defaultValue), "fromStatic"); + var loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, import_property_provider2.memoize)( + (0, import_property_provider2.chain)( + fromEnv(environmentVariableSelector), + fromSharedConfigFiles(configFileSelector, configuration), + fromStatic(defaultValue) + ) + ), "loadConfig"); } }); -// ../../../node_modules/@smithy/middleware-retry/node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs32 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - getSmithyContext: () => getSmithyContext, - normalizeProvider: () => normalizeProvider +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js +var require_getEndpointUrlConfig = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getEndpointUrlConfig = void 0; + var shared_ini_file_loader_1 = require_dist_cjs25(); + var ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL"; + var CONFIG_ENDPOINT_URL = "endpoint_url"; + var getEndpointUrlConfig = (serviceId) => ({ + environmentVariableSelector: (env) => { + const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase()); + const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")]; + if (serviceEndpointUrl) + return serviceEndpointUrl; + const endpointUrl = env[ENV_ENDPOINT_URL]; + if (endpointUrl) + return endpointUrl; + return void 0; + }, + configFileSelector: (profile, config) => { + if (config && profile.services) { + const servicesSection = config[["services", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)]; + if (servicesSection) { + const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase()); + const endpointUrl2 = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)]; + if (endpointUrl2) + return endpointUrl2; + } + } + const endpointUrl = profile[CONFIG_ENDPOINT_URL]; + if (endpointUrl) + return endpointUrl; + return void 0; + }, + default: void 0 }); - module2.exports = __toCommonJS2(src_exports); - var import_types = require_dist_cjs(); - var getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); - var normalizeProvider = /* @__PURE__ */ __name((input) => { - if (typeof input === "function") - return input; - const promisified = Promise.resolve(input); - return () => promisified; - }, "normalizeProvider"); + exports2.getEndpointUrlConfig = getEndpointUrlConfig; } }); -// ../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js -var require_dist_cjs33 = __commonJS({ - "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js +var require_getEndpointFromConfig = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getEndpointFromConfig = void 0; + var node_config_provider_1 = require_dist_cjs26(); + var getEndpointUrlConfig_1 = require_getEndpointUrlConfig(); + var getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId !== null && serviceId !== void 0 ? serviceId : ""))(); + exports2.getEndpointFromConfig = getEndpointFromConfig; + } +}); + +// ../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js +var require_dist_cjs27 = __commonJS({ + "../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -6623,1161 +5845,1095 @@ var require_dist_cjs33 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - constructStack: () => constructStack + parseQueryString: () => parseQueryString }); module2.exports = __toCommonJS2(src_exports); - var getAllAliases = /* @__PURE__ */ __name((name, aliases) => { - const _aliases = []; - if (name) { - _aliases.push(name); + function parseQueryString(querystring) { + const query = {}; + querystring = querystring.replace(/^\?/, ""); + if (querystring) { + for (const pair of querystring.split("&")) { + let [key, value = null] = pair.split("="); + key = decodeURIComponent(key); + if (value) { + value = decodeURIComponent(value); + } + if (!(key in query)) { + query[key] = value; + } else if (Array.isArray(query[key])) { + query[key].push(value); + } else { + query[key] = [query[key], value]; + } + } } - if (aliases) { - for (const alias of aliases) { - _aliases.push(alias); + return query; + } + __name(parseQueryString, "parseQueryString"); + } +}); + +// ../../../node_modules/@smithy/url-parser/dist-cjs/index.js +var require_dist_cjs28 = __commonJS({ + "../../../node_modules/@smithy/url-parser/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + parseUrl: () => parseUrl + }); + module2.exports = __toCommonJS2(src_exports); + var import_querystring_parser = require_dist_cjs27(); + var parseUrl = /* @__PURE__ */ __name((url2) => { + if (typeof url2 === "string") { + return parseUrl(new URL(url2)); + } + const { hostname, pathname, port, protocol, search } = url2; + let query; + if (search) { + query = (0, import_querystring_parser.parseQueryString)(search); + } + return { + hostname, + port: port ? parseInt(port) : void 0, + protocol, + path: pathname, + query + }; + }, "parseUrl"); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +var require_dist_cjs29 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + endpointMiddleware: () => endpointMiddleware, + endpointMiddlewareOptions: () => endpointMiddlewareOptions, + getEndpointFromInstructions: () => getEndpointFromInstructions, + getEndpointPlugin: () => getEndpointPlugin, + resolveEndpointConfig: () => resolveEndpointConfig, + resolveParams: () => resolveParams, + toEndpointV1: () => toEndpointV1 + }); + module2.exports = __toCommonJS2(src_exports); + var resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => { + const bucket = (endpointParams == null ? void 0 : endpointParams.Bucket) || ""; + if (typeof endpointParams.Bucket === "string") { + endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); + } + if (isArnBucketName(bucket)) { + if (endpointParams.ForcePathStyle === true) { + throw new Error("Path-style addressing cannot be used with ARN buckets"); } + } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { + endpointParams.ForcePathStyle = true; } - return _aliases; - }, "getAllAliases"); - var getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => { - return `${name || "anonymous"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(",")})` : ""}`; - }, "getMiddlewareNameWithAliases"); - var constructStack = /* @__PURE__ */ __name(() => { - let absoluteEntries = []; - let relativeEntries = []; - let identifyOnResolve = false; - const entriesNameSet = /* @__PURE__ */ new Set(); - const sort = /* @__PURE__ */ __name((entries) => entries.sort( - (a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"] - ), "sort"); - const removeByName = /* @__PURE__ */ __name((toRemove) => { - let isRemoved = false; - const filterCb = /* @__PURE__ */ __name((entry) => { - const aliases = getAllAliases(entry.name, entry.aliases); - if (aliases.includes(toRemove)) { - isRemoved = true; - for (const alias of aliases) { - entriesNameSet.delete(alias); + if (endpointParams.DisableMultiRegionAccessPoints) { + endpointParams.disableMultiRegionAccessPoints = true; + endpointParams.DisableMRAP = true; + } + return endpointParams; + }, "resolveParamsForS3"); + var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; + var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; + var DOTS_PATTERN = /\.\./; + var isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName"); + var isArnBucketName = /* @__PURE__ */ __name((bucketName) => { + const [arn, partition, service, , , bucket] = bucketName.split(":"); + const isArn = arn === "arn" && bucketName.split(":").length >= 6; + const isValidArn = Boolean(isArn && partition && service && bucket); + if (isArn && !isValidArn) { + throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); + } + return isValidArn; + }, "isArnBucketName"); + var createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config) => { + const configProvider = /* @__PURE__ */ __name(async () => { + const configValue = config[configKey] ?? config[canonicalEndpointParamKey]; + if (typeof configValue === "function") { + return configValue(); + } + return configValue; + }, "configProvider"); + if (configKey === "credentialScope" || canonicalEndpointParamKey === "CredentialScope") { + return async () => { + const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials; + const configValue = (credentials == null ? void 0 : credentials.credentialScope) ?? (credentials == null ? void 0 : credentials.CredentialScope); + return configValue; + }; + } + if (configKey === "accountId" || canonicalEndpointParamKey === "AccountId") { + return async () => { + const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials; + const configValue = (credentials == null ? void 0 : credentials.accountId) ?? (credentials == null ? void 0 : credentials.AccountId); + return configValue; + }; + } + if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { + return async () => { + const endpoint = await configProvider(); + if (endpoint && typeof endpoint === "object") { + if ("url" in endpoint) { + return endpoint.url.href; } - return false; - } - return true; - }, "filterCb"); - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }, "removeByName"); - const removeByReference = /* @__PURE__ */ __name((toRemove) => { - let isRemoved = false; - const filterCb = /* @__PURE__ */ __name((entry) => { - if (entry.middleware === toRemove) { - isRemoved = true; - for (const alias of getAllAliases(entry.name, entry.aliases)) { - entriesNameSet.delete(alias); + if ("hostname" in endpoint) { + const { protocol, hostname, port, path } = endpoint; + return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; } - return false; - } - return true; - }, "filterCb"); - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }, "removeByReference"); - const cloneTo = /* @__PURE__ */ __name((toStack) => { - var _a; - absoluteEntries.forEach((entry) => { - toStack.add(entry.middleware, { ...entry }); - }); - relativeEntries.forEach((entry) => { - toStack.addRelativeTo(entry.middleware, { ...entry }); - }); - (_a = toStack.identifyOnResolve) == null ? void 0 : _a.call(toStack, stack.identifyOnResolve()); - return toStack; - }, "cloneTo"); - const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => { - const expandedMiddlewareList = []; - from.before.forEach((entry) => { - if (entry.before.length === 0 && entry.after.length === 0) { - expandedMiddlewareList.push(entry); - } else { - expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); - } - }); - expandedMiddlewareList.push(from); - from.after.reverse().forEach((entry) => { - if (entry.before.length === 0 && entry.after.length === 0) { - expandedMiddlewareList.push(entry); - } else { - expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); - } - }); - return expandedMiddlewareList; - }, "expandRelativeMiddlewareList"); - const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => { - const normalizedAbsoluteEntries = []; - const normalizedRelativeEntries = []; - const normalizedEntriesNameMap = {}; - absoluteEntries.forEach((entry) => { - const normalizedEntry = { - ...entry, - before: [], - after: [] - }; - for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { - normalizedEntriesNameMap[alias] = normalizedEntry; } - normalizedAbsoluteEntries.push(normalizedEntry); - }); - relativeEntries.forEach((entry) => { - const normalizedEntry = { - ...entry, - before: [], - after: [] - }; - for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { - normalizedEntriesNameMap[alias] = normalizedEntry; - } - normalizedRelativeEntries.push(normalizedEntry); - }); - normalizedRelativeEntries.forEach((entry) => { - if (entry.toMiddleware) { - const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; - if (toMiddleware === void 0) { - if (debug) { - return; - } - throw new Error( - `${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}` - ); - } - if (entry.relation === "after") { - toMiddleware.after.push(entry); - } - if (entry.relation === "before") { - toMiddleware.before.push(entry); - } - } - }); - const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => { - wholeList.push(...expandedMiddlewareList); - return wholeList; - }, []); - return mainChain; - }, "getMiddlewareList"); - const stack = { - add: (middleware, options = {}) => { - const { name, override, aliases: _aliases } = options; - const entry = { - step: "initialize", - priority: "normal", - middleware, - ...options - }; - const aliases = getAllAliases(name, _aliases); - if (aliases.length > 0) { - if (aliases.some((alias) => entriesNameSet.has(alias))) { - if (!override) - throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); - for (const alias of aliases) { - const toOverrideIndex = absoluteEntries.findIndex( - (entry2) => { - var _a; - return entry2.name === alias || ((_a = entry2.aliases) == null ? void 0 : _a.some((a) => a === alias)); - } - ); - if (toOverrideIndex === -1) { - continue; - } - const toOverride = absoluteEntries[toOverrideIndex]; - if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) { - throw new Error( - `"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware with ${entry.priority} priority in ${entry.step} step.` - ); - } - absoluteEntries.splice(toOverrideIndex, 1); - } - } - for (const alias of aliases) { - entriesNameSet.add(alias); - } - } - absoluteEntries.push(entry); - }, - addRelativeTo: (middleware, options) => { - const { name, override, aliases: _aliases } = options; - const entry = { - middleware, - ...options - }; - const aliases = getAllAliases(name, _aliases); - if (aliases.length > 0) { - if (aliases.some((alias) => entriesNameSet.has(alias))) { - if (!override) - throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); - for (const alias of aliases) { - const toOverrideIndex = relativeEntries.findIndex( - (entry2) => { - var _a; - return entry2.name === alias || ((_a = entry2.aliases) == null ? void 0 : _a.some((a) => a === alias)); - } - ); - if (toOverrideIndex === -1) { - continue; - } - const toOverride = relativeEntries[toOverrideIndex]; - if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { - throw new Error( - `"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware ${entry.relation} "${entry.toMiddleware}" middleware.` - ); - } - relativeEntries.splice(toOverrideIndex, 1); - } - } - for (const alias of aliases) { - entriesNameSet.add(alias); - } - } - relativeEntries.push(entry); - }, - clone: () => cloneTo(constructStack()), - use: (plugin) => { - plugin.applyToStack(stack); - }, - remove: (toRemove) => { - if (typeof toRemove === "string") - return removeByName(toRemove); - else - return removeByReference(toRemove); - }, - removeByTag: (toRemove) => { - let isRemoved = false; - const filterCb = /* @__PURE__ */ __name((entry) => { - const { tags, name, aliases: _aliases } = entry; - if (tags && tags.includes(toRemove)) { - const aliases = getAllAliases(name, _aliases); - for (const alias of aliases) { - entriesNameSet.delete(alias); - } - isRemoved = true; - return false; - } - return true; - }, "filterCb"); - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }, - concat: (from) => { - var _a; - const cloned = cloneTo(constructStack()); - cloned.use(from); - cloned.identifyOnResolve( - identifyOnResolve || cloned.identifyOnResolve() || (((_a = from.identifyOnResolve) == null ? void 0 : _a.call(from)) ?? false) - ); - return cloned; - }, - applyToStack: cloneTo, - identify: () => { - return getMiddlewareList(true).map((mw) => { - const step = mw.step ?? mw.relation + " " + mw.toMiddleware; - return getMiddlewareNameWithAliases(mw.name, mw.aliases) + " - " + step; - }); - }, - identifyOnResolve(toggle) { - if (typeof toggle === "boolean") - identifyOnResolve = toggle; - return identifyOnResolve; - }, - resolve: (handler2, context) => { - for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { - handler2 = middleware(handler2, context); - } - if (identifyOnResolve) { - console.log(stack.identify()); - } - return handler2; - } - }; - return stack; - }, "constructStack"); - var stepWeights = { - initialize: 5, - serialize: 4, - build: 3, - finalizeRequest: 2, - deserialize: 1 - }; - var priorityWeights = { - high: 3, - normal: 2, - low: 1 - }; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js -var require_fromBase64 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromBase64 = void 0; - var util_buffer_from_1 = require_dist_cjs9(); - var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; - var fromBase642 = (input) => { - if (input.length * 3 % 4 !== 0) { - throw new TypeError(`Incorrect padding on base64 string.`); - } - if (!BASE64_REGEX.exec(input)) { - throw new TypeError(`Invalid base64 string.`); + return endpoint; + }; } - const buffer = (0, util_buffer_from_1.fromString)(input, "base64"); - return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); - }; - exports2.fromBase64 = fromBase642; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js -var require_toBase64 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.toBase64 = void 0; - var util_buffer_from_1 = require_dist_cjs9(); - var util_utf8_1 = require_dist_cjs10(); - var toBase642 = (_input) => { - let input; - if (typeof _input === "string") { - input = (0, util_utf8_1.fromUtf8)(_input); - } else { - input = _input; + return configProvider; + }, "createConfigValueProvider"); + var import_getEndpointFromConfig = require_getEndpointFromConfig(); + var import_url_parser = require_dist_cjs28(); + var toEndpointV1 = /* @__PURE__ */ __name((endpoint) => { + if (typeof endpoint === "object") { + if ("url" in endpoint) { + return (0, import_url_parser.parseUrl)(endpoint.url); + } + return endpoint; } - if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { - throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array."); + return (0, import_url_parser.parseUrl)(endpoint); + }, "toEndpointV1"); + var getEndpointFromInstructions = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig, context) => { + if (!clientConfig.endpoint) { + let endpointFromConfig; + if (clientConfig.serviceConfiguredEndpoint) { + endpointFromConfig = await clientConfig.serviceConfiguredEndpoint(); + } else { + endpointFromConfig = await (0, import_getEndpointFromConfig.getEndpointFromConfig)(clientConfig.serviceId); + } + if (endpointFromConfig) { + clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig)); + } } - return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64"); - }; - exports2.toBase64 = toBase642; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/index.js -var require_dist_cjs34 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig); + if (typeof clientConfig.endpointProvider !== "function") { + throw new Error("config.endpointProvider is not set."); } - return to; + const endpoint = clientConfig.endpointProvider(endpointParams, context); + return endpoint; + }, "getEndpointFromInstructions"); + var resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => { + var _a; + const endpointParams = {}; + const instructions = ((_a = instructionsSupplier == null ? void 0 : instructionsSupplier.getEndpointParameterInstructions) == null ? void 0 : _a.call(instructionsSupplier)) || {}; + for (const [name, instruction] of Object.entries(instructions)) { + switch (instruction.type) { + case "staticContextParams": + endpointParams[name] = instruction.value; + break; + case "contextParams": + endpointParams[name] = commandInput[instruction.name]; + break; + case "clientContextParams": + case "builtInParams": + endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)(); + break; + case "operationContextParams": + endpointParams[name] = instruction.get(commandInput); + break; + default: + throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); + } + } + if (Object.keys(instructions).length === 0) { + Object.assign(endpointParams, clientConfig); + } + if (String(clientConfig.serviceId).toLowerCase() === "s3") { + await resolveParamsForS3(endpointParams); + } + return endpointParams; + }, "resolveParams"); + var import_core3 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var import_util_middleware3 = require_dist_cjs10(); + var endpointMiddleware = /* @__PURE__ */ __name(({ + config, + instructions + }) => { + return (next, context) => async (args) => { + var _a, _b, _c; + if (config.endpoint) { + (0, import_core3.setFeature)(context, "ENDPOINT_OVERRIDE", "N"); + } + const endpoint = await getEndpointFromInstructions( + args.input, + { + getEndpointParameterInstructions() { + return instructions; + } + }, + { ...config }, + context + ); + context.endpointV2 = endpoint; + context.authSchemes = (_a = endpoint.properties) == null ? void 0 : _a.authSchemes; + const authScheme = (_b = context.authSchemes) == null ? void 0 : _b[0]; + if (authScheme) { + context["signing_region"] = authScheme.signingRegion; + context["signing_service"] = authScheme.signingName; + const smithyContext = (0, import_util_middleware3.getSmithyContext)(context); + const httpAuthOption = (_c = smithyContext == null ? void 0 : smithyContext.selectedHttpAuthScheme) == null ? void 0 : _c.httpAuthOption; + if (httpAuthOption) { + httpAuthOption.signingProperties = Object.assign( + httpAuthOption.signingProperties || {}, + { + signing_region: authScheme.signingRegion, + signingRegion: authScheme.signingRegion, + signing_service: authScheme.signingName, + signingName: authScheme.signingName, + signingRegionSet: authScheme.signingRegionSet + }, + authScheme.properties + ); + } + } + return next({ + ...args + }); + }; + }, "endpointMiddleware"); + var import_middleware_serde2 = require_dist_cjs12(); + var endpointMiddlewareOptions = { + step: "serialize", + tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], + name: "endpointV2Middleware", + override: true, + relation: "before", + toMiddleware: import_middleware_serde2.serializerMiddlewareOption.name }; - var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - module2.exports = __toCommonJS2(src_exports); - __reExport(src_exports, require_fromBase64(), module2.exports); - __reExport(src_exports, require_toBase64(), module2.exports); + var getEndpointPlugin = /* @__PURE__ */ __name((config, instructions) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo( + endpointMiddleware({ + config, + instructions + }), + endpointMiddlewareOptions + ); + } + }), "getEndpointPlugin"); + var import_getEndpointFromConfig2 = require_getEndpointFromConfig(); + var resolveEndpointConfig = /* @__PURE__ */ __name((input) => { + const tls = input.tls ?? true; + const { endpoint } = input; + const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await (0, import_util_middleware3.normalizeProvider)(endpoint)()) : void 0; + const isCustomEndpoint = !!endpoint; + const resolvedConfig = { + ...input, + endpoint: customEndpointProvider, + tls, + isCustomEndpoint, + useDualstackEndpoint: (0, import_util_middleware3.normalizeProvider)(input.useDualstackEndpoint ?? false), + useFipsEndpoint: (0, import_util_middleware3.normalizeProvider)(input.useFipsEndpoint ?? false) + }; + let configuredEndpointPromise = void 0; + resolvedConfig.serviceConfiguredEndpoint = async () => { + if (input.serviceId && !configuredEndpointPromise) { + configuredEndpointPromise = (0, import_getEndpointFromConfig2.getEndpointFromConfig)(input.serviceId); + } + return configuredEndpointPromise; + }; + return resolvedConfig; + }, "resolveEndpointConfig"); } }); -// ../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js -var require_getAwsChunkedEncodingStream = __commonJS({ - "../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getAwsChunkedEncodingStream = void 0; - var stream_1 = require("stream"); - var getAwsChunkedEncodingStream2 = (readableStream, options) => { - const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; - const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; - const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; - const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { - } }); - readableStream.on("data", (data) => { - const length = bodyLengthChecker(data) || 0; - awsChunkedEncodingStream.push(`${length.toString(16)}\r -`); - awsChunkedEncodingStream.push(data); - awsChunkedEncodingStream.push("\r\n"); - }); - readableStream.on("end", async () => { - awsChunkedEncodingStream.push(`0\r -`); - if (checksumRequired) { - const checksum = base64Encoder(await digest); - awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r -`); - awsChunkedEncodingStream.push(`\r -`); - } - awsChunkedEncodingStream.push(null); - }); - return awsChunkedEncodingStream; - }; - exports2.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream2; +// ../../../node_modules/uuid/dist/esm-node/rng.js +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + import_crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +var import_crypto, rnds8Pool, poolPtr; +var init_rng = __esm({ + "../../../node_modules/uuid/dist/esm-node/rng.js"() { + import_crypto = __toESM(require("crypto")); + rnds8Pool = new Uint8Array(256); + poolPtr = rnds8Pool.length; } }); -// ../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js -var require_dist_cjs35 = __commonJS({ - "../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - buildQueryString: () => buildQueryString - }); - module2.exports = __toCommonJS2(src_exports); - var import_util_uri_escape = require_dist_cjs12(); - function buildQueryString(query) { - const parts = []; - for (let key of Object.keys(query).sort()) { - const value = query[key]; - key = (0, import_util_uri_escape.escapeUri)(key); - if (Array.isArray(value)) { - for (let i = 0, iLen = value.length; i < iLen; i++) { - parts.push(`${key}=${(0, import_util_uri_escape.escapeUri)(value[i])}`); - } - } else { - let qsEntry = key; - if (value || typeof value === "string") { - qsEntry += `=${(0, import_util_uri_escape.escapeUri)(value)}`; - } - parts.push(qsEntry); - } - } - return parts.join("&"); +// ../../../node_modules/uuid/dist/esm-node/regex.js +var regex_default; +var init_regex = __esm({ + "../../../node_modules/uuid/dist/esm-node/regex.js"() { + regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/validate.js +function validate(uuid) { + return typeof uuid === "string" && regex_default.test(uuid); +} +var validate_default; +var init_validate = __esm({ + "../../../node_modules/uuid/dist/esm-node/validate.js"() { + init_regex(); + validate_default = validate; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/stringify.js +function unsafeStringify(arr, offset = 0) { + return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]; +} +function stringify(arr, offset = 0) { + const uuid = unsafeStringify(arr, offset); + if (!validate_default(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; +} +var byteToHex, stringify_default; +var init_stringify = __esm({ + "../../../node_modules/uuid/dist/esm-node/stringify.js"() { + init_validate(); + byteToHex = []; + for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 256).toString(16).slice(1)); } - __name(buildQueryString, "buildQueryString"); + stringify_default = stringify; } }); -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js -var require_dist_cjs36 = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports2, module2) { - var __create2 = Object.create; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __getProtoOf2 = Object.getPrototypeOf; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - DEFAULT_REQUEST_TIMEOUT: () => DEFAULT_REQUEST_TIMEOUT, - NodeHttp2Handler: () => NodeHttp2Handler, - NodeHttpHandler: () => NodeHttpHandler, - streamCollector: () => streamCollector - }); - module2.exports = __toCommonJS2(src_exports); - var import_protocol_http = require_dist_cjs2(); - var import_querystring_builder = require_dist_cjs35(); - var import_http2 = require("http"); - var import_https = require("https"); - var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; - var getTransformedHeaders = /* @__PURE__ */ __name((headers) => { - const transformedHeaders = {}; - for (const name of Object.keys(headers)) { - const headerValues = headers[name]; - transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; - } - return transformedHeaders; - }, "getTransformedHeaders"); - var setConnectionTimeout = /* @__PURE__ */ __name((request2, reject, timeoutInMs = 0) => { - if (!timeoutInMs) { - return; - } - const timeoutId = setTimeout(() => { - request2.destroy(); - reject( - Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { - name: "TimeoutError" - }) - ); - }, timeoutInMs); - request2.on("socket", (socket) => { - if (socket.connecting) { - socket.on("connect", () => { - clearTimeout(timeoutId); - }); - } else { - clearTimeout(timeoutId); - } - }); - }, "setConnectionTimeout"); - var setSocketKeepAlive = /* @__PURE__ */ __name((request2, { keepAlive, keepAliveMsecs }) => { - if (keepAlive !== true) { - return; - } - request2.on("socket", (socket) => { - socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); - }); - }, "setSocketKeepAlive"); - var setSocketTimeout = /* @__PURE__ */ __name((request2, reject, timeoutInMs = 0) => { - request2.setTimeout(timeoutInMs, () => { - request2.destroy(); - reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" })); - }); - }, "setSocketTimeout"); - var import_stream = require("stream"); - var MIN_WAIT_TIME = 1e3; - async function writeRequestBody(httpRequest, request2, maxContinueTimeoutMs = MIN_WAIT_TIME) { - const headers = request2.headers ?? {}; - const expect = headers["Expect"] || headers["expect"]; - let timeoutId = -1; - let hasError = false; - if (expect === "100-continue") { - await Promise.race([ - new Promise((resolve) => { - timeoutId = Number(setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); - }), - new Promise((resolve) => { - httpRequest.on("continue", () => { - clearTimeout(timeoutId); - resolve(); - }); - httpRequest.on("error", () => { - hasError = true; - clearTimeout(timeoutId); - resolve(); - }); - }) - ]); - } - if (!hasError) { - writeBody(httpRequest, request2.body); - } +// ../../../node_modules/uuid/dist/esm-node/v1.js +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + if (node == null) { + node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; } - __name(writeRequestBody, "writeRequestBody"); - function writeBody(httpRequest, body) { - if (body instanceof import_stream.Readable) { - body.pipe(httpRequest); - return; - } - if (body) { - if (Buffer.isBuffer(body) || typeof body === "string") { - httpRequest.end(body); - return; - } - const uint8 = body; - if (typeof uint8 === "object" && uint8.buffer && typeof uint8.byteOffset === "number" && typeof uint8.byteLength === "number") { - httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength)); - return; - } - httpRequest.end(Buffer.from(body)); - return; - } - httpRequest.end(); + if (clockseq == null) { + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; } - __name(writeBody, "writeBody"); - var DEFAULT_REQUEST_TIMEOUT = 0; - var _NodeHttpHandler = class _NodeHttpHandler2 { - constructor(options) { - this.socketWarningTimestamp = 0; - this.metadata = { handlerProtocol: "http/1.1" }; - this.configProvider = new Promise((resolve, reject) => { - if (typeof options === "function") { - options().then((_options) => { - resolve(this.resolveDefaultConfig(_options)); - }).catch(reject); - } else { - resolve(this.resolveDefaultConfig(options)); - } - }); - } - /** - * @returns the input if it is an HttpHandler of any class, - * or instantiates a new instance of this handler. - */ - static create(instanceOrOptions) { - if (typeof (instanceOrOptions == null ? void 0 : instanceOrOptions.handle) === "function") { - return instanceOrOptions; - } - return new _NodeHttpHandler2(instanceOrOptions); - } - /** - * @internal - * - * @param agent - http(s) agent in use by the NodeHttpHandler instance. - * @returns timestamp of last emitted warning. - */ - static checkSocketUsage(agent, socketWarningTimestamp) { - var _a, _b; - const { sockets, requests, maxSockets } = agent; - if (typeof maxSockets !== "number" || maxSockets === Infinity) { - return socketWarningTimestamp; - } - const interval = 15e3; - if (Date.now() - interval < socketWarningTimestamp) { - return socketWarningTimestamp; - } - if (sockets && requests) { - for (const origin in sockets) { - const socketsInUse = ((_a = sockets[origin]) == null ? void 0 : _a.length) ?? 0; - const requestsEnqueued = ((_b = requests[origin]) == null ? void 0 : _b.length) ?? 0; - if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) { - console.warn( - "@smithy/node-http-handler:WARN", - `socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.`, - "See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html", - "or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config." - ); - return Date.now(); - } - } - } - return socketWarningTimestamp; + } + let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { + clockseq = clockseq + 1 & 16383; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + msecs += 122192928e5; + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + const tmh = msecs / 4294967296 * 1e4 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + b[i++] = tmh >>> 24 & 15 | 16; + b[i++] = tmh >>> 16 & 255; + b[i++] = clockseq >>> 8 | 128; + b[i++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || unsafeStringify(b); +} +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var init_v1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v1.js"() { + init_rng(); + init_stringify(); + _lastMSecs = 0; + _lastNSecs = 0; + v1_default = v1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/parse.js +function parse(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + let v; + const arr = new Uint8Array(16); + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 255; + arr[2] = v >>> 8 & 255; + arr[3] = v & 255; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 255; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 255; + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 255; + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; + arr[11] = v / 4294967296 & 255; + arr[12] = v >>> 24 & 255; + arr[13] = v >>> 16 & 255; + arr[14] = v >>> 8 & 255; + arr[15] = v & 255; + return arr; +} +var parse_default; +var init_parse = __esm({ + "../../../node_modules/uuid/dist/esm-node/parse.js"() { + init_validate(); + parse_default = parse; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v35.js +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; +} +function v35(name, version2, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + var _namespace; + if (typeof value === "string") { + value = stringToBytes(value); + } + if (typeof namespace === "string") { + namespace = parse_default(namespace); + } + if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { + throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); + } + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 15 | version2; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; } - resolveDefaultConfig(options) { - const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {}; - const keepAlive = true; - const maxSockets = 50; - return { - connectionTimeout, - requestTimeout: requestTimeout ?? socketTimeout, - httpAgent: (() => { - if (httpAgent instanceof import_http2.Agent || typeof (httpAgent == null ? void 0 : httpAgent.destroy) === "function") { - return httpAgent; - } - return new import_http2.Agent({ keepAlive, maxSockets, ...httpAgent }); - })(), - httpsAgent: (() => { - if (httpsAgent instanceof import_https.Agent || typeof (httpsAgent == null ? void 0 : httpsAgent.destroy) === "function") { - return httpsAgent; - } - return new import_https.Agent({ keepAlive, maxSockets, ...httpsAgent }); - })() - }; - } - destroy() { - var _a, _b, _c, _d; - (_b = (_a = this.config) == null ? void 0 : _a.httpAgent) == null ? void 0 : _b.destroy(); - (_d = (_c = this.config) == null ? void 0 : _c.httpsAgent) == null ? void 0 : _d.destroy(); + return buf; + } + return unsafeStringify(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; +} +var DNS, URL2; +var init_v35 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v35.js"() { + init_stringify(); + init_parse(); + DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/md5.js +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto2.default.createHash("md5").update(bytes).digest(); +} +var import_crypto2, md5_default; +var init_md5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/md5.js"() { + import_crypto2 = __toESM(require("crypto")); + md5_default = md5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v3.js +var v3, v3_default; +var init_v3 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v3.js"() { + init_v35(); + init_md5(); + v3 = v35("v3", 48, md5_default); + v3_default = v3; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/native.js +var import_crypto3, native_default; +var init_native = __esm({ + "../../../node_modules/uuid/dist/esm-node/native.js"() { + import_crypto3 = __toESM(require("crypto")); + native_default = { + randomUUID: import_crypto3.default.randomUUID + }; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v4.js +function v4(options, buf, offset) { + if (native_default.randomUUID && !buf && !options) { + return native_default.randomUUID(); + } + options = options || {}; + const rnds = options.random || (options.rng || rng)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return unsafeStringify(rnds); +} +var v4_default; +var init_v4 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v4.js"() { + init_native(); + init_rng(); + init_stringify(); + v4_default = v4; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/sha1.js +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto4.default.createHash("sha1").update(bytes).digest(); +} +var import_crypto4, sha1_default; +var init_sha1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/sha1.js"() { + import_crypto4 = __toESM(require("crypto")); + sha1_default = sha1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v5.js +var v5, v5_default; +var init_v5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v5.js"() { + init_v35(); + init_sha1(); + v5 = v35("v5", 80, sha1_default); + v5_default = v5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/nil.js +var nil_default; +var init_nil = __esm({ + "../../../node_modules/uuid/dist/esm-node/nil.js"() { + nil_default = "00000000-0000-0000-0000-000000000000"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/version.js +function version(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.slice(14, 15), 16); +} +var version_default; +var init_version = __esm({ + "../../../node_modules/uuid/dist/esm-node/version.js"() { + init_validate(); + version_default = version; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/index.js +var esm_node_exports = {}; +__export(esm_node_exports, { + NIL: () => nil_default, + parse: () => parse_default, + stringify: () => stringify_default, + v1: () => v1_default, + v3: () => v3_default, + v4: () => v4_default, + v5: () => v5_default, + validate: () => validate_default, + version: () => version_default +}); +var init_esm_node = __esm({ + "../../../node_modules/uuid/dist/esm-node/index.js"() { + init_v1(); + init_v3(); + init_v4(); + init_v5(); + init_nil(); + init_version(); + init_validate(); + init_stringify(); + init_parse(); + } +}); + +// ../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js +var require_dist_cjs30 = __commonJS({ + "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - async handle(request2, { abortSignal } = {}) { - if (!this.config) { - this.config = await this.configProvider; + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + isClockSkewCorrectedError: () => isClockSkewCorrectedError, + isClockSkewError: () => isClockSkewError, + isRetryableByTrait: () => isRetryableByTrait, + isServerError: () => isServerError, + isThrottlingError: () => isThrottlingError, + isTransientError: () => isTransientError + }); + module2.exports = __toCommonJS2(src_exports); + var CLOCK_SKEW_ERROR_CODES = [ + "AuthFailure", + "InvalidSignatureException", + "RequestExpired", + "RequestInTheFuture", + "RequestTimeTooSkewed", + "SignatureDoesNotMatch" + ]; + var THROTTLING_ERROR_CODES = [ + "BandwidthLimitExceeded", + "EC2ThrottledException", + "LimitExceededException", + "PriorRequestNotComplete", + "ProvisionedThroughputExceededException", + "RequestLimitExceeded", + "RequestThrottled", + "RequestThrottledException", + "SlowDown", + "ThrottledException", + "Throttling", + "ThrottlingException", + "TooManyRequestsException", + "TransactionInProgressException" + // DynamoDB + ]; + var TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; + var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; + var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; + var isRetryableByTrait = /* @__PURE__ */ __name((error) => error.$retryable !== void 0, "isRetryableByTrait"); + var isClockSkewError = /* @__PURE__ */ __name((error) => CLOCK_SKEW_ERROR_CODES.includes(error.name), "isClockSkewError"); + var isClockSkewCorrectedError = /* @__PURE__ */ __name((error) => { + var _a; + return (_a = error.$metadata) == null ? void 0 : _a.clockSkewCorrected; + }, "isClockSkewCorrectedError"); + var isThrottlingError = /* @__PURE__ */ __name((error) => { + var _a, _b; + return ((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) === 429 || THROTTLING_ERROR_CODES.includes(error.name) || ((_b = error.$retryable) == null ? void 0 : _b.throttling) == true; + }, "isThrottlingError"); + var isTransientError = /* @__PURE__ */ __name((error, depth = 0) => { + var _a; + return isClockSkewCorrectedError(error) || TRANSIENT_ERROR_CODES.includes(error.name) || NODEJS_TIMEOUT_ERROR_CODES.includes((error == null ? void 0 : error.code) || "") || TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) || 0) || error.cause !== void 0 && depth <= 10 && isTransientError(error.cause, depth + 1); + }, "isTransientError"); + var isServerError = /* @__PURE__ */ __name((error) => { + var _a; + if (((_a = error.$metadata) == null ? void 0 : _a.httpStatusCode) !== void 0) { + const statusCode = error.$metadata.httpStatusCode; + if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) { + return true; } - let socketCheckTimeoutId; - return new Promise((_resolve, _reject) => { - let writeRequestBodyPromise = void 0; - const resolve = /* @__PURE__ */ __name(async (arg) => { - await writeRequestBodyPromise; - clearTimeout(socketCheckTimeoutId); - _resolve(arg); - }, "resolve"); - const reject = /* @__PURE__ */ __name(async (arg) => { - await writeRequestBodyPromise; - _reject(arg); - }, "reject"); - if (!this.config) { - throw new Error("Node HTTP request handler config is not resolved"); - } - if (abortSignal == null ? void 0 : abortSignal.aborted) { - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - return; - } - const isSSL = request2.protocol === "https:"; - const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent; - socketCheckTimeoutId = setTimeout(() => { - this.socketWarningTimestamp = _NodeHttpHandler2.checkSocketUsage(agent, this.socketWarningTimestamp); - }, this.config.socketAcquisitionWarningTimeout ?? (this.config.requestTimeout ?? 2e3) + (this.config.connectionTimeout ?? 1e3)); - const queryString = (0, import_querystring_builder.buildQueryString)(request2.query || {}); - let auth = void 0; - if (request2.username != null || request2.password != null) { - const username = request2.username ?? ""; - const password = request2.password ?? ""; - auth = `${username}:${password}`; - } - let path = request2.path; - if (queryString) { - path += `?${queryString}`; - } - if (request2.fragment) { - path += `#${request2.fragment}`; - } - const nodeHttpsOptions = { - headers: request2.headers, - host: request2.hostname, - method: request2.method, - path, - port: request2.port, - agent, - auth - }; - const requestFunc = isSSL ? import_https.request : import_http2.request; - const req = requestFunc(nodeHttpsOptions, (res) => { - const httpResponse = new import_protocol_http.HttpResponse({ - statusCode: res.statusCode || -1, - reason: res.statusMessage, - headers: getTransformedHeaders(res.headers), - body: res - }); - resolve({ response: httpResponse }); - }); - req.on("error", (err) => { - if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) { - reject(Object.assign(err, { name: "TimeoutError" })); - } else { - reject(err); - } - }); - setConnectionTimeout(req, reject, this.config.connectionTimeout); - setSocketTimeout(req, reject, this.config.requestTimeout); - if (abortSignal) { - abortSignal.onabort = () => { - req.abort(); - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - }; - } - const httpAgent = nodeHttpsOptions.agent; - if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { - setSocketKeepAlive(req, { - // @ts-expect-error keepAlive is not public on httpAgent. - keepAlive: httpAgent.keepAlive, - // @ts-expect-error keepAliveMsecs is not public on httpAgent. - keepAliveMsecs: httpAgent.keepAliveMsecs - }); - } - writeRequestBodyPromise = writeRequestBody(req, request2, this.config.requestTimeout).catch(_reject); - }); - } - updateHttpClientConfig(key, value) { - this.config = void 0; - this.configProvider = this.configProvider.then((config) => { - return { - ...config, - [key]: value - }; - }); + return false; } - httpHandlerConfigs() { - return this.config ?? {}; + return false; + }, "isServerError"); + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/index.js +var require_dist_cjs31 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - __name(_NodeHttpHandler, "NodeHttpHandler"); - var NodeHttpHandler = _NodeHttpHandler; - var import_http22 = require("http2"); - var import_http23 = __toESM2(require("http2")); - var _NodeHttp2ConnectionPool = class _NodeHttp2ConnectionPool { - constructor(sessions) { - this.sessions = []; - this.sessions = sessions ?? []; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + AdaptiveRetryStrategy: () => AdaptiveRetryStrategy, + ConfiguredRetryStrategy: () => ConfiguredRetryStrategy, + DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS, + DEFAULT_RETRY_DELAY_BASE: () => DEFAULT_RETRY_DELAY_BASE, + DEFAULT_RETRY_MODE: () => DEFAULT_RETRY_MODE, + DefaultRateLimiter: () => DefaultRateLimiter, + INITIAL_RETRY_TOKENS: () => INITIAL_RETRY_TOKENS, + INVOCATION_ID_HEADER: () => INVOCATION_ID_HEADER, + MAXIMUM_RETRY_DELAY: () => MAXIMUM_RETRY_DELAY, + NO_RETRY_INCREMENT: () => NO_RETRY_INCREMENT, + REQUEST_HEADER: () => REQUEST_HEADER, + RETRY_COST: () => RETRY_COST, + RETRY_MODES: () => RETRY_MODES, + StandardRetryStrategy: () => StandardRetryStrategy, + THROTTLING_RETRY_DELAY_BASE: () => THROTTLING_RETRY_DELAY_BASE, + TIMEOUT_RETRY_COST: () => TIMEOUT_RETRY_COST + }); + module2.exports = __toCommonJS2(src_exports); + var RETRY_MODES = /* @__PURE__ */ ((RETRY_MODES2) => { + RETRY_MODES2["STANDARD"] = "standard"; + RETRY_MODES2["ADAPTIVE"] = "adaptive"; + return RETRY_MODES2; + })(RETRY_MODES || {}); + var DEFAULT_MAX_ATTEMPTS = 3; + var DEFAULT_RETRY_MODE = "standard"; + var import_service_error_classification = require_dist_cjs30(); + var _DefaultRateLimiter = class _DefaultRateLimiter2 { + constructor(options) { + this.currentCapacity = 0; + this.enabled = false; + this.lastMaxRate = 0; + this.measuredTxRate = 0; + this.requestCount = 0; + this.lastTimestamp = 0; + this.timeWindow = 0; + this.beta = (options == null ? void 0 : options.beta) ?? 0.7; + this.minCapacity = (options == null ? void 0 : options.minCapacity) ?? 1; + this.minFillRate = (options == null ? void 0 : options.minFillRate) ?? 0.5; + this.scaleConstant = (options == null ? void 0 : options.scaleConstant) ?? 0.4; + this.smooth = (options == null ? void 0 : options.smooth) ?? 0.8; + const currentTimeInSeconds = this.getCurrentTimeInSeconds(); + this.lastThrottleTime = currentTimeInSeconds; + this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); + this.fillRate = this.minFillRate; + this.maxCapacity = this.minCapacity; } - poll() { - if (this.sessions.length > 0) { - return this.sessions.shift(); + getCurrentTimeInSeconds() { + return Date.now() / 1e3; + } + async getSendToken() { + return this.acquireTokenBucket(1); + } + async acquireTokenBucket(amount) { + if (!this.enabled) { + return; + } + this.refillTokenBucket(); + if (amount > this.currentCapacity) { + const delay = (amount - this.currentCapacity) / this.fillRate * 1e3; + await new Promise((resolve) => _DefaultRateLimiter2.setTimeoutFn(resolve, delay)); } + this.currentCapacity = this.currentCapacity - amount; } - offerLast(session) { - this.sessions.push(session); + refillTokenBucket() { + const timestamp = this.getCurrentTimeInSeconds(); + if (!this.lastTimestamp) { + this.lastTimestamp = timestamp; + return; + } + const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; + this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount); + this.lastTimestamp = timestamp; } - contains(session) { - return this.sessions.includes(session); + updateClientSendingRate(response) { + let calculatedRate; + this.updateMeasuredRate(); + if ((0, import_service_error_classification.isThrottlingError)(response)) { + const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); + this.lastMaxRate = rateToUse; + this.calculateTimeWindow(); + this.lastThrottleTime = this.getCurrentTimeInSeconds(); + calculatedRate = this.cubicThrottle(rateToUse); + this.enableTokenBucket(); + } else { + this.calculateTimeWindow(); + calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); + } + const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); + this.updateTokenBucketRate(newRate); } - remove(session) { - this.sessions = this.sessions.filter((s) => s !== session); + calculateTimeWindow() { + this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); } - [Symbol.iterator]() { - return this.sessions[Symbol.iterator](); + cubicThrottle(rateToUse) { + return this.getPrecise(rateToUse * this.beta); } - destroy(connection) { - for (const session of this.sessions) { - if (session === connection) { - if (!session.destroyed) { - session.destroy(); - } - } - } + cubicSuccess(timestamp) { + return this.getPrecise( + this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate + ); } - }; - __name(_NodeHttp2ConnectionPool, "NodeHttp2ConnectionPool"); - var NodeHttp2ConnectionPool = _NodeHttp2ConnectionPool; - var _NodeHttp2ConnectionManager = class _NodeHttp2ConnectionManager { - constructor(config) { - this.sessionCache = /* @__PURE__ */ new Map(); - this.config = config; - if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { - throw new RangeError("maxConcurrency must be greater than zero."); - } + enableTokenBucket() { + this.enabled = true; } - lease(requestContext, connectionConfiguration) { - const url2 = this.getUrlString(requestContext); - const existingPool = this.sessionCache.get(url2); - if (existingPool) { - const existingSession = existingPool.poll(); - if (existingSession && !this.config.disableConcurrency) { - return existingSession; - } + updateTokenBucketRate(newRate) { + this.refillTokenBucket(); + this.fillRate = Math.max(newRate, this.minFillRate); + this.maxCapacity = Math.max(newRate, this.minCapacity); + this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity); + } + updateMeasuredRate() { + const t = this.getCurrentTimeInSeconds(); + const timeBucket = Math.floor(t * 2) / 2; + this.requestCount++; + if (timeBucket > this.lastTxRateBucket) { + const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); + this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); + this.requestCount = 0; + this.lastTxRateBucket = timeBucket; } - const session = import_http23.default.connect(url2); - if (this.config.maxConcurrency) { - session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { - if (err) { - throw new Error( - "Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString() - ); - } + } + getPrecise(num) { + return parseFloat(num.toFixed(8)); + } + }; + __name(_DefaultRateLimiter, "DefaultRateLimiter"); + _DefaultRateLimiter.setTimeoutFn = setTimeout; + var DefaultRateLimiter = _DefaultRateLimiter; + var DEFAULT_RETRY_DELAY_BASE = 100; + var MAXIMUM_RETRY_DELAY = 20 * 1e3; + var THROTTLING_RETRY_DELAY_BASE = 500; + var INITIAL_RETRY_TOKENS = 500; + var RETRY_COST = 5; + var TIMEOUT_RETRY_COST = 10; + var NO_RETRY_INCREMENT = 1; + var INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; + var REQUEST_HEADER = "amz-sdk-request"; + var getDefaultRetryBackoffStrategy = /* @__PURE__ */ __name(() => { + let delayBase = DEFAULT_RETRY_DELAY_BASE; + const computeNextBackoffDelay = /* @__PURE__ */ __name((attempts) => { + return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); + }, "computeNextBackoffDelay"); + const setDelayBase = /* @__PURE__ */ __name((delay) => { + delayBase = delay; + }, "setDelayBase"); + return { + computeNextBackoffDelay, + setDelayBase + }; + }, "getDefaultRetryBackoffStrategy"); + var createDefaultRetryToken = /* @__PURE__ */ __name(({ + retryDelay, + retryCount, + retryCost + }) => { + const getRetryCount = /* @__PURE__ */ __name(() => retryCount, "getRetryCount"); + const getRetryDelay = /* @__PURE__ */ __name(() => Math.min(MAXIMUM_RETRY_DELAY, retryDelay), "getRetryDelay"); + const getRetryCost = /* @__PURE__ */ __name(() => retryCost, "getRetryCost"); + return { + getRetryCount, + getRetryDelay, + getRetryCost + }; + }, "createDefaultRetryToken"); + var _StandardRetryStrategy = class _StandardRetryStrategy { + constructor(maxAttempts) { + this.maxAttempts = maxAttempts; + this.mode = "standard"; + this.capacity = INITIAL_RETRY_TOKENS; + this.retryBackoffStrategy = getDefaultRetryBackoffStrategy(); + this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async acquireInitialRetryToken(retryTokenScope) { + return createDefaultRetryToken({ + retryDelay: DEFAULT_RETRY_DELAY_BASE, + retryCount: 0 + }); + } + async refreshRetryTokenForRetry(token, errorInfo) { + const maxAttempts = await this.getMaxAttempts(); + if (this.shouldRetry(token, errorInfo, maxAttempts)) { + const errorType = errorInfo.errorType; + this.retryBackoffStrategy.setDelayBase( + errorType === "THROTTLING" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE + ); + const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); + const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType; + const capacityCost = this.getCapacityCost(errorType); + this.capacity -= capacityCost; + return createDefaultRetryToken({ + retryDelay, + retryCount: token.getRetryCount() + 1, + retryCost: capacityCost }); } - session.unref(); - const destroySessionCb = /* @__PURE__ */ __name(() => { - session.destroy(); - this.deleteSession(url2, session); - }, "destroySessionCb"); - session.on("goaway", destroySessionCb); - session.on("error", destroySessionCb); - session.on("frameError", destroySessionCb); - session.on("close", () => this.deleteSession(url2, session)); - if (connectionConfiguration.requestTimeout) { - session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb); - } - const connectionPool = this.sessionCache.get(url2) || new NodeHttp2ConnectionPool(); - connectionPool.offerLast(session); - this.sessionCache.set(url2, connectionPool); - return session; + throw new Error("No retry token available"); + } + recordSuccess(token) { + this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT)); } /** - * Delete a session from the connection pool. - * @param authority The authority of the session to delete. - * @param session The session to delete. + * @returns the current available retry capacity. + * + * This number decreases when retries are executed and refills when requests or retries succeed. */ - deleteSession(authority, session) { - const existingConnectionPool = this.sessionCache.get(authority); - if (!existingConnectionPool) { - return; - } - if (!existingConnectionPool.contains(session)) { - return; - } - existingConnectionPool.remove(session); - this.sessionCache.set(authority, existingConnectionPool); - } - release(requestContext, session) { - var _a; - const cacheKey = this.getUrlString(requestContext); - (_a = this.sessionCache.get(cacheKey)) == null ? void 0 : _a.offerLast(session); + getCapacity() { + return this.capacity; } - destroy() { - for (const [key, connectionPool] of this.sessionCache) { - for (const session of connectionPool) { - if (!session.destroyed) { - session.destroy(); - } - connectionPool.remove(session); - } - this.sessionCache.delete(key); + async getMaxAttempts() { + try { + return await this.maxAttemptsProvider(); + } catch (error) { + console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`); + return DEFAULT_MAX_ATTEMPTS; } } - setMaxConcurrentStreams(maxConcurrentStreams) { - if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { - throw new RangeError("maxConcurrentStreams must be greater than zero."); - } - this.config.maxConcurrency = maxConcurrentStreams; + shouldRetry(tokenToRenew, errorInfo, maxAttempts) { + const attempts = tokenToRenew.getRetryCount() + 1; + return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType); } - setDisableConcurrentStreams(disableConcurrentStreams) { - this.config.disableConcurrency = disableConcurrentStreams; + getCapacityCost(errorType) { + return errorType === "TRANSIENT" ? TIMEOUT_RETRY_COST : RETRY_COST; } - getUrlString(request2) { - return request2.destination.toString(); + isRetryableError(errorType) { + return errorType === "THROTTLING" || errorType === "TRANSIENT"; } }; - __name(_NodeHttp2ConnectionManager, "NodeHttp2ConnectionManager"); - var NodeHttp2ConnectionManager = _NodeHttp2ConnectionManager; - var _NodeHttp2Handler = class _NodeHttp2Handler2 { - constructor(options) { - this.metadata = { handlerProtocol: "h2" }; - this.connectionManager = new NodeHttp2ConnectionManager({}); - this.configProvider = new Promise((resolve, reject) => { - if (typeof options === "function") { - options().then((opts) => { - resolve(opts || {}); - }).catch(reject); - } else { - resolve(options || {}); - } - }); + __name(_StandardRetryStrategy, "StandardRetryStrategy"); + var StandardRetryStrategy = _StandardRetryStrategy; + var _AdaptiveRetryStrategy = class _AdaptiveRetryStrategy { + constructor(maxAttemptsProvider, options) { + this.maxAttemptsProvider = maxAttemptsProvider; + this.mode = "adaptive"; + const { rateLimiter } = options ?? {}; + this.rateLimiter = rateLimiter ?? new DefaultRateLimiter(); + this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider); + } + async acquireInitialRetryToken(retryTokenScope) { + await this.rateLimiter.getSendToken(); + return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + this.rateLimiter.updateClientSendingRate(errorInfo); + return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + } + recordSuccess(token) { + this.rateLimiter.updateClientSendingRate({}); + this.standardRetryStrategy.recordSuccess(token); } + }; + __name(_AdaptiveRetryStrategy, "AdaptiveRetryStrategy"); + var AdaptiveRetryStrategy = _AdaptiveRetryStrategy; + var _ConfiguredRetryStrategy = class _ConfiguredRetryStrategy extends StandardRetryStrategy { /** - * @returns the input if it is an HttpHandler of any class, - * or instantiates a new instance of this handler. + * @param maxAttempts - the maximum number of retry attempts allowed. + * e.g., if set to 3, then 4 total requests are possible. + * @param computeNextBackoffDelay - a millisecond delay for each retry or a function that takes the retry attempt + * and returns the delay. + * + * @example exponential backoff. + * ```js + * new Client({ + * retryStrategy: new ConfiguredRetryStrategy(3, (attempt) => attempt ** 2) + * }); + * ``` + * @example constant delay. + * ```js + * new Client({ + * retryStrategy: new ConfiguredRetryStrategy(3, 2000) + * }); + * ``` */ - static create(instanceOrOptions) { - if (typeof (instanceOrOptions == null ? void 0 : instanceOrOptions.handle) === "function") { - return instanceOrOptions; + constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) { + super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); + if (typeof computeNextBackoffDelay === "number") { + this.computeNextBackoffDelay = () => computeNextBackoffDelay; + } else { + this.computeNextBackoffDelay = computeNextBackoffDelay; } - return new _NodeHttp2Handler2(instanceOrOptions); } - destroy() { - this.connectionManager.destroy(); + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount()); + return token; } - async handle(request2, { abortSignal } = {}) { - if (!this.config) { - this.config = await this.configProvider; - this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false); - if (this.config.maxConcurrentStreams) { - this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams); - } - } - const { requestTimeout, disableConcurrentStreams } = this.config; - return new Promise((_resolve, _reject) => { - var _a; - let fulfilled = false; - let writeRequestBodyPromise = void 0; - const resolve = /* @__PURE__ */ __name(async (arg) => { - await writeRequestBodyPromise; - _resolve(arg); - }, "resolve"); - const reject = /* @__PURE__ */ __name(async (arg) => { - await writeRequestBodyPromise; - _reject(arg); - }, "reject"); - if (abortSignal == null ? void 0 : abortSignal.aborted) { - fulfilled = true; - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - return; - } - const { hostname, method, port, protocol, query } = request2; - let auth = ""; - if (request2.username != null || request2.password != null) { - const username = request2.username ?? ""; - const password = request2.password ?? ""; - auth = `${username}:${password}@`; - } - const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : ""}`; - const requestContext = { destination: new URL(authority) }; - const session = this.connectionManager.lease(requestContext, { - requestTimeout: (_a = this.config) == null ? void 0 : _a.sessionTimeout, - disableConcurrentStreams: disableConcurrentStreams || false - }); - const rejectWithDestroy = /* @__PURE__ */ __name((err) => { - if (disableConcurrentStreams) { - this.destroySession(session); - } - fulfilled = true; - reject(err); - }, "rejectWithDestroy"); - const queryString = (0, import_querystring_builder.buildQueryString)(query || {}); - let path = request2.path; - if (queryString) { - path += `?${queryString}`; - } - if (request2.fragment) { - path += `#${request2.fragment}`; - } - const req = session.request({ - ...request2.headers, - [import_http22.constants.HTTP2_HEADER_PATH]: path, - [import_http22.constants.HTTP2_HEADER_METHOD]: method - }); - session.ref(); - req.on("response", (headers) => { - const httpResponse = new import_protocol_http.HttpResponse({ - statusCode: headers[":status"] || -1, - headers: getTransformedHeaders(headers), - body: req - }); - fulfilled = true; - resolve({ response: httpResponse }); - if (disableConcurrentStreams) { - session.close(); - this.connectionManager.deleteSession(authority, session); - } - }); - if (requestTimeout) { - req.setTimeout(requestTimeout, () => { - req.close(); - const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`); - timeoutError.name = "TimeoutError"; - rejectWithDestroy(timeoutError); - }); - } - if (abortSignal) { - abortSignal.onabort = () => { - req.close(); - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - rejectWithDestroy(abortError); - }; - } - req.on("frameError", (type, code, id) => { - rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); - }); - req.on("error", rejectWithDestroy); - req.on("aborted", () => { - rejectWithDestroy( - new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`) - ); - }); - req.on("close", () => { - session.unref(); - if (disableConcurrentStreams) { - session.destroy(); - } - if (!fulfilled) { - rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response")); - } - }); - writeRequestBodyPromise = writeRequestBody(req, request2, requestTimeout); - }); - } - updateHttpClientConfig(key, value) { - this.config = void 0; - this.configProvider = this.configProvider.then((config) => { - return { - ...config, - [key]: value - }; - }); - } - httpHandlerConfigs() { - return this.config ?? {}; - } - /** - * Destroys a session. - * @param session The session to destroy. - */ - destroySession(session) { - if (!session.destroyed) { - session.destroy(); - } - } - }; - __name(_NodeHttp2Handler, "NodeHttp2Handler"); - var NodeHttp2Handler = _NodeHttp2Handler; - var _Collector = class _Collector extends import_stream.Writable { - constructor() { - super(...arguments); - this.bufferedBytes = []; - } - _write(chunk, encoding, callback) { - this.bufferedBytes.push(chunk); - callback(); - } - }; - __name(_Collector, "Collector"); - var Collector = _Collector; - var streamCollector = /* @__PURE__ */ __name((stream) => new Promise((resolve, reject) => { - const collector = new Collector(); - stream.pipe(collector); - stream.on("error", (err) => { - collector.end(); - reject(err); - }); - collector.on("error", reject); - collector.on("finish", function() { - const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes)); - resolve(bytes); - }); - }), "streamCollector"); - } -}); - -// ../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js -var require_sdk_stream_mixin = __commonJS({ - "../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.sdkStreamMixin = void 0; - var node_http_handler_1 = require_dist_cjs36(); - var util_buffer_from_1 = require_dist_cjs9(); - var stream_1 = require("stream"); - var util_1 = require("util"); - var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; - var sdkStreamMixin2 = (stream) => { - var _a, _b; - if (!(stream instanceof stream_1.Readable)) { - const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; - throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); - } - let transformed = false; - const transformToByteArray = async () => { - if (transformed) { - throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); - } - transformed = true; - return await (0, node_http_handler_1.streamCollector)(stream); - }; - return Object.assign(stream, { - transformToByteArray, - transformToString: async (encoding) => { - const buf = await transformToByteArray(); - if (encoding === void 0 || Buffer.isEncoding(encoding)) { - return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); - } else { - const decoder2 = new util_1.TextDecoder(encoding); - return decoder2.decode(buf); - } - }, - transformToWebStream: () => { - if (transformed) { - throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); - } - if (stream.readableFlowing !== null) { - throw new Error("The stream has been consumed by other callbacks."); - } - if (typeof stream_1.Readable.toWeb !== "function") { - throw new Error("Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available."); - } - transformed = true; - return stream_1.Readable.toWeb(stream); - } - }); }; - exports2.sdkStreamMixin = sdkStreamMixin2; + __name(_ConfiguredRetryStrategy, "ConfiguredRetryStrategy"); + var ConfiguredRetryStrategy = _ConfiguredRetryStrategy; } }); -// ../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/index.js -var require_dist_cjs37 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/node_modules/@smithy/util-stream/dist-cjs/index.js"(exports2, module2) { +// ../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js +var require_dist_cjs32 = __commonJS({ + "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -7795,467 +6951,702 @@ var require_dist_cjs37 = __commonJS({ } return to; }; - var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { - Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter + constructStack: () => constructStack }); module2.exports = __toCommonJS2(src_exports); - var import_util_base64 = require_dist_cjs34(); - var import_util_utf8 = require_dist_cjs10(); - function transformToString(payload, encoding = "utf-8") { - if (encoding === "base64") { - return (0, import_util_base64.toBase64)(payload); - } - return (0, import_util_utf8.toUtf8)(payload); - } - __name(transformToString, "transformToString"); - function transformFromString(str, encoding) { - if (encoding === "base64") { - return Uint8ArrayBlobAdapter.mutate((0, import_util_base64.fromBase64)(str)); + var getAllAliases = /* @__PURE__ */ __name((name, aliases) => { + const _aliases = []; + if (name) { + _aliases.push(name); } - return Uint8ArrayBlobAdapter.mutate((0, import_util_utf8.fromUtf8)(str)); - } - __name(transformFromString, "transformFromString"); - var _Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter2 extends Uint8Array { - /** - * @param source - such as a string or Stream. - * @returns a new Uint8ArrayBlobAdapter extending Uint8Array. - */ - static fromString(source, encoding = "utf-8") { - switch (typeof source) { - case "string": - return transformFromString(source, encoding); - default: - throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); + if (aliases) { + for (const alias of aliases) { + _aliases.push(alias); } } - /** - * @param source - Uint8Array to be mutated. - * @returns the same Uint8Array but with prototype switched to Uint8ArrayBlobAdapter. - */ - static mutate(source) { - Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter2.prototype); - return source; - } - /** - * @param encoding - default 'utf-8'. - * @returns the blob as string. - */ - transformToString(encoding = "utf-8") { - return transformToString(this, encoding); - } - }; - __name(_Uint8ArrayBlobAdapter, "Uint8ArrayBlobAdapter"); - var Uint8ArrayBlobAdapter = _Uint8ArrayBlobAdapter; - __reExport(src_exports, require_getAwsChunkedEncodingStream(), module2.exports); - __reExport(src_exports, require_sdk_stream_mixin(), module2.exports); - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/index.js -var require_dist_cjs38 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - Client: () => Client, - Command: () => Command, - LazyJsonString: () => LazyJsonString, - NoOpLogger: () => NoOpLogger, - SENSITIVE_STRING: () => SENSITIVE_STRING, - ServiceException: () => ServiceException, - StringWrapper: () => StringWrapper, - _json: () => _json, - collectBody: () => collectBody, - convertMap: () => convertMap, - createAggregatedClient: () => createAggregatedClient, - dateToUtcString: () => dateToUtcString, - decorateServiceException: () => decorateServiceException, - emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion, - expectBoolean: () => expectBoolean, - expectByte: () => expectByte, - expectFloat32: () => expectFloat32, - expectInt: () => expectInt, - expectInt32: () => expectInt32, - expectLong: () => expectLong, - expectNonNull: () => expectNonNull, - expectNumber: () => expectNumber, - expectObject: () => expectObject, - expectShort: () => expectShort, - expectString: () => expectString, - expectUnion: () => expectUnion, - extendedEncodeURIComponent: () => extendedEncodeURIComponent, - getArrayIfSingleItem: () => getArrayIfSingleItem, - getDefaultClientConfiguration: () => getDefaultClientConfiguration, - getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration, - getValueFromTextNode: () => getValueFromTextNode, - handleFloat: () => handleFloat, - limitedParseDouble: () => limitedParseDouble, - limitedParseFloat: () => limitedParseFloat, - limitedParseFloat32: () => limitedParseFloat32, - loadConfigsForDefaultMode: () => loadConfigsForDefaultMode, - logger: () => logger, - map: () => map, - parseBoolean: () => parseBoolean, - parseEpochTimestamp: () => parseEpochTimestamp, - parseRfc3339DateTime: () => parseRfc3339DateTime, - parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset, - parseRfc7231DateTime: () => parseRfc7231DateTime, - resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig, - resolvedPath: () => resolvedPath, - serializeFloat: () => serializeFloat, - splitEvery: () => splitEvery, - strictParseByte: () => strictParseByte, - strictParseDouble: () => strictParseDouble, - strictParseFloat: () => strictParseFloat, - strictParseFloat32: () => strictParseFloat32, - strictParseInt: () => strictParseInt, - strictParseInt32: () => strictParseInt32, - strictParseLong: () => strictParseLong, - strictParseShort: () => strictParseShort, - take: () => take, - throwDefaultError: () => throwDefaultError, - withBaseException: () => withBaseException - }); - module2.exports = __toCommonJS2(src_exports); - var _NoOpLogger = class _NoOpLogger { - trace() { - } - debug() { - } - info() { - } - warn() { - } - error() { - } - }; - __name(_NoOpLogger, "NoOpLogger"); - var NoOpLogger = _NoOpLogger; - var import_middleware_stack = require_dist_cjs33(); - var _Client = class _Client { - constructor(config) { - this.middlewareStack = (0, import_middleware_stack.constructStack)(); - this.config = config; - } - send(command, optionsOrCb, cb) { - const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; - const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; - const handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); - if (callback) { - handler2(command).then( - (result) => callback(null, result.output), - (err) => callback(err) - ).catch( - // prevent any errors thrown in the callback from triggering an - // unhandled promise rejection - () => { + return _aliases; + }, "getAllAliases"); + var getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => { + return `${name || "anonymous"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(",")})` : ""}`; + }, "getMiddlewareNameWithAliases"); + var constructStack = /* @__PURE__ */ __name(() => { + let absoluteEntries = []; + let relativeEntries = []; + let identifyOnResolve = false; + const entriesNameSet = /* @__PURE__ */ new Set(); + const sort = /* @__PURE__ */ __name((entries) => entries.sort( + (a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"] + ), "sort"); + const removeByName = /* @__PURE__ */ __name((toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + const aliases = getAllAliases(entry.name, entry.aliases); + if (aliases.includes(toRemove)) { + isRemoved = true; + for (const alias of aliases) { + entriesNameSet.delete(alias); } - ); - } else { - return handler2(command).then((result) => result.output); - } - } - destroy() { - if (this.config.requestHandler.destroy) - this.config.requestHandler.destroy(); - } - }; - __name(_Client, "Client"); - var Client = _Client; - var import_util_stream = require_dist_cjs37(); - var collectBody = /* @__PURE__ */ __name(async (streamBody = new Uint8Array(), context) => { - if (streamBody instanceof Uint8Array) { - return import_util_stream.Uint8ArrayBlobAdapter.mutate(streamBody); - } - if (!streamBody) { - return import_util_stream.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); - } - const fromContext = context.streamCollector(streamBody); - return import_util_stream.Uint8ArrayBlobAdapter.mutate(await fromContext); - }, "collectBody"); - var import_types = require_dist_cjs(); - var _Command = class _Command { - constructor() { - this.middlewareStack = (0, import_middleware_stack.constructStack)(); - } - /** - * Factory for Command ClassBuilder. - * @internal - */ - static classBuilder() { - return new ClassBuilder(); - } - /** - * @internal - */ - resolveMiddlewareWithContext(clientStack, configuration, options, { - middlewareFn, - clientName, - commandName, - inputFilterSensitiveLog, - outputFilterSensitiveLog, - smithyContext, - additionalContext, - CommandCtor - }) { - for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) { - this.middlewareStack.use(mw); - } - const stack = clientStack.concat(this.middlewareStack); - const { logger: logger2 } = configuration; - const handlerExecutionContext = { - logger: logger2, - clientName, - commandName, - inputFilterSensitiveLog, - outputFilterSensitiveLog, - [import_types.SMITHY_CONTEXT_KEY]: { - ...smithyContext + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, "removeByName"); + const removeByReference = /* @__PURE__ */ __name((toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + if (entry.middleware === toRemove) { + isRemoved = true; + for (const alias of getAllAliases(entry.name, entry.aliases)) { + entriesNameSet.delete(alias); + } + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, "removeByReference"); + const cloneTo = /* @__PURE__ */ __name((toStack) => { + var _a; + absoluteEntries.forEach((entry) => { + toStack.add(entry.middleware, { ...entry }); + }); + relativeEntries.forEach((entry) => { + toStack.addRelativeTo(entry.middleware, { ...entry }); + }); + (_a = toStack.identifyOnResolve) == null ? void 0 : _a.call(toStack, stack.identifyOnResolve()); + return toStack; + }, "cloneTo"); + const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => { + const expandedMiddlewareList = []; + from.before.forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + expandedMiddlewareList.push(from); + from.after.reverse().forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + return expandedMiddlewareList; + }, "expandRelativeMiddlewareList"); + const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => { + const normalizedAbsoluteEntries = []; + const normalizedRelativeEntries = []; + const normalizedEntriesNameMap = {}; + absoluteEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { + normalizedEntriesNameMap[alias] = normalizedEntry; + } + normalizedAbsoluteEntries.push(normalizedEntry); + }); + relativeEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { + normalizedEntriesNameMap[alias] = normalizedEntry; + } + normalizedRelativeEntries.push(normalizedEntry); + }); + normalizedRelativeEntries.forEach((entry) => { + if (entry.toMiddleware) { + const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; + if (toMiddleware === void 0) { + if (debug) { + return; + } + throw new Error( + `${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}` + ); + } + if (entry.relation === "after") { + toMiddleware.after.push(entry); + } + if (entry.relation === "before") { + toMiddleware.before.push(entry); + } + } + }); + const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce( + (wholeList, expandedMiddlewareList) => { + wholeList.push(...expandedMiddlewareList); + return wholeList; }, - ...additionalContext - }; - const { requestHandler } = configuration; - return stack.resolve( - (request2) => requestHandler.handle(request2.request, options || {}), - handlerExecutionContext + [] ); - } - }; - __name(_Command, "Command"); - var Command = _Command; - var _ClassBuilder = class _ClassBuilder { - constructor() { - this._init = () => { - }; - this._ep = {}; - this._middlewareFn = () => []; - this._commandName = ""; - this._clientName = ""; - this._additionalContext = {}; - this._smithyContext = {}; - this._inputFilterSensitiveLog = (_) => _; - this._outputFilterSensitiveLog = (_) => _; - this._serializer = null; - this._deserializer = null; - } - /** - * Optional init callback. - */ - init(cb) { - this._init = cb; - } - /** - * Set the endpoint parameter instructions. - */ - ep(endpointParameterInstructions) { - this._ep = endpointParameterInstructions; - return this; - } - /** - * Add any number of middleware. - */ - m(middlewareSupplier) { - this._middlewareFn = middlewareSupplier; - return this; - } - /** - * Set the initial handler execution context Smithy field. - */ - s(service, operation, smithyContext = {}) { - this._smithyContext = { - service, - operation, - ...smithyContext - }; - return this; - } - /** - * Set the initial handler execution context. - */ - c(additionalContext = {}) { - this._additionalContext = additionalContext; - return this; - } - /** - * Set constant string identifiers for the operation. - */ - n(clientName, commandName) { - this._clientName = clientName; - this._commandName = commandName; - return this; - } - /** - * Set the input and output sensistive log filters. - */ - f(inputFilter = (_) => _, outputFilter = (_) => _) { - this._inputFilterSensitiveLog = inputFilter; - this._outputFilterSensitiveLog = outputFilter; - return this; - } - /** - * Sets the serializer. - */ - ser(serializer) { - this._serializer = serializer; - return this; - } - /** - * Sets the deserializer. - */ - de(deserializer) { - this._deserializer = deserializer; - return this; - } - /** - * @returns a Command class with the classBuilder properties. - */ - build() { - var _a; - const closure = this; - let CommandRef; - return CommandRef = (_a = class extends Command { - /** - * @public - */ - constructor(...[input]) { - super(); - this.serialize = closure._serializer; - this.deserialize = closure._deserializer; - this.input = input ?? {}; - closure._init(this); + return mainChain; + }, "getMiddlewareList"); + const stack = { + add: (middleware, options = {}) => { + const { name, override, aliases: _aliases } = options; + const entry = { + step: "initialize", + priority: "normal", + middleware, + ...options + }; + const aliases = getAllAliases(name, _aliases); + if (aliases.length > 0) { + if (aliases.some((alias) => entriesNameSet.has(alias))) { + if (!override) + throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); + for (const alias of aliases) { + const toOverrideIndex = absoluteEntries.findIndex( + (entry2) => { + var _a; + return entry2.name === alias || ((_a = entry2.aliases) == null ? void 0 : _a.some((a) => a === alias)); + } + ); + if (toOverrideIndex === -1) { + continue; + } + const toOverride = absoluteEntries[toOverrideIndex]; + if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) { + throw new Error( + `"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware with ${entry.priority} priority in ${entry.step} step.` + ); + } + absoluteEntries.splice(toOverrideIndex, 1); + } + } + for (const alias of aliases) { + entriesNameSet.add(alias); + } } - /** - * @public - */ - static getEndpointParameterInstructions() { - return closure._ep; + absoluteEntries.push(entry); + }, + addRelativeTo: (middleware, options) => { + const { name, override, aliases: _aliases } = options; + const entry = { + middleware, + ...options + }; + const aliases = getAllAliases(name, _aliases); + if (aliases.length > 0) { + if (aliases.some((alias) => entriesNameSet.has(alias))) { + if (!override) + throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); + for (const alias of aliases) { + const toOverrideIndex = relativeEntries.findIndex( + (entry2) => { + var _a; + return entry2.name === alias || ((_a = entry2.aliases) == null ? void 0 : _a.some((a) => a === alias)); + } + ); + if (toOverrideIndex === -1) { + continue; + } + const toOverride = relativeEntries[toOverrideIndex]; + if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { + throw new Error( + `"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware ${entry.relation} "${entry.toMiddleware}" middleware.` + ); + } + relativeEntries.splice(toOverrideIndex, 1); + } + } + for (const alias of aliases) { + entriesNameSet.add(alias); + } } - /** - * @internal - */ - resolveMiddleware(stack, configuration, options) { - return this.resolveMiddlewareWithContext(stack, configuration, options, { - CommandCtor: CommandRef, - middlewareFn: closure._middlewareFn, - clientName: closure._clientName, - commandName: closure._commandName, - inputFilterSensitiveLog: closure._inputFilterSensitiveLog, - outputFilterSensitiveLog: closure._outputFilterSensitiveLog, - smithyContext: closure._smithyContext, - additionalContext: closure._additionalContext - }); + relativeEntries.push(entry); + }, + clone: () => cloneTo(constructStack()), + use: (plugin) => { + plugin.applyToStack(stack); + }, + remove: (toRemove) => { + if (typeof toRemove === "string") + return removeByName(toRemove); + else + return removeByReference(toRemove); + }, + removeByTag: (toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + const { tags, name, aliases: _aliases } = entry; + if (tags && tags.includes(toRemove)) { + const aliases = getAllAliases(name, _aliases); + for (const alias of aliases) { + entriesNameSet.delete(alias); + } + isRemoved = true; + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, + concat: (from) => { + var _a; + const cloned = cloneTo(constructStack()); + cloned.use(from); + cloned.identifyOnResolve( + identifyOnResolve || cloned.identifyOnResolve() || (((_a = from.identifyOnResolve) == null ? void 0 : _a.call(from)) ?? false) + ); + return cloned; + }, + applyToStack: cloneTo, + identify: () => { + return getMiddlewareList(true).map((mw) => { + const step = mw.step ?? mw.relation + " " + mw.toMiddleware; + return getMiddlewareNameWithAliases(mw.name, mw.aliases) + " - " + step; + }); + }, + identifyOnResolve(toggle) { + if (typeof toggle === "boolean") + identifyOnResolve = toggle; + return identifyOnResolve; + }, + resolve: (handler2, context) => { + for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { + handler2 = middleware(handler2, context); } - }, __name(_a, "CommandRef"), _a); - } - }; - __name(_ClassBuilder, "ClassBuilder"); - var ClassBuilder = _ClassBuilder; - var SENSITIVE_STRING = "***SensitiveInformation***"; - var createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => { - for (const command of Object.keys(commands)) { - const CommandCtor = commands[command]; - const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) { - const command2 = new CommandCtor(args); - if (typeof optionsOrCb === "function") { - this.send(command2, optionsOrCb); - } else if (typeof cb === "function") { - if (typeof optionsOrCb !== "object") - throw new Error(`Expected http options but got ${typeof optionsOrCb}`); - this.send(command2, optionsOrCb || {}, cb); - } else { - return this.send(command2, optionsOrCb); + if (identifyOnResolve) { + console.log(stack.identify()); } - }, "methodImpl"); - const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); - Client2.prototype[methodName] = methodImpl; - } - }, "createAggregatedClient"); - var parseBoolean = /* @__PURE__ */ __name((value) => { - switch (value) { - case "true": - return true; - case "false": - return false; - default: - throw new Error(`Unable to parse boolean value "${value}"`); + return handler2; + } + }; + return stack; + }, "constructStack"); + var stepWeights = { + initialize: 5, + serialize: 4, + build: 3, + finalizeRequest: 2, + deserialize: 1 + }; + var priorityWeights = { + high: 3, + normal: 2, + low: 1 + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/index.js +var require_dist_cjs33 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - }, "parseBoolean"); - var expectBoolean = /* @__PURE__ */ __name((value) => { - if (value === null || value === void 0) { - return void 0; + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + Client: () => Client, + Command: () => Command, + LazyJsonString: () => LazyJsonString, + NoOpLogger: () => NoOpLogger, + SENSITIVE_STRING: () => SENSITIVE_STRING, + ServiceException: () => ServiceException, + _json: () => _json, + collectBody: () => import_protocols2.collectBody, + convertMap: () => convertMap, + createAggregatedClient: () => createAggregatedClient, + dateToUtcString: () => dateToUtcString, + decorateServiceException: () => decorateServiceException, + emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion2, + expectBoolean: () => expectBoolean, + expectByte: () => expectByte, + expectFloat32: () => expectFloat32, + expectInt: () => expectInt, + expectInt32: () => expectInt32, + expectLong: () => expectLong, + expectNonNull: () => expectNonNull, + expectNumber: () => expectNumber, + expectObject: () => expectObject, + expectShort: () => expectShort, + expectString: () => expectString, + expectUnion: () => expectUnion2, + extendedEncodeURIComponent: () => import_protocols2.extendedEncodeURIComponent, + getArrayIfSingleItem: () => getArrayIfSingleItem, + getDefaultClientConfiguration: () => getDefaultClientConfiguration, + getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration, + getValueFromTextNode: () => getValueFromTextNode2, + handleFloat: () => handleFloat, + isSerializableHeaderValue: () => isSerializableHeaderValue, + limitedParseDouble: () => limitedParseDouble, + limitedParseFloat: () => limitedParseFloat, + limitedParseFloat32: () => limitedParseFloat32, + loadConfigsForDefaultMode: () => loadConfigsForDefaultMode, + logger: () => logger, + map: () => map, + parseBoolean: () => parseBoolean, + parseEpochTimestamp: () => parseEpochTimestamp, + parseRfc3339DateTime: () => parseRfc3339DateTime, + parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset, + parseRfc7231DateTime: () => parseRfc7231DateTime, + quoteHeader: () => quoteHeader, + resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig, + resolvedPath: () => import_protocols2.resolvedPath, + serializeDateTime: () => serializeDateTime, + serializeFloat: () => serializeFloat, + splitEvery: () => splitEvery, + splitHeader: () => splitHeader, + strictParseByte: () => strictParseByte, + strictParseDouble: () => strictParseDouble, + strictParseFloat: () => strictParseFloat, + strictParseFloat32: () => strictParseFloat32, + strictParseInt: () => strictParseInt, + strictParseInt32: () => strictParseInt32, + strictParseLong: () => strictParseLong, + strictParseShort: () => strictParseShort, + take: () => take, + throwDefaultError: () => throwDefaultError, + withBaseException: () => withBaseException + }); + module2.exports = __toCommonJS2(src_exports); + var import_middleware_stack = require_dist_cjs32(); + var _Client = class _Client { + constructor(config) { + this.config = config; + this.middlewareStack = (0, import_middleware_stack.constructStack)(); } - if (typeof value === "number") { - if (value === 0 || value === 1) { - logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); - } - if (value === 0) { - return false; + send(command, optionsOrCb, cb) { + const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; + const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; + const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true; + let handler2; + if (useHandlerCache) { + if (!this.handlers) { + this.handlers = /* @__PURE__ */ new WeakMap(); + } + const handlers = this.handlers; + if (handlers.has(command.constructor)) { + handler2 = handlers.get(command.constructor); + } else { + handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); + handlers.set(command.constructor, handler2); + } + } else { + delete this.handlers; + handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); } - if (value === 1) { - return true; + if (callback) { + handler2(command).then( + (result) => callback(null, result.output), + (err) => callback(err) + ).catch( + // prevent any errors thrown in the callback from triggering an + // unhandled promise rejection + () => { + } + ); + } else { + return handler2(command).then((result) => result.output); } } - if (typeof value === "string") { - const lower = value.toLowerCase(); - if (lower === "false" || lower === "true") { - logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); - } - if (lower === "false") { - return false; - } - if (lower === "true") { - return true; - } + destroy() { + var _a, _b, _c; + (_c = (_b = (_a = this.config) == null ? void 0 : _a.requestHandler) == null ? void 0 : _b.destroy) == null ? void 0 : _c.call(_b); + delete this.handlers; } - if (typeof value === "boolean") { - return value; + }; + __name(_Client, "Client"); + var Client = _Client; + var import_protocols2 = (init_protocols(), __toCommonJS(protocols_exports)); + var import_types5 = require_dist_cjs(); + var _Command = class _Command { + constructor() { + this.middlewareStack = (0, import_middleware_stack.constructStack)(); } - throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); - }, "expectBoolean"); - var expectNumber = /* @__PURE__ */ __name((value) => { - if (value === null || value === void 0) { - return void 0; + /** + * Factory for Command ClassBuilder. + * @internal + */ + static classBuilder() { + return new ClassBuilder(); } - if (typeof value === "string") { - const parsed = parseFloat(value); - if (!Number.isNaN(parsed)) { - if (String(parsed) !== String(value)) { - logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); - } - return parsed; + /** + * @internal + */ + resolveMiddlewareWithContext(clientStack, configuration, options, { + middlewareFn, + clientName, + commandName, + inputFilterSensitiveLog, + outputFilterSensitiveLog, + smithyContext, + additionalContext, + CommandCtor + }) { + for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) { + this.middlewareStack.use(mw); } + const stack = clientStack.concat(this.middlewareStack); + const { logger: logger2 } = configuration; + const handlerExecutionContext = { + logger: logger2, + clientName, + commandName, + inputFilterSensitiveLog, + outputFilterSensitiveLog, + [import_types5.SMITHY_CONTEXT_KEY]: { + commandInstance: this, + ...smithyContext + }, + ...additionalContext + }; + const { requestHandler } = configuration; + return stack.resolve( + (request2) => requestHandler.handle(request2.request, options || {}), + handlerExecutionContext + ); } - if (typeof value === "number") { - return value; + }; + __name(_Command, "Command"); + var Command = _Command; + var _ClassBuilder = class _ClassBuilder { + constructor() { + this._init = () => { + }; + this._ep = {}; + this._middlewareFn = () => []; + this._commandName = ""; + this._clientName = ""; + this._additionalContext = {}; + this._smithyContext = {}; + this._inputFilterSensitiveLog = (_) => _; + this._outputFilterSensitiveLog = (_) => _; + this._serializer = null; + this._deserializer = null; } - throw new TypeError(`Expected number, got ${typeof value}: ${value}`); - }, "expectNumber"); - var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); - var expectFloat32 = /* @__PURE__ */ __name((value) => { - const expected = expectNumber(value); - if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { - if (Math.abs(expected) > MAX_FLOAT) { - throw new TypeError(`Expected 32-bit float, got ${value}`); + /** + * Optional init callback. + */ + init(cb) { + this._init = cb; + } + /** + * Set the endpoint parameter instructions. + */ + ep(endpointParameterInstructions) { + this._ep = endpointParameterInstructions; + return this; + } + /** + * Add any number of middleware. + */ + m(middlewareSupplier) { + this._middlewareFn = middlewareSupplier; + return this; + } + /** + * Set the initial handler execution context Smithy field. + */ + s(service, operation, smithyContext = {}) { + this._smithyContext = { + service, + operation, + ...smithyContext + }; + return this; + } + /** + * Set the initial handler execution context. + */ + c(additionalContext = {}) { + this._additionalContext = additionalContext; + return this; + } + /** + * Set constant string identifiers for the operation. + */ + n(clientName, commandName) { + this._clientName = clientName; + this._commandName = commandName; + return this; + } + /** + * Set the input and output sensistive log filters. + */ + f(inputFilter = (_) => _, outputFilter = (_) => _) { + this._inputFilterSensitiveLog = inputFilter; + this._outputFilterSensitiveLog = outputFilter; + return this; + } + /** + * Sets the serializer. + */ + ser(serializer) { + this._serializer = serializer; + return this; + } + /** + * Sets the deserializer. + */ + de(deserializer) { + this._deserializer = deserializer; + return this; + } + /** + * @returns a Command class with the classBuilder properties. + */ + build() { + var _a; + const closure = this; + let CommandRef; + return CommandRef = (_a = class extends Command { + /** + * @public + */ + constructor(...[input]) { + super(); + this.serialize = closure._serializer; + this.deserialize = closure._deserializer; + this.input = input ?? {}; + closure._init(this); + } + /** + * @public + */ + static getEndpointParameterInstructions() { + return closure._ep; + } + /** + * @internal + */ + resolveMiddleware(stack, configuration, options) { + return this.resolveMiddlewareWithContext(stack, configuration, options, { + CommandCtor: CommandRef, + middlewareFn: closure._middlewareFn, + clientName: closure._clientName, + commandName: closure._commandName, + inputFilterSensitiveLog: closure._inputFilterSensitiveLog, + outputFilterSensitiveLog: closure._outputFilterSensitiveLog, + smithyContext: closure._smithyContext, + additionalContext: closure._additionalContext + }); + } + }, __name(_a, "CommandRef"), _a); + } + }; + __name(_ClassBuilder, "ClassBuilder"); + var ClassBuilder = _ClassBuilder; + var SENSITIVE_STRING = "***SensitiveInformation***"; + var createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => { + for (const command of Object.keys(commands)) { + const CommandCtor = commands[command]; + const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) { + const command2 = new CommandCtor(args); + if (typeof optionsOrCb === "function") { + this.send(command2, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") + throw new Error(`Expected http options but got ${typeof optionsOrCb}`); + this.send(command2, optionsOrCb || {}, cb); + } else { + return this.send(command2, optionsOrCb); + } + }, "methodImpl"); + const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); + Client2.prototype[methodName] = methodImpl; + } + }, "createAggregatedClient"); + var parseBoolean = /* @__PURE__ */ __name((value) => { + switch (value) { + case "true": + return true; + case "false": + return false; + default: + throw new Error(`Unable to parse boolean value "${value}"`); + } + }, "parseBoolean"); + var expectBoolean = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "number") { + if (value === 0 || value === 1) { + logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (value === 0) { + return false; + } + if (value === 1) { + return true; + } + } + if (typeof value === "string") { + const lower = value.toLowerCase(); + if (lower === "false" || lower === "true") { + logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (lower === "false") { + return false; + } + if (lower === "true") { + return true; + } + } + if (typeof value === "boolean") { + return value; + } + throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); + }, "expectBoolean"); + var expectNumber = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + const parsed = parseFloat(value); + if (!Number.isNaN(parsed)) { + if (String(parsed) !== String(value)) { + logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); + } + return parsed; + } + } + if (typeof value === "number") { + return value; + } + throw new TypeError(`Expected number, got ${typeof value}: ${value}`); + }, "expectNumber"); + var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); + var expectFloat32 = /* @__PURE__ */ __name((value) => { + const expected = expectNumber(value); + if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { + if (Math.abs(expected) > MAX_FLOAT) { + throw new TypeError(`Expected 32-bit float, got ${value}`); } } return expected; @@ -8322,7 +7713,7 @@ var require_dist_cjs38 = __commonJS({ } throw new TypeError(`Expected string, got ${typeof value}: ${value}`); }, "expectString"); - var expectUnion = /* @__PURE__ */ __name((value) => { + var expectUnion2 = /* @__PURE__ */ __name((value) => { if (value === null || value === void 0) { return void 0; } @@ -8532,6 +7923,8 @@ var require_dist_cjs38 = __commonJS({ valueAsDouble = value; } else if (typeof value === "string") { valueAsDouble = strictParseDouble(value); + } else if (typeof value === "object" && value.tag === 1) { + valueAsDouble = value.value; } else { throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); } @@ -8646,6 +8039,15 @@ var require_dist_cjs38 = __commonJS({ this.$fault = options.$fault; this.$metadata = options.$metadata; } + /** + * Checks if a value is an instance of ServiceException (duck typed) + */ + static isInstance(value) { + if (!value) + return false; + const candidate = value; + return Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server"); + } }; __name(_ServiceException, "ServiceException"); var ServiceException = _ServiceException; @@ -8707,16 +8109,16 @@ var require_dist_cjs38 = __commonJS({ return {}; } }, "loadConfigsForDefaultMode"); - var warningEmitted = false; - var emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version2) => { - if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 14) { - warningEmitted = true; + var warningEmitted2 = false; + var emitWarningIfUnsupportedVersion2 = /* @__PURE__ */ __name((version2) => { + if (version2 && !warningEmitted2 && parseInt(version2.substring(1, version2.indexOf("."))) < 16) { + warningEmitted2 = true; } }, "emitWarningIfUnsupportedVersion"); var getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { const checksumAlgorithms = []; - for (const id in import_types.AlgorithmId) { - const algorithmId = import_types.AlgorithmId[id]; + for (const id in import_types5.AlgorithmId) { + const algorithmId = import_types5.AlgorithmId[id]; if (runtimeConfig[algorithmId] === void 0) { continue; } @@ -8771,58 +8173,58 @@ var require_dist_cjs38 = __commonJS({ ...resolveRetryRuntimeConfig(config) }; }, "resolveDefaultRuntimeConfig"); - function extendedEncodeURIComponent(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); - } - __name(extendedEncodeURIComponent, "extendedEncodeURIComponent"); var getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], "getArrayIfSingleItem"); - var getValueFromTextNode = /* @__PURE__ */ __name((obj) => { + var getValueFromTextNode2 = /* @__PURE__ */ __name((obj) => { const textNodeName = "#text"; for (const key in obj) { if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) { obj[key] = obj[key][textNodeName]; } else if (typeof obj[key] === "object" && obj[key] !== null) { - obj[key] = getValueFromTextNode(obj[key]); + obj[key] = getValueFromTextNode2(obj[key]); } } return obj; }, "getValueFromTextNode"); - var StringWrapper = /* @__PURE__ */ __name(function() { - const Class = Object.getPrototypeOf(this).constructor; - const Constructor = Function.bind.apply(String, [null, ...arguments]); - const instance = new Constructor(); - Object.setPrototypeOf(instance, Class.prototype); - return instance; - }, "StringWrapper"); - StringWrapper.prototype = Object.create(String.prototype, { - constructor: { - value: StringWrapper, - enumerable: false, - writable: true, - configurable: true + var isSerializableHeaderValue = /* @__PURE__ */ __name((value) => { + return value != null; + }, "isSerializableHeaderValue"); + var LazyJsonString = /* @__PURE__ */ __name(function LazyJsonString2(val2) { + const str = Object.assign(new String(val2), { + deserializeJSON() { + return JSON.parse(String(val2)); + }, + toString() { + return String(val2); + }, + toJSON() { + return String(val2); + } + }); + return str; + }, "LazyJsonString"); + LazyJsonString.from = (object) => { + if (object && typeof object === "object" && (object instanceof LazyJsonString || "deserializeJSON" in object)) { + return object; + } else if (typeof object === "string" || Object.getPrototypeOf(object) === String.prototype) { + return LazyJsonString(String(object)); } - }); - Object.setPrototypeOf(StringWrapper, String); - var _LazyJsonString = class _LazyJsonString2 extends StringWrapper { - deserializeJSON() { - return JSON.parse(super.toString()); + return LazyJsonString(JSON.stringify(object)); + }; + LazyJsonString.fromObject = LazyJsonString.from; + var _NoOpLogger = class _NoOpLogger { + trace() { } - toJSON() { - return super.toString(); + debug() { } - static fromObject(object) { - if (object instanceof _LazyJsonString2) { - return object; - } else if (object instanceof String || typeof object === "string") { - return new _LazyJsonString2(object); - } - return new _LazyJsonString2(JSON.stringify(object)); + info() { + } + warn() { + } + error() { } }; - __name(_LazyJsonString, "LazyJsonString"); - var LazyJsonString = _LazyJsonString; + __name(_NoOpLogger, "NoOpLogger"); + var NoOpLogger = _NoOpLogger; function map(arg0, arg1, arg2) { let target; let filter; @@ -8916,21 +8318,13 @@ var require_dist_cjs38 = __commonJS({ }, "applyInstruction"); var nonNullish = /* @__PURE__ */ __name((_) => _ != null, "nonNullish"); var pass = /* @__PURE__ */ __name((_) => _, "pass"); - var resolvedPath = /* @__PURE__ */ __name((resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { - if (input != null && input[memberName] !== void 0) { - const labelValue = labelValueProvider(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: " + memberName + "."); - } - resolvedPath2 = resolvedPath2.replace( - uriLabel, - isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent(segment)).join("/") : extendedEncodeURIComponent(labelValue) - ); - } else { - throw new Error("No value provided for input HTTP label: " + memberName + "."); + function quoteHeader(part) { + if (part.includes(",") || part.includes('"')) { + part = `"${part.replace(/"/g, '\\"')}"`; } - return resolvedPath2; - }, "resolvedPath"); + return part; + } + __name(quoteHeader, "quoteHeader"); var serializeFloat = /* @__PURE__ */ __name((value) => { if (value !== value) { return "NaN"; @@ -8944,6 +8338,7 @@ var require_dist_cjs38 = __commonJS({ return value; } }, "serializeFloat"); + var serializeDateTime = /* @__PURE__ */ __name((date) => date.toISOString().replace(".000Z", "Z"), "serializeDateTime"); var _json = /* @__PURE__ */ __name((obj) => { if (obj == null) { return {}; @@ -8990,6 +8385,43 @@ var require_dist_cjs38 = __commonJS({ return compoundSegments; } __name(splitEvery, "splitEvery"); + var splitHeader = /* @__PURE__ */ __name((value) => { + const z = value.length; + const values = []; + let withinQuotes = false; + let prevChar = void 0; + let anchor = 0; + for (let i = 0; i < z; ++i) { + const char = value[i]; + switch (char) { + case `"`: + if (prevChar !== "\\") { + withinQuotes = !withinQuotes; + } + break; + case ",": + if (!withinQuotes) { + values.push(value.slice(anchor, i)); + anchor = i + 1; + } + break; + default: + } + prevChar = char; + } + values.push(value.slice(anchor)); + return values.map((v) => { + v = v.trim(); + const z2 = v.length; + if (z2 < 2) { + return v; + } + if (v[0] === `"` && v[z2 - 1] === `"`) { + v = v.slice(1, z2 - 1); + } + return v.replace(/\\"/g, '"'); + }); + }, "splitHeader"); } }); @@ -9006,7 +8438,7 @@ var require_isStreamingPayload = __commonJS({ }); // ../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js -var require_dist_cjs39 = __commonJS({ +var require_dist_cjs34 = __commonJS({ "../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; @@ -9048,7 +8480,7 @@ var require_dist_cjs39 = __commonJS({ retryMiddlewareOptions: () => retryMiddlewareOptions }); module2.exports = __toCommonJS2(src_exports); - var import_protocol_http = require_dist_cjs2(); + var import_protocol_http8 = require_dist_cjs2(); var import_uuid = (init_esm_node(), __toCommonJS(esm_node_exports)); var import_util_retry = require_dist_cjs31(); var getDefaultRetryQuota = /* @__PURE__ */ __name((initialRetryTokens, options) => { @@ -9120,12 +8552,12 @@ var require_dist_cjs39 = __commonJS({ let totalDelay = 0; const maxAttempts = await this.getMaxAttempts(); const { request: request2 } = args; - if (import_protocol_http.HttpRequest.isInstance(request2)) { + if (import_protocol_http8.HttpRequest.isInstance(request2)) { request2.headers[import_util_retry.INVOCATION_ID_HEADER] = (0, import_uuid.v4)(); } while (true) { try { - if (import_protocol_http.HttpRequest.isInstance(request2)) { + if (import_protocol_http8.HttpRequest.isInstance(request2)) { request2.headers[import_util_retry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; } if (options == null ? void 0 : options.beforeRequest) { @@ -9167,7 +8599,7 @@ var require_dist_cjs39 = __commonJS({ __name(_StandardRetryStrategy, "StandardRetryStrategy"); var StandardRetryStrategy = _StandardRetryStrategy; var getDelayFromRetryAfterHeader = /* @__PURE__ */ __name((response) => { - if (!import_protocol_http.HttpResponse.isInstance(response)) + if (!import_protocol_http8.HttpResponse.isInstance(response)) return; const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); if (!retryAfterHeaderName) @@ -9199,7 +8631,7 @@ var require_dist_cjs39 = __commonJS({ }; __name(_AdaptiveRetryStrategy, "AdaptiveRetryStrategy"); var AdaptiveRetryStrategy = _AdaptiveRetryStrategy; - var import_util_middleware = require_dist_cjs32(); + var import_util_middleware3 = require_dist_cjs10(); var ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; var CONFIG_MAX_ATTEMPTS = "max_attempts"; var NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { @@ -9227,7 +8659,7 @@ var require_dist_cjs39 = __commonJS({ }; var resolveRetryConfig = /* @__PURE__ */ __name((input) => { const { retryStrategy } = input; - const maxAttempts = (0, import_util_middleware.normalizeProvider)(input.maxAttempts ?? import_util_retry.DEFAULT_MAX_ATTEMPTS); + const maxAttempts = (0, import_util_middleware3.normalizeProvider)(input.maxAttempts ?? import_util_retry.DEFAULT_MAX_ATTEMPTS); return { ...input, maxAttempts, @@ -9235,7 +8667,7 @@ var require_dist_cjs39 = __commonJS({ if (retryStrategy) { return retryStrategy; } - const retryMode = await (0, import_util_middleware.normalizeProvider)(input.retryMode)(); + const retryMode = await (0, import_util_middleware3.normalizeProvider)(input.retryMode)(); if (retryMode === import_util_retry.RETRY_MODES.ADAPTIVE) { return new import_util_retry.AdaptiveRetryStrategy(maxAttempts); } @@ -9252,7 +8684,7 @@ var require_dist_cjs39 = __commonJS({ }; var omitRetryHeadersMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => { const { request: request2 } = args; - if (import_protocol_http.HttpRequest.isInstance(request2)) { + if (import_protocol_http8.HttpRequest.isInstance(request2)) { delete request2.headers[import_util_retry.INVOCATION_ID_HEADER]; delete request2.headers[import_util_retry.REQUEST_HEADER]; } @@ -9270,7 +8702,7 @@ var require_dist_cjs39 = __commonJS({ clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions); } }), "getOmitRetryHeadersPlugin"); - var import_smithy_client = require_dist_cjs38(); + var import_smithy_client4 = require_dist_cjs33(); var import_isStreamingPayload = require_isStreamingPayload(); var retryMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => { var _a; @@ -9283,7 +8715,7 @@ var require_dist_cjs39 = __commonJS({ let attempts = 0; let totalRetryDelay = 0; const { request: request2 } = args; - const isRequest = import_protocol_http.HttpRequest.isInstance(request2); + const isRequest = import_protocol_http8.HttpRequest.isInstance(request2); if (isRequest) { request2.headers[import_util_retry.INVOCATION_ID_HEADER] = (0, import_uuid.v4)(); } @@ -9301,7 +8733,7 @@ var require_dist_cjs39 = __commonJS({ const retryErrorInfo = getRetryErrorInfo(e); lastError = asSdkError(e); if (isRequest && (0, import_isStreamingPayload.isStreamingPayload)(request2)) { - (_a = context.logger instanceof import_smithy_client.NoOpLogger ? console : context.logger) == null ? void 0 : _a.warn( + (_a = context.logger instanceof import_smithy_client4.NoOpLogger ? console : context.logger) == null ? void 0 : _a.warn( "An error was encountered in a non-retryable streaming request." ); throw lastError; @@ -9363,7 +8795,7 @@ var require_dist_cjs39 = __commonJS({ } }), "getRetryPlugin"); var getRetryAfterHint = /* @__PURE__ */ __name((response) => { - if (!import_protocol_http.HttpResponse.isInstance(response)) + if (!import_protocol_http8.HttpResponse.isInstance(response)) return; const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); if (!retryAfterHeaderName) @@ -9378,7224 +8810,5716 @@ var require_dist_cjs39 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - defaultSigningName: "states" - }; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +var warningEmitted, emitWarningIfUnsupportedVersion; +var init_emitWarningIfUnsupportedVersion = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js"() { + warningEmitted = false; + emitWarningIfUnsupportedVersion = (version2) => { + if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 18) { + warningEmitted = true; + process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will +no longer support Node.js 16.x on January 6, 2025. + +To continue receiving updates to AWS services, bug fixes, and security +updates please upgrade to a supported Node.js LTS version. + +More information can be found at: https://a.co/74kJMmI`); + } }; - exports2.resolveClientEndpointParameters = resolveClientEndpointParameters; } }); -// ../../../node_modules/@aws-sdk/client-sfn/package.json -var require_package = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/package.json"(exports2, module2) { - module2.exports = { - name: "@aws-sdk/client-sfn", - description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.421.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sfn" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.421.0", - "@aws-sdk/credential-provider-node": "3.421.0", - "@aws-sdk/middleware-host-header": "3.418.0", - "@aws-sdk/middleware-logger": "3.418.0", - "@aws-sdk/middleware-recursion-detection": "3.418.0", - "@aws-sdk/middleware-signing": "3.418.0", - "@aws-sdk/middleware-user-agent": "3.418.0", - "@aws-sdk/region-config-resolver": "3.418.0", - "@aws-sdk/types": "3.418.0", - "@aws-sdk/util-endpoints": "3.418.0", - "@aws-sdk/util-user-agent-browser": "3.418.0", - "@aws-sdk/util-user-agent-node": "3.418.0", - "@smithy/config-resolver": "^2.0.10", - "@smithy/fetch-http-handler": "^2.1.5", - "@smithy/hash-node": "^2.0.9", - "@smithy/invalid-dependency": "^2.0.9", - "@smithy/middleware-content-length": "^2.0.11", - "@smithy/middleware-endpoint": "^2.0.9", - "@smithy/middleware-retry": "^2.0.12", - "@smithy/middleware-serde": "^2.0.9", - "@smithy/middleware-stack": "^2.0.2", - "@smithy/node-config-provider": "^2.0.12", - "@smithy/node-http-handler": "^2.1.5", - "@smithy/protocol-http": "^3.0.5", - "@smithy/smithy-client": "^2.1.6", - "@smithy/types": "^2.3.3", - "@smithy/url-parser": "^2.0.9", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.10", - "@smithy/util-defaults-mode-node": "^2.0.12", - "@smithy/util-retry": "^2.0.2", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sfn" - } - }; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +var init_client = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/client/index.js"() { + init_emitWarningIfUnsupportedVersion(); } }); -// ../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js -var require_dist_cjs40 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveStsAuthConfig = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({ - ...input, - stsClientCtor - }); - exports2.resolveStsAuthConfig = resolveStsAuthConfig; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js +var import_protocol_http5, getDateHeader; +var init_getDateHeader = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js"() { + import_protocol_http5 = __toESM(require_dist_cjs2()); + getDateHeader = (response) => import_protocol_http5.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : void 0; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - useGlobalEndpoint: options.useGlobalEndpoint ?? false, - defaultSigningName: "sts" - }; - }; - exports2.resolveClientEndpointParameters = resolveClientEndpointParameters; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js +var getSkewCorrectedDate; +var init_getSkewCorrectedDate = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js"() { + getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset); } }); -// ../../../node_modules/@aws-sdk/client-sts/package.json -var require_package2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/package.json"(exports2, module2) { - module2.exports = { - name: "@aws-sdk/client-sts", - description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.421.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sts", - test: "yarn test:unit", - "test:unit": "jest" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.421.0", - "@aws-sdk/middleware-host-header": "3.418.0", - "@aws-sdk/middleware-logger": "3.418.0", - "@aws-sdk/middleware-recursion-detection": "3.418.0", - "@aws-sdk/middleware-sdk-sts": "3.418.0", - "@aws-sdk/middleware-signing": "3.418.0", - "@aws-sdk/middleware-user-agent": "3.418.0", - "@aws-sdk/region-config-resolver": "3.418.0", - "@aws-sdk/types": "3.418.0", - "@aws-sdk/util-endpoints": "3.418.0", - "@aws-sdk/util-user-agent-browser": "3.418.0", - "@aws-sdk/util-user-agent-node": "3.418.0", - "@smithy/config-resolver": "^2.0.10", - "@smithy/fetch-http-handler": "^2.1.5", - "@smithy/hash-node": "^2.0.9", - "@smithy/invalid-dependency": "^2.0.9", - "@smithy/middleware-content-length": "^2.0.11", - "@smithy/middleware-endpoint": "^2.0.9", - "@smithy/middleware-retry": "^2.0.12", - "@smithy/middleware-serde": "^2.0.9", - "@smithy/middleware-stack": "^2.0.2", - "@smithy/node-config-provider": "^2.0.12", - "@smithy/node-http-handler": "^2.1.5", - "@smithy/protocol-http": "^3.0.5", - "@smithy/smithy-client": "^2.1.6", - "@smithy/types": "^2.3.3", - "@smithy/url-parser": "^2.0.9", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.10", - "@smithy/util-defaults-mode-node": "^2.0.12", - "@smithy/util-retry": "^2.0.2", - "@smithy/util-utf8": "^2.0.0", - "fast-xml-parser": "4.2.5", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sts" - } - }; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js +var isClockSkewed; +var init_isClockSkewed = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js"() { + init_getSkewCorrectedDate(); + isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 3e5; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js -var require_STSServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.STSServiceException = exports2.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var STSServiceException = class _STSServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _STSServiceException.prototype); +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js +var getUpdatedSystemClockOffset; +var init_getUpdatedSystemClockOffset = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js"() { + init_isClockSkewed(); + getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => { + const clockTimeInMs = Date.parse(clockTime); + if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) { + return clockTimeInMs - Date.now(); } + return currentSystemClockOffset; }; - exports2.STSServiceException = STSServiceException; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js -var require_models_0 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetSessionTokenResponseFilterSensitiveLog = exports2.GetFederationTokenResponseFilterSensitiveLog = exports2.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports2.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports2.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports2.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports2.AssumeRoleResponseFilterSensitiveLog = exports2.CredentialsFilterSensitiveLog = exports2.InvalidAuthorizationMessageException = exports2.IDPCommunicationErrorException = exports2.InvalidIdentityTokenException = exports2.IDPRejectedClaimException = exports2.RegionDisabledException = exports2.PackedPolicyTooLargeException = exports2.MalformedPolicyDocumentException = exports2.ExpiredTokenException = void 0; - var smithy_client_1 = require_dist_cjs38(); - var STSServiceException_1 = require_STSServiceException(); - var ExpiredTokenException = class _ExpiredTokenException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "ExpiredTokenException", - $fault: "client", - ...opts - }); - this.name = "ExpiredTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExpiredTokenException.prototype); +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js +var init_utils = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js"() { + init_getDateHeader(); + init_getSkewCorrectedDate(); + init_getUpdatedSystemClockOffset(); + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +var import_protocol_http6, throwSigningPropertyError, validateSigningProperties, AwsSdkSigV4Signer, AWSSDKSigV4Signer; +var init_AwsSdkSigV4Signer = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js"() { + import_protocol_http6 = __toESM(require_dist_cjs2()); + init_utils(); + throwSigningPropertyError = (name, property) => { + if (!property) { + throw new Error(`Property \`${name}\` is not resolved for AWS SDK SigV4Auth`); } + return property; }; - exports2.ExpiredTokenException = ExpiredTokenException; - var MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "MalformedPolicyDocumentException", - $fault: "client", - ...opts - }); - this.name = "MalformedPolicyDocumentException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype); - } + validateSigningProperties = async (signingProperties) => { + const context = throwSigningPropertyError("context", signingProperties.context); + const config = throwSigningPropertyError("config", signingProperties.config); + const authScheme = context.endpointV2?.properties?.authSchemes?.[0]; + const signerFunction = throwSigningPropertyError("signer", config.signer); + const signer = await signerFunction(authScheme); + const signingRegion = signingProperties?.signingRegion; + const signingRegionSet = signingProperties?.signingRegionSet; + const signingName = signingProperties?.signingName; + return { + config, + signer, + signingRegion, + signingRegionSet, + signingName + }; }; - exports2.MalformedPolicyDocumentException = MalformedPolicyDocumentException; - var PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "PackedPolicyTooLargeException", - $fault: "client", - ...opts + AwsSdkSigV4Signer = class { + async sign(httpRequest, identity, signingProperties) { + if (!import_protocol_http6.HttpRequest.isInstance(httpRequest)) { + throw new Error("The request is not an instance of `HttpRequest` and cannot be signed"); + } + const validatedProps = await validateSigningProperties(signingProperties); + const { config, signer } = validatedProps; + let { signingRegion, signingName } = validatedProps; + const handlerExecutionContext = signingProperties.context; + if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) { + const [first, second] = handlerExecutionContext.authSchemes; + if (first?.name === "sigv4a" && second?.name === "sigv4") { + signingRegion = second?.signingRegion ?? signingRegion; + signingName = second?.signingName ?? signingName; + } + } + const signedRequest = await signer.sign(httpRequest, { + signingDate: getSkewCorrectedDate(config.systemClockOffset), + signingRegion, + signingService: signingName }); - this.name = "PackedPolicyTooLargeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype); + return signedRequest; + } + errorHandler(signingProperties) { + return (error) => { + const serverTime = error.ServerTime ?? getDateHeader(error.$response); + if (serverTime) { + const config = throwSigningPropertyError("config", signingProperties.config); + const initialSystemClockOffset = config.systemClockOffset; + config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset); + const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset; + if (clockSkewCorrected && error.$metadata) { + error.$metadata.clockSkewCorrected = true; + } + } + throw error; + }; } - }; - exports2.PackedPolicyTooLargeException = PackedPolicyTooLargeException; - var RegionDisabledException = class _RegionDisabledException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "RegionDisabledException", - $fault: "client", - ...opts - }); - this.name = "RegionDisabledException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _RegionDisabledException.prototype); + successHandler(httpResponse, signingProperties) { + const dateHeader = getDateHeader(httpResponse); + if (dateHeader) { + const config = throwSigningPropertyError("config", signingProperties.config); + config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset); + } } }; - exports2.RegionDisabledException = RegionDisabledException; - var IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "IDPRejectedClaimException", - $fault: "client", - ...opts + AWSSDKSigV4Signer = AwsSdkSigV4Signer; + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js +var import_protocol_http7, AwsSdkSigV4ASigner; +var init_AwsSdkSigV4ASigner = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js"() { + import_protocol_http7 = __toESM(require_dist_cjs2()); + init_utils(); + init_AwsSdkSigV4Signer(); + AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer { + async sign(httpRequest, identity, signingProperties) { + if (!import_protocol_http7.HttpRequest.isInstance(httpRequest)) { + throw new Error("The request is not an instance of `HttpRequest` and cannot be signed"); + } + const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties); + const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.(); + const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(","); + const signedRequest = await signer.sign(httpRequest, { + signingDate: getSkewCorrectedDate(config.systemClockOffset), + signingRegion: multiRegionOverride, + signingService: signingName }); - this.name = "IDPRejectedClaimException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype); + return signedRequest; } }; - exports2.IDPRejectedClaimException = IDPRejectedClaimException; - var InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "InvalidIdentityTokenException", - $fault: "client", - ...opts - }); - this.name = "InvalidIdentityTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype); - } + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js +var import_property_provider, resolveAwsSdkSigV4AConfig, NODE_SIGV4A_CONFIG_OPTIONS; +var init_resolveAwsSdkSigV4AConfig = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js"() { + init_dist_es(); + import_property_provider = __toESM(require_dist_cjs24()); + resolveAwsSdkSigV4AConfig = (config) => { + config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet); + return config; }; - exports2.InvalidIdentityTokenException = InvalidIdentityTokenException; - var IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "IDPCommunicationErrorException", - $fault: "client", - ...opts + NODE_SIGV4A_CONFIG_OPTIONS = { + environmentVariableSelector(env) { + if (env.AWS_SIGV4A_SIGNING_REGION_SET) { + return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim()); + } + throw new import_property_provider.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", { + tryNextLink: true }); - this.name = "IDPCommunicationErrorException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype); - } - }; - exports2.IDPCommunicationErrorException = IDPCommunicationErrorException; - var InvalidAuthorizationMessageException = class _InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "InvalidAuthorizationMessageException", - $fault: "client", - ...opts + }, + configFileSelector(profile) { + if (profile.sigv4a_signing_region_set) { + return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim()); + } + throw new import_property_provider.ProviderError("sigv4a_signing_region_set not set in profile.", { + tryNextLink: true }); - this.name = "InvalidAuthorizationMessageException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidAuthorizationMessageException.prototype); - } + }, + default: void 0 }; - exports2.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException; - var CredentialsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.SecretAccessKey && { SecretAccessKey: smithy_client_1.SENSITIVE_STRING } - }); - exports2.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog; - var AssumeRoleResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports2.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports2.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog; - var AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.SAMLAssertion && { SAMLAssertion: smithy_client_1.SENSITIVE_STRING } - }); - exports2.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog; - var AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports2.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports2.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog; - var AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.WebIdentityToken && { WebIdentityToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog; - var AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports2.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports2.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog; - var GetFederationTokenResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports2.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports2.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog; - var GetSessionTokenResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports2.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports2.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog; } }); -// ../../../node_modules/fast-xml-parser/src/util.js -var require_util2 = __commonJS({ - "../../../node_modules/fast-xml-parser/src/util.js"(exports2) { - "use strict"; - var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; - var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; - var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; - var regexName = new RegExp("^" + nameRegexp + "$"); - var getAllMatches = function(string, regex) { - const matches = []; - let match = regex.exec(string); - while (match) { - const allmatches = []; - allmatches.startIndex = regex.lastIndex - match[0].length; - const len = match.length; - for (let index = 0; index < len; index++) { - allmatches.push(match[index]); - } - matches.push(allmatches); - match = regex.exec(string); - } - return matches; - }; - var isName = function(string) { - const match = regexName.exec(string); - return !(match === null || typeof match === "undefined"); +// ../../../node_modules/@smithy/signature-v4/dist-cjs/index.js +var require_dist_cjs35 = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - exports2.isExist = function(v) { - return typeof v !== "undefined"; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - exports2.isEmptyObject = function(obj) { - return Object.keys(obj).length === 0; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + SignatureV4: () => SignatureV42, + clearCredentialCache: () => clearCredentialCache, + createScope: () => createScope, + getCanonicalHeaders: () => getCanonicalHeaders, + getCanonicalQuery: () => getCanonicalQuery, + getPayloadHash: () => getPayloadHash, + getSigningKey: () => getSigningKey, + moveHeadersToQuery: () => moveHeadersToQuery, + prepareRequest: () => prepareRequest + }); + module2.exports = __toCommonJS2(src_exports); + var import_util_middleware3 = require_dist_cjs10(); + var import_util_utf84 = require_dist_cjs15(); + var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; + var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; + var AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; + var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; + var EXPIRES_QUERY_PARAM = "X-Amz-Expires"; + var SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; + var TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; + var AUTH_HEADER = "authorization"; + var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase(); + var DATE_HEADER = "date"; + var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER]; + var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase(); + var SHA256_HEADER = "x-amz-content-sha256"; + var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase(); + var ALWAYS_UNSIGNABLE_HEADERS = { + authorization: true, + "cache-control": true, + connection: true, + expect: true, + from: true, + "keep-alive": true, + "max-forwards": true, + pragma: true, + referer: true, + te: true, + trailer: true, + "transfer-encoding": true, + upgrade: true, + "user-agent": true, + "x-amzn-trace-id": true }; - exports2.merge = function(target, a, arrayMode) { - if (a) { - const keys = Object.keys(a); - const len = keys.length; - for (let i = 0; i < len; i++) { - if (arrayMode === "strict") { - target[keys[i]] = [a[keys[i]]]; - } else { - target[keys[i]] = a[keys[i]]; + var PROXY_HEADER_PATTERN = /^proxy-/; + var SEC_HEADER_PATTERN = /^sec-/; + var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; + var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; + var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; + var MAX_CACHE_SIZE = 50; + var KEY_TYPE_IDENTIFIER = "aws4_request"; + var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; + var import_util_hex_encoding = require_dist_cjs21(); + var import_util_utf8 = require_dist_cjs15(); + var signingKeyCache = {}; + var cacheQueue = []; + var createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, "createScope"); + var getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => { + const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); + const cacheKey = `${shortDate}:${region}:${service}:${(0, import_util_hex_encoding.toHex)(credsHash)}:${credentials.sessionToken}`; + if (cacheKey in signingKeyCache) { + return signingKeyCache[cacheKey]; + } + cacheQueue.push(cacheKey); + while (cacheQueue.length > MAX_CACHE_SIZE) { + delete signingKeyCache[cacheQueue.shift()]; + } + let key = `AWS4${credentials.secretAccessKey}`; + for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) { + key = await hmac(sha256Constructor, key, signable); + } + return signingKeyCache[cacheKey] = key; + }, "getSigningKey"); + var clearCredentialCache = /* @__PURE__ */ __name(() => { + cacheQueue.length = 0; + Object.keys(signingKeyCache).forEach((cacheKey) => { + delete signingKeyCache[cacheKey]; + }); + }, "clearCredentialCache"); + var hmac = /* @__PURE__ */ __name((ctor, secret, data) => { + const hash = new ctor(secret); + hash.update((0, import_util_utf8.toUint8Array)(data)); + return hash.digest(); + }, "hmac"); + var getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => { + const canonical = {}; + for (const headerName of Object.keys(headers).sort()) { + if (headers[headerName] == void 0) { + continue; + } + const canonicalHeaderName = headerName.toLowerCase(); + if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders == null ? void 0 : unsignableHeaders.has(canonicalHeaderName)) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) { + if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { + continue; } } + canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " "); } - }; - exports2.getValue = function(v) { - if (exports2.isExist(v)) { - return v; - } else { - return ""; + return canonical; + }, "getCanonicalHeaders"); + var import_util_uri_escape = require_dist_cjs17(); + var getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => { + const keys = []; + const serialized = {}; + for (const key of Object.keys(query)) { + if (key.toLowerCase() === SIGNATURE_HEADER) { + continue; + } + const encodedKey = (0, import_util_uri_escape.escapeUri)(key); + keys.push(encodedKey); + const value = query[key]; + if (typeof value === "string") { + serialized[encodedKey] = `${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value)}`; + } else if (Array.isArray(value)) { + serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value2)}`]), []).sort().join("&"); + } } - }; - exports2.isName = isName; - exports2.getAllMatches = getAllMatches; - exports2.nameRegexp = nameRegexp; - } -}); - -// ../../../node_modules/fast-xml-parser/src/validator.js -var require_validator = __commonJS({ - "../../../node_modules/fast-xml-parser/src/validator.js"(exports2) { - "use strict"; - var util = require_util2(); - var defaultOptions = { - allowBooleanAttributes: false, - //A tag can have attributes without any value - unpairedTags: [] - }; - exports2.validate = function(xmlData, options) { - options = Object.assign({}, defaultOptions, options); - const tags = []; - let tagFound = false; - let reachedRoot = false; - if (xmlData[0] === "\uFEFF") { - xmlData = xmlData.substr(1); + return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); + }, "getCanonicalQuery"); + var import_is_array_buffer = require_dist_cjs13(); + var import_util_utf82 = require_dist_cjs15(); + var getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => { + for (const headerName of Object.keys(headers)) { + if (headerName.toLowerCase() === SHA256_HEADER) { + return headers[headerName]; + } } - for (let i = 0; i < xmlData.length; i++) { - if (xmlData[i] === "<" && xmlData[i + 1] === "?") { - i += 2; - i = readPI(xmlData, i); - if (i.err) return i; - } else if (xmlData[i] === "<") { - let tagStartPos = i; - i++; - if (xmlData[i] === "!") { - i = readCommentAndCDATA(xmlData, i); - continue; - } else { - let closingTag = false; - if (xmlData[i] === "/") { - closingTag = true; - i++; - } - let tagName = ""; - for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) { - tagName += xmlData[i]; - } - tagName = tagName.trim(); - if (tagName[tagName.length - 1] === "/") { - tagName = tagName.substring(0, tagName.length - 1); - i--; - } - if (!validateTagName(tagName)) { - let msg; - if (tagName.trim().length === 0) { - msg = "Invalid space after '<'."; - } else { - msg = "Tag '" + tagName + "' is an invalid name."; - } - return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i)); - } - const result = readAttributeStr(xmlData, i); - if (result === false) { - return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i)); - } - let attrStr = result.value; - i = result.index; - if (attrStr[attrStr.length - 1] === "/") { - const attrStrStart = i - attrStr.length; - attrStr = attrStr.substring(0, attrStr.length - 1); - const isValid = validateAttributeString(attrStr, options); - if (isValid === true) { - tagFound = true; - } else { - return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); - } - } else if (closingTag) { - if (!result.tagClosed) { - return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); - } else if (attrStr.trim().length > 0) { - return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); - } else { - const otg = tags.pop(); - if (tagName !== otg.tagName) { - let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); - return getErrorObject( - "InvalidTag", - "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", - getLineNumberForPosition(xmlData, tagStartPos) - ); - } - if (tags.length == 0) { - reachedRoot = true; - } - } - } else { - const isValid = validateAttributeString(attrStr, options); - if (isValid !== true) { - return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); - } - if (reachedRoot === true) { - return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i)); - } else if (options.unpairedTags.indexOf(tagName) !== -1) { - } else { - tags.push({ tagName, tagStartPos }); - } - tagFound = true; - } - for (i++; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - if (xmlData[i + 1] === "!") { - i++; - i = readCommentAndCDATA(xmlData, i); - continue; - } else if (xmlData[i + 1] === "?") { - i = readPI(xmlData, ++i); - if (i.err) return i; - } else { - break; - } - } else if (xmlData[i] === "&") { - const afterAmp = validateAmpersand(xmlData, i); - if (afterAmp == -1) - return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); - i = afterAmp; - } else { - if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { - return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i)); - } - } - } - if (xmlData[i] === "<") { - i--; - } - } - } else { - if (isWhiteSpace(xmlData[i])) { - continue; - } - return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i)); + if (body == void 0) { + return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + } else if (typeof body === "string" || ArrayBuffer.isView(body) || (0, import_is_array_buffer.isArrayBuffer)(body)) { + const hashCtor = new hashConstructor(); + hashCtor.update((0, import_util_utf82.toUint8Array)(body)); + return (0, import_util_hex_encoding.toHex)(await hashCtor.digest()); + } + return UNSIGNED_PAYLOAD; + }, "getPayloadHash"); + var import_util_utf83 = require_dist_cjs15(); + var _HeaderFormatter = class _HeaderFormatter { + format(headers) { + const chunks = []; + for (const headerName of Object.keys(headers)) { + const bytes = (0, import_util_utf83.fromUtf8)(headerName); + chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + } + const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); + let position = 0; + for (const chunk of chunks) { + out.set(chunk, position); + position += chunk.byteLength; } + return out; } - if (!tagFound) { - return getErrorObject("InvalidXml", "Start tag expected.", 1); - } else if (tags.length == 1) { - return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); - } else if (tags.length > 0) { - return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }); + formatHeaderValue(header) { + switch (header.type) { + case "boolean": + return Uint8Array.from([ + header.value ? 0 : 1 + /* boolFalse */ + ]); + case "byte": + return Uint8Array.from([2, header.value]); + case "short": + const shortView = new DataView(new ArrayBuffer(3)); + shortView.setUint8( + 0, + 3 + /* short */ + ); + shortView.setInt16(1, header.value, false); + return new Uint8Array(shortView.buffer); + case "integer": + const intView = new DataView(new ArrayBuffer(5)); + intView.setUint8( + 0, + 4 + /* integer */ + ); + intView.setInt32(1, header.value, false); + return new Uint8Array(intView.buffer); + case "long": + const longBytes = new Uint8Array(9); + longBytes[0] = 5; + longBytes.set(header.value.bytes, 1); + return longBytes; + case "binary": + const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); + binView.setUint8( + 0, + 6 + /* byteArray */ + ); + binView.setUint16(1, header.value.byteLength, false); + const binBytes = new Uint8Array(binView.buffer); + binBytes.set(header.value, 3); + return binBytes; + case "string": + const utf8Bytes = (0, import_util_utf83.fromUtf8)(header.value); + const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); + strView.setUint8( + 0, + 7 + /* string */ + ); + strView.setUint16(1, utf8Bytes.byteLength, false); + const strBytes = new Uint8Array(strView.buffer); + strBytes.set(utf8Bytes, 3); + return strBytes; + case "timestamp": + const tsBytes = new Uint8Array(9); + tsBytes[0] = 8; + tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1); + return tsBytes; + case "uuid": + if (!UUID_PATTERN.test(header.value)) { + throw new Error(`Invalid UUID received: ${header.value}`); + } + const uuidBytes = new Uint8Array(17); + uuidBytes[0] = 9; + uuidBytes.set((0, import_util_hex_encoding.fromHex)(header.value.replace(/\-/g, "")), 1); + return uuidBytes; + } } - return true; }; - function isWhiteSpace(char) { - return char === " " || char === " " || char === "\n" || char === "\r"; - } - function readPI(xmlData, i) { - const start = i; - for (; i < xmlData.length; i++) { - if (xmlData[i] == "?" || xmlData[i] == " ") { - const tagname = xmlData.substr(start, i - start); - if (i > 5 && tagname === "xml") { - return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i)); - } else if (xmlData[i] == "?" && xmlData[i + 1] == ">") { - i++; - break; - } else { - continue; - } + __name(_HeaderFormatter, "HeaderFormatter"); + var HeaderFormatter = _HeaderFormatter; + var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; + var _Int64 = class _Int642 { + constructor(bytes) { + this.bytes = bytes; + if (bytes.byteLength !== 8) { + throw new Error("Int64 buffers must be exactly 8 bytes"); } } - return i; - } - function readCommentAndCDATA(xmlData, i) { - if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") { - for (i += 3; i < xmlData.length; i++) { - if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") { - i += 2; - break; - } + static fromNumber(number) { + if (number > 9223372036854776e3 || number < -9223372036854776e3) { + throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); } - } else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") { - let angleBracketsCount = 1; - for (i += 8; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - angleBracketsCount++; - } else if (xmlData[i] === ">") { - angleBracketsCount--; - if (angleBracketsCount === 0) { - break; - } - } + const bytes = new Uint8Array(8); + for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { + bytes[i] = remaining; } - } else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") { - for (i += 8; i < xmlData.length; i++) { - if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") { - i += 2; - break; - } + if (number < 0) { + negate(bytes); } + return new _Int642(bytes); } - return i; - } - var doubleQuote = '"'; - var singleQuote = "'"; - function readAttributeStr(xmlData, i) { - let attrStr = ""; - let startChar = ""; - let tagClosed = false; - for (; i < xmlData.length; i++) { - if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { - if (startChar === "") { - startChar = xmlData[i]; - } else if (startChar !== xmlData[i]) { - } else { - startChar = ""; - } - } else if (xmlData[i] === ">") { - if (startChar === "") { - tagClosed = true; - break; - } + /** + * Called implicitly by infix arithmetic operators. + */ + valueOf() { + const bytes = this.bytes.slice(0); + const negative = bytes[0] & 128; + if (negative) { + negate(bytes); } - attrStr += xmlData[i]; + return parseInt((0, import_util_hex_encoding.toHex)(bytes), 16) * (negative ? -1 : 1); } - if (startChar !== "") { - return false; + toString() { + return String(this.valueOf()); } - return { - value: attrStr, - index: i, - tagClosed - }; - } - var validAttrStrRegxp = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); - function validateAttributeString(attrStr, options) { - const matches = util.getAllMatches(attrStr, validAttrStrRegxp); - const attrNames = {}; - for (let i = 0; i < matches.length; i++) { - if (matches[i][1].length === 0) { - return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i])); - } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) { - return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i])); - } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) { - return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i])); - } - const attrName = matches[i][2]; - if (!validateAttrName(attrName)) { - return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i])); - } - if (!attrNames.hasOwnProperty(attrName)) { - attrNames[attrName] = 1; - } else { - return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i])); - } - } - return true; - } - function validateNumberAmpersand(xmlData, i) { - let re = /\d/; - if (xmlData[i] === "x") { - i++; - re = /[\da-fA-F]/; + }; + __name(_Int64, "Int64"); + var Int64 = _Int64; + function negate(bytes) { + for (let i = 0; i < 8; i++) { + bytes[i] ^= 255; } - for (; i < xmlData.length; i++) { - if (xmlData[i] === ";") - return i; - if (!xmlData[i].match(re)) + for (let i = 7; i > -1; i--) { + bytes[i]++; + if (bytes[i] !== 0) break; } - return -1; } - function validateAmpersand(xmlData, i) { - i++; - if (xmlData[i] === ";") - return -1; - if (xmlData[i] === "#") { - i++; - return validateNumberAmpersand(xmlData, i); - } - let count = 0; - for (; i < xmlData.length; i++, count++) { - if (xmlData[i].match(/\w/) && count < 20) - continue; - if (xmlData[i] === ";") - break; - return -1; + __name(negate, "negate"); + var hasHeader = /* @__PURE__ */ __name((soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return true; + } } - return i; - } - function getErrorObject(code, message, lineNumber) { - return { - err: { - code, - msg: message, - line: lineNumber.line || lineNumber, - col: lineNumber.col + return false; + }, "hasHeader"); + var import_protocol_http8 = require_dist_cjs2(); + var moveHeadersToQuery = /* @__PURE__ */ __name((request2, options = {}) => { + var _a, _b; + const { headers, query = {} } = import_protocol_http8.HttpRequest.clone(request2); + for (const name of Object.keys(headers)) { + const lname = name.toLowerCase(); + if (lname.slice(0, 6) === "x-amz-" && !((_a = options.unhoistableHeaders) == null ? void 0 : _a.has(lname)) || ((_b = options.hoistableHeaders) == null ? void 0 : _b.has(lname))) { + query[name] = headers[name]; + delete headers[name]; } - }; - } - function validateAttrName(attrName) { - return util.isName(attrName); - } - function validateTagName(tagname) { - return util.isName(tagname); - } - function getLineNumberForPosition(xmlData, index) { - const lines = xmlData.substring(0, index).split(/\r?\n/); + } return { - line: lines.length, - // column number is last line's length + 1, because column numbering starts at 1: - col: lines[lines.length - 1].length + 1 + ...request2, + headers, + query }; - } - function getPositionFromMatch(match) { - return match.startIndex + match[1].length; - } - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js -var require_OptionsBuilder = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(exports2) { - var defaultOptions = { - preserveOrder: false, - attributeNamePrefix: "@_", - attributesGroupName: false, - textNodeName: "#text", - ignoreAttributes: true, - removeNSPrefix: false, - // remove NS from tag name or attribute name if true - allowBooleanAttributes: false, - //a tag can have attributes without any value - //ignoreRootElement : false, - parseTagValue: true, - parseAttributeValue: false, - trimValues: true, - //Trim string values of tag and attributes - cdataPropName: false, - numberParseOptions: { - hex: true, - leadingZeros: true, - eNotation: true - }, - tagValueProcessor: function(tagName, val2) { - return val2; - }, - attributeValueProcessor: function(attrName, val2) { - return val2; - }, - stopNodes: [], - //nested tags will not be parsed even for errors - alwaysCreateTextNode: false, - isArray: () => false, - commentPropName: false, - unpairedTags: [], - processEntities: true, - htmlEntities: false, - ignoreDeclaration: false, - ignorePiTags: false, - transformTagName: false, - transformAttributeName: false, - updateTag: function(tagName, jPath, attrs) { - return tagName; + }, "moveHeadersToQuery"); + var prepareRequest = /* @__PURE__ */ __name((request2) => { + request2 = import_protocol_http8.HttpRequest.clone(request2); + for (const headerName of Object.keys(request2.headers)) { + if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { + delete request2.headers[headerName]; + } } - // skipEmptyListItem: false - }; - var buildOptions = function(options) { - return Object.assign({}, defaultOptions, options); - }; - exports2.buildOptions = buildOptions; - exports2.defaultOptions = defaultOptions; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js -var require_xmlNode = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(exports2, module2) { - "use strict"; - var XmlNode = class { - constructor(tagname) { - this.tagname = tagname; - this.child = []; - this[":@"] = {}; + return request2; + }, "prepareRequest"); + var iso8601 = /* @__PURE__ */ __name((time) => toDate(time).toISOString().replace(/\.\d{3}Z$/, "Z"), "iso8601"); + var toDate = /* @__PURE__ */ __name((time) => { + if (typeof time === "number") { + return new Date(time * 1e3); } - add(key, val2) { - if (key === "__proto__") key = "#__proto__"; - this.child.push({ [key]: val2 }); + if (typeof time === "string") { + if (Number(time)) { + return new Date(Number(time) * 1e3); + } + return new Date(time); } - addChild(node) { - if (node.tagname === "__proto__") node.tagname = "#__proto__"; - if (node[":@"] && Object.keys(node[":@"]).length > 0) { - this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] }); - } else { - this.child.push({ [node.tagname]: node.child }); + return time; + }, "toDate"); + var _SignatureV4 = class _SignatureV4 { + constructor({ + applyChecksum, + credentials, + region, + service, + sha256, + uriEscapePath = true + }) { + this.headerFormatter = new HeaderFormatter(); + this.service = service; + this.sha256 = sha256; + this.uriEscapePath = uriEscapePath; + this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; + this.regionProvider = (0, import_util_middleware3.normalizeProvider)(region); + this.credentialProvider = (0, import_util_middleware3.normalizeProvider)(credentials); + } + async presign(originalRequest, options = {}) { + const { + signingDate = /* @__PURE__ */ new Date(), + expiresIn = 3600, + unsignableHeaders, + unhoistableHeaders, + signableHeaders, + hoistableHeaders, + signingRegion, + signingService + } = options; + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const { longDate, shortDate } = formatDate(signingDate); + if (expiresIn > MAX_PRESIGNED_TTL) { + return Promise.reject( + "Signature version 4 presigned URLs must have an expiration date less than one week in the future" + ); + } + const scope = createScope(shortDate, region, signingService ?? this.service); + const request2 = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders }); + if (credentials.sessionToken) { + request2.query[TOKEN_QUERY_PARAM] = credentials.sessionToken; } + request2.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER; + request2.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; + request2.query[AMZ_DATE_QUERY_PARAM] = longDate; + request2.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10); + const canonicalHeaders = getCanonicalHeaders(request2, unsignableHeaders, signableHeaders); + request2.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders); + request2.query[SIGNATURE_QUERY_PARAM] = await this.getSignature( + longDate, + scope, + this.getSigningKey(credentials, region, shortDate, signingService), + this.createCanonicalRequest(request2, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)) + ); + return request2; } - }; - module2.exports = XmlNode; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js -var require_DocTypeReader = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(exports2, module2) { - var util = require_util2(); - function readDocType(xmlData, i) { - const entities = {}; - if (xmlData[i + 3] === "O" && xmlData[i + 4] === "C" && xmlData[i + 5] === "T" && xmlData[i + 6] === "Y" && xmlData[i + 7] === "P" && xmlData[i + 8] === "E") { - i = i + 9; - let angleBracketsCount = 1; - let hasBody = false, comment = false; - let exp = ""; - for (; i < xmlData.length; i++) { - if (xmlData[i] === "<" && !comment) { - if (hasBody && isEntity(xmlData, i)) { - i += 7; - [entityName, val, i] = readEntityExp(xmlData, i + 1); - if (val.indexOf("&") === -1) - entities[validateEntityName(entityName)] = { - regx: RegExp(`&${entityName};`, "g"), - val - }; - } else if (hasBody && isElement(xmlData, i)) i += 8; - else if (hasBody && isAttlist(xmlData, i)) i += 8; - else if (hasBody && isNotation(xmlData, i)) i += 9; - else if (isComment) comment = true; - else throw new Error("Invalid DOCTYPE"); - angleBracketsCount++; - exp = ""; - } else if (xmlData[i] === ">") { - if (comment) { - if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") { - comment = false; - angleBracketsCount--; - } - } else { - angleBracketsCount--; - } - if (angleBracketsCount === 0) { - break; - } - } else if (xmlData[i] === "[") { - hasBody = true; - } else { - exp += xmlData[i]; + async sign(toSign, options) { + if (typeof toSign === "string") { + return this.signString(toSign, options); + } else if (toSign.headers && toSign.payload) { + return this.signEvent(toSign, options); + } else if (toSign.message) { + return this.signMessage(toSign, options); + } else { + return this.signRequest(toSign, options); + } + } + async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) { + const region = signingRegion ?? await this.regionProvider(); + const { shortDate, longDate } = formatDate(signingDate); + const scope = createScope(shortDate, region, signingService ?? this.service); + const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256); + const hash = new this.sha256(); + hash.update(headers); + const hashedHeaders = (0, import_util_hex_encoding.toHex)(await hash.digest()); + const stringToSign = [ + EVENT_ALGORITHM_IDENTIFIER, + longDate, + scope, + priorSignature, + hashedHeaders, + hashedPayload + ].join("\n"); + return this.signString(stringToSign, { signingDate, signingRegion: region, signingService }); + } + async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) { + const promise = this.signEvent( + { + headers: this.headerFormatter.format(signableMessage.message.headers), + payload: signableMessage.message.body + }, + { + signingDate, + signingRegion, + signingService, + priorSignature: signableMessage.priorSignature } + ); + return promise.then((signature) => { + return { message: signableMessage.message, signature }; + }); + } + async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const { shortDate } = formatDate(signingDate); + const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); + hash.update((0, import_util_utf84.toUint8Array)(stringToSign)); + return (0, import_util_hex_encoding.toHex)(await hash.digest()); + } + async signRequest(requestToSign, { + signingDate = /* @__PURE__ */ new Date(), + signableHeaders, + unsignableHeaders, + signingRegion, + signingService + } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const request2 = prepareRequest(requestToSign); + const { longDate, shortDate } = formatDate(signingDate); + const scope = createScope(shortDate, region, signingService ?? this.service); + request2.headers[AMZ_DATE_HEADER] = longDate; + if (credentials.sessionToken) { + request2.headers[TOKEN_HEADER] = credentials.sessionToken; } - if (angleBracketsCount !== 0) { - throw new Error(`Unclosed DOCTYPE`); + const payloadHash = await getPayloadHash(request2, this.sha256); + if (!hasHeader(SHA256_HEADER, request2.headers) && this.applyChecksum) { + request2.headers[SHA256_HEADER] = payloadHash; } - } else { - throw new Error(`Invalid Tag instead of DOCTYPE`); + const canonicalHeaders = getCanonicalHeaders(request2, unsignableHeaders, signableHeaders); + const signature = await this.getSignature( + longDate, + scope, + this.getSigningKey(credentials, region, shortDate, signingService), + this.createCanonicalRequest(request2, canonicalHeaders, payloadHash) + ); + request2.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; + return request2; } - return { entities, i }; - } - function readEntityExp(xmlData, i) { - let entityName2 = ""; - for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"'); i++) { - entityName2 += xmlData[i]; + createCanonicalRequest(request2, canonicalHeaders, payloadHash) { + const sortedHeaders = Object.keys(canonicalHeaders).sort(); + return `${request2.method} +${this.getCanonicalPath(request2)} +${getCanonicalQuery(request2)} +${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")} + +${sortedHeaders.join(";")} +${payloadHash}`; } - entityName2 = entityName2.trim(); - if (entityName2.indexOf(" ") !== -1) throw new Error("External entites are not supported"); - const startChar = xmlData[i++]; - let val2 = ""; - for (; i < xmlData.length && xmlData[i] !== startChar; i++) { - val2 += xmlData[i]; + async createStringToSign(longDate, credentialScope, canonicalRequest) { + const hash = new this.sha256(); + hash.update((0, import_util_utf84.toUint8Array)(canonicalRequest)); + const hashedRequest = await hash.digest(); + return `${ALGORITHM_IDENTIFIER} +${longDate} +${credentialScope} +${(0, import_util_hex_encoding.toHex)(hashedRequest)}`; } - return [entityName2, val2, i]; - } - function isComment(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "-" && xmlData[i + 3] === "-") return true; - return false; - } - function isEntity(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "N" && xmlData[i + 4] === "T" && xmlData[i + 5] === "I" && xmlData[i + 6] === "T" && xmlData[i + 7] === "Y") return true; - return false; - } - function isElement(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "L" && xmlData[i + 4] === "E" && xmlData[i + 5] === "M" && xmlData[i + 6] === "E" && xmlData[i + 7] === "N" && xmlData[i + 8] === "T") return true; - return false; - } - function isAttlist(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "A" && xmlData[i + 3] === "T" && xmlData[i + 4] === "T" && xmlData[i + 5] === "L" && xmlData[i + 6] === "I" && xmlData[i + 7] === "S" && xmlData[i + 8] === "T") return true; - return false; - } - function isNotation(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "N" && xmlData[i + 3] === "O" && xmlData[i + 4] === "T" && xmlData[i + 5] === "A" && xmlData[i + 6] === "T" && xmlData[i + 7] === "I" && xmlData[i + 8] === "O" && xmlData[i + 9] === "N") return true; - return false; - } - function validateEntityName(name) { - if (util.isName(name)) - return name; - else - throw new Error(`Invalid entity name ${name}`); - } - module2.exports = readDocType; - } -}); - -// ../../../node_modules/strnum/strnum.js -var require_strnum = __commonJS({ - "../../../node_modules/strnum/strnum.js"(exports2, module2) { - var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; - var numRegex = /^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/; - if (!Number.parseInt && window.parseInt) { - Number.parseInt = window.parseInt; - } - if (!Number.parseFloat && window.parseFloat) { - Number.parseFloat = window.parseFloat; - } - var consider = { - hex: true, - leadingZeros: true, - decimalPoint: ".", - eNotation: true - //skipLike: /regex/ - }; - function toNumber(str, options = {}) { - options = Object.assign({}, consider, options); - if (!str || typeof str !== "string") return str; - let trimmedStr = str.trim(); - if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str; - else if (options.hex && hexRegex.test(trimmedStr)) { - return Number.parseInt(trimmedStr, 16); - } else { - const match = numRegex.exec(trimmedStr); - if (match) { - const sign = match[1]; - const leadingZeros = match[2]; - let numTrimmedByZeros = trimZeros(match[3]); - const eNotation = match[4] || match[6]; - if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== ".") return str; - else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") return str; - else { - const num = Number(trimmedStr); - const numStr = "" + num; - if (numStr.search(/[eE]/) !== -1) { - if (options.eNotation) return num; - else return str; - } else if (eNotation) { - if (options.eNotation) return num; - else return str; - } else if (trimmedStr.indexOf(".") !== -1) { - if (numStr === "0" && numTrimmedByZeros === "") return num; - else if (numStr === numTrimmedByZeros) return num; - else if (sign && numStr === "-" + numTrimmedByZeros) return num; - else return str; - } - if (leadingZeros) { - if (numTrimmedByZeros === numStr) return num; - else if (sign + numTrimmedByZeros === numStr) return num; - else return str; + getCanonicalPath({ path }) { + if (this.uriEscapePath) { + const normalizedPathSegments = []; + for (const pathSegment of path.split("/")) { + if ((pathSegment == null ? void 0 : pathSegment.length) === 0) + continue; + if (pathSegment === ".") + continue; + if (pathSegment === "..") { + normalizedPathSegments.pop(); + } else { + normalizedPathSegments.push(pathSegment); } - if (trimmedStr === numStr) return num; - else if (trimmedStr === sign + numStr) return num; - return str; } - } else { - return str; + const normalizedPath = `${(path == null ? void 0 : path.startsWith("/")) ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && (path == null ? void 0 : path.endsWith("/")) ? "/" : ""}`; + const doubleEncoded = (0, import_util_uri_escape.escapeUri)(normalizedPath); + return doubleEncoded.replace(/%2F/g, "/"); } + return path; } - } - function trimZeros(numStr) { - if (numStr && numStr.indexOf(".") !== -1) { - numStr = numStr.replace(/0+$/, ""); - if (numStr === ".") numStr = "0"; - else if (numStr[0] === ".") numStr = "0" + numStr; - else if (numStr[numStr.length - 1] === ".") numStr = numStr.substr(0, numStr.length - 1); - return numStr; + async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { + const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest); + const hash = new this.sha256(await keyPromise); + hash.update((0, import_util_utf84.toUint8Array)(stringToSign)); + return (0, import_util_hex_encoding.toHex)(await hash.digest()); } - return numStr; - } - module2.exports = toNumber; + getSigningKey(credentials, region, shortDate, service) { + return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service); + } + validateResolvedCredentials(credentials) { + if (typeof credentials !== "object" || // @ts-expect-error: Property 'accessKeyId' does not exist on type 'object'.ts(2339) + typeof credentials.accessKeyId !== "string" || // @ts-expect-error: Property 'secretAccessKey' does not exist on type 'object'.ts(2339) + typeof credentials.secretAccessKey !== "string") { + throw new Error("Resolved credential object is not valid"); + } + } + }; + __name(_SignatureV4, "SignatureV4"); + var SignatureV42 = _SignatureV4; + var formatDate = /* @__PURE__ */ __name((now) => { + const longDate = iso8601(now).replace(/[\-:]/g, ""); + return { + longDate, + shortDate: longDate.slice(0, 8) + }; + }, "formatDate"); + var getCanonicalHeaderList = /* @__PURE__ */ __name((headers) => Object.keys(headers).sort().join(";"), "getCanonicalHeaderList"); } }); -// ../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js -var require_OrderedObjParser = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(exports2, module2) { - "use strict"; - var util = require_util2(); - var xmlNode = require_xmlNode(); - var readDocType = require_DocTypeReader(); - var toNumber = require_strnum(); - var regx = "<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util.nameRegexp); - var OrderedObjParser = class { - constructor(options) { - this.options = options; - this.currentNode = null; - this.tagsNodeStack = []; - this.docTypeEntities = {}; - this.lastEntities = { - "apos": { regex: /&(apos|#39|#x27);/g, val: "'" }, - "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" }, - "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" }, - "quot": { regex: /&(quot|#34|#x22);/g, val: '"' } - }; - this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }; - this.htmlEntities = { - "space": { regex: /&(nbsp|#160);/g, val: " " }, - // "lt" : { regex: /&(lt|#60);/g, val: "<" }, - // "gt" : { regex: /&(gt|#62);/g, val: ">" }, - // "amp" : { regex: /&(amp|#38);/g, val: "&" }, - // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, - // "apos" : { regex: /&(apos|#39);/g, val: "'" }, - "cent": { regex: /&(cent|#162);/g, val: "\xA2" }, - "pound": { regex: /&(pound|#163);/g, val: "\xA3" }, - "yen": { regex: /&(yen|#165);/g, val: "\xA5" }, - "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" }, - "copyright": { regex: /&(copy|#169);/g, val: "\xA9" }, - "reg": { regex: /&(reg|#174);/g, val: "\xAE" }, - "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" } +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js +var import_signature_v4, resolveAwsSdkSigV4Config, resolveAWSSDKSigV4Config; +var init_resolveAwsSdkSigV4Config = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js"() { + init_dist_es(); + import_signature_v4 = __toESM(require_dist_cjs35()); + resolveAwsSdkSigV4Config = (config) => { + let normalizedCreds; + if (config.credentials) { + normalizedCreds = memoizeIdentityProvider(config.credentials, isIdentityExpired, doesIdentityRequireRefresh); + } + if (!normalizedCreds) { + if (config.credentialDefaultProvider) { + normalizedCreds = normalizeProvider(config.credentialDefaultProvider(Object.assign({}, config, { + parentClientConfig: config + }))); + } else { + normalizedCreds = async () => { + throw new Error("`credentials` is missing"); + }; + } + } + const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256 } = config; + let signer; + if (config.signer) { + signer = normalizeProvider(config.signer); + } else if (config.regionInfoProvider) { + signer = () => normalizeProvider(config.region)().then(async (region) => [ + await config.regionInfoProvider(region, { + useFipsEndpoint: await config.useFipsEndpoint(), + useDualstackEndpoint: await config.useDualstackEndpoint() + }) || {}, + region + ]).then(([regionInfo, region]) => { + const { signingRegion, signingService } = regionInfo; + config.signingRegion = config.signingRegion || signingRegion || region; + config.signingName = config.signingName || signingService || config.serviceId; + const params = { + ...config, + credentials: normalizedCreds, + region: config.signingRegion, + service: config.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = config.signerConstructor || import_signature_v4.SignatureV4; + return new SignerCtor(params); + }); + } else { + signer = async (authScheme) => { + authScheme = Object.assign({}, { + name: "sigv4", + signingName: config.signingName || config.defaultSigningName, + signingRegion: await normalizeProvider(config.region)(), + properties: {} + }, authScheme); + const signingRegion = authScheme.signingRegion; + const signingService = authScheme.signingName; + config.signingRegion = config.signingRegion || signingRegion; + config.signingName = config.signingName || signingService || config.serviceId; + const params = { + ...config, + credentials: normalizedCreds, + region: config.signingRegion, + service: config.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = config.signerConstructor || import_signature_v4.SignatureV4; + return new SignerCtor(params); }; - this.addExternalEntities = addExternalEntities; - this.parseXml = parseXml; - this.parseTextData = parseTextData; - this.resolveNameSpace = resolveNameSpace; - this.buildAttributesMap = buildAttributesMap; - this.isItStopNode = isItStopNode; - this.replaceEntitiesValue = replaceEntitiesValue; - this.readStopNodeData = readStopNodeData; - this.saveTextToParentTag = saveTextToParentTag; - this.addChild = addChild; } + return { + ...config, + systemClockOffset, + signingEscapePath, + credentials: normalizedCreds, + signer + }; }; - function addExternalEntities(externalEntities) { - const entKeys = Object.keys(externalEntities); - for (let i = 0; i < entKeys.length; i++) { - const ent = entKeys[i]; - this.lastEntities[ent] = { - regex: new RegExp("&" + ent + ";", "g"), - val: externalEntities[ent] - }; + resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config; + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +var init_aws_sdk = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js"() { + init_AwsSdkSigV4Signer(); + init_AwsSdkSigV4ASigner(); + init_resolveAwsSdkSigV4AConfig(); + init_resolveAwsSdkSigV4Config(); + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js +var init_httpAuthSchemes2 = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js"() { + init_aws_sdk(); + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js +var _toStr, _toBool, _toNum; +var init_coercing_serializers = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js"() { + _toStr = (val2) => { + if (val2 == null) { + return val2; } - } - function parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { - if (val2 !== void 0) { - if (this.options.trimValues && !dontTrim) { - val2 = val2.trim(); - } - if (val2.length > 0) { - if (!escapeEntities) val2 = this.replaceEntitiesValue(val2); - const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode); - if (newval === null || newval === void 0) { - return val2; - } else if (typeof newval !== typeof val2 || newval !== val2) { - return newval; - } else if (this.options.trimValues) { - return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); - } else { - const trimmedVal = val2.trim(); - if (trimmedVal === val2) { - return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); - } else { - return val2; - } - } - } + if (typeof val2 === "number" || typeof val2 === "bigint") { + const warning = new Error(`Received number ${val2} where a string was expected.`); + warning.name = "Warning"; + console.warn(warning); + return String(val2); } - } - function resolveNameSpace(tagname) { - if (this.options.removeNSPrefix) { - const tags = tagname.split(":"); - const prefix = tagname.charAt(0) === "/" ? "/" : ""; - if (tags[0] === "xmlns") { - return ""; + if (typeof val2 === "boolean") { + const warning = new Error(`Received boolean ${val2} where a string was expected.`); + warning.name = "Warning"; + console.warn(warning); + return String(val2); + } + return val2; + }; + _toBool = (val2) => { + if (val2 == null) { + return val2; + } + if (typeof val2 === "number") { + } + if (typeof val2 === "string") { + const lowercase = val2.toLowerCase(); + if (val2 !== "" && lowercase !== "false" && lowercase !== "true") { + const warning = new Error(`Received string "${val2}" where a boolean was expected.`); + warning.name = "Warning"; + console.warn(warning); } - if (tags.length === 2) { - tagname = prefix + tags[1]; + return val2 !== "" && lowercase !== "false"; + } + return val2; + }; + _toNum = (val2) => { + if (val2 == null) { + return val2; + } + if (typeof val2 === "boolean") { + } + if (typeof val2 === "string") { + const num = Number(val2); + if (num.toString() !== val2) { + const warning = new Error(`Received string "${val2}" where a number was expected.`); + warning.name = "Warning"; + console.warn(warning); + return val2; } + return num; } - return tagname; - } - var attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); - function buildAttributesMap(attrStr, jPath, tagName) { - if (!this.options.ignoreAttributes && typeof attrStr === "string") { - const matches = util.getAllMatches(attrStr, attrsRegx); - const len = matches.length; - const attrs = {}; - for (let i = 0; i < len; i++) { - const attrName = this.resolveNameSpace(matches[i][1]); - let oldVal = matches[i][4]; - let aName = this.options.attributeNamePrefix + attrName; - if (attrName.length) { - if (this.options.transformAttributeName) { - aName = this.options.transformAttributeName(aName); - } - if (aName === "__proto__") aName = "#__proto__"; - if (oldVal !== void 0) { - if (this.options.trimValues) { - oldVal = oldVal.trim(); - } - oldVal = this.replaceEntitiesValue(oldVal); - const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); - if (newVal === null || newVal === void 0) { - attrs[aName] = oldVal; - } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) { - attrs[aName] = newVal; - } else { - attrs[aName] = parseValue( - oldVal, - this.options.parseAttributeValue, - this.options.numberParseOptions - ); - } - } else if (this.options.allowBooleanAttributes) { - attrs[aName] = true; - } + return val2; + }; + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js +var import_smithy_client, awsExpectUnion; +var init_awsExpectUnion = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js"() { + import_smithy_client = __toESM(require_dist_cjs33()); + awsExpectUnion = (value) => { + if (value == null) { + return void 0; + } + if (typeof value === "object" && "__type" in value) { + delete value.__type; + } + return (0, import_smithy_client.expectUnion)(value); + }; + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js +var import_smithy_client2, collectBodyString; +var init_common = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js"() { + import_smithy_client2 = __toESM(require_dist_cjs33()); + collectBodyString = (streamBody, context) => (0, import_smithy_client2.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +var parseJsonBody, parseJsonErrorBody, loadRestJsonErrorCode; +var init_parseJsonBody = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js"() { + init_common(); + parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + try { + return JSON.parse(encoded); + } catch (e) { + if (e?.name === "SyntaxError") { + Object.defineProperty(e, "$responseBodyText", { + value: encoded + }); } + throw e; } - if (!Object.keys(attrs).length) { - return; + } + return {}; + }); + parseJsonErrorBody = async (errorBody, context) => { + const value = await parseJsonBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }; + loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); } - if (this.options.attributesGroupName) { - const attrCollection = {}; - attrCollection[this.options.attributesGroupName] = attrs; - return attrCollection; + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; } - return attrs; - } - } - var parseXml = function(xmlData) { - xmlData = xmlData.replace(/\r\n?/g, "\n"); - const xmlObj = new xmlNode("!xml"); - let currentNode = xmlObj; - let textData = ""; - let jPath = ""; + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + } +}); + +// ../../../node_modules/fast-xml-parser/src/util.js +var require_util = __commonJS({ + "../../../node_modules/fast-xml-parser/src/util.js"(exports2) { + "use strict"; + var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; + var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; + var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; + var regexName = new RegExp("^" + nameRegexp + "$"); + var getAllMatches = function(string, regex) { + const matches = []; + let match = regex.exec(string); + while (match) { + const allmatches = []; + allmatches.startIndex = regex.lastIndex - match[0].length; + const len = match.length; + for (let index = 0; index < len; index++) { + allmatches.push(match[index]); + } + matches.push(allmatches); + match = regex.exec(string); + } + return matches; + }; + var isName = function(string) { + const match = regexName.exec(string); + return !(match === null || typeof match === "undefined"); + }; + exports2.isExist = function(v) { + return typeof v !== "undefined"; + }; + exports2.isEmptyObject = function(obj) { + return Object.keys(obj).length === 0; + }; + exports2.merge = function(target, a, arrayMode) { + if (a) { + const keys = Object.keys(a); + const len = keys.length; + for (let i = 0; i < len; i++) { + if (arrayMode === "strict") { + target[keys[i]] = [a[keys[i]]]; + } else { + target[keys[i]] = a[keys[i]]; + } + } + } + }; + exports2.getValue = function(v) { + if (exports2.isExist(v)) { + return v; + } else { + return ""; + } + }; + exports2.isName = isName; + exports2.getAllMatches = getAllMatches; + exports2.nameRegexp = nameRegexp; + } +}); + +// ../../../node_modules/fast-xml-parser/src/validator.js +var require_validator = __commonJS({ + "../../../node_modules/fast-xml-parser/src/validator.js"(exports2) { + "use strict"; + var util = require_util(); + var defaultOptions = { + allowBooleanAttributes: false, + //A tag can have attributes without any value + unpairedTags: [] + }; + exports2.validate = function(xmlData, options) { + options = Object.assign({}, defaultOptions, options); + const tags = []; + let tagFound = false; + let reachedRoot = false; + if (xmlData[0] === "\uFEFF") { + xmlData = xmlData.substr(1); + } for (let i = 0; i < xmlData.length; i++) { - const ch = xmlData[i]; - if (ch === "<") { - if (xmlData[i + 1] === "/") { - const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed."); - let tagName = xmlData.substring(i + 2, closeIndex).trim(); - if (this.options.removeNSPrefix) { - const colonIndex = tagName.indexOf(":"); - if (colonIndex !== -1) { - tagName = tagName.substr(colonIndex + 1); - } + if (xmlData[i] === "<" && xmlData[i + 1] === "?") { + i += 2; + i = readPI(xmlData, i); + if (i.err) return i; + } else if (xmlData[i] === "<") { + let tagStartPos = i; + i++; + if (xmlData[i] === "!") { + i = readCommentAndCDATA(xmlData, i); + continue; + } else { + let closingTag = false; + if (xmlData[i] === "/") { + closingTag = true; + i++; } - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); + let tagName = ""; + for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) { + tagName += xmlData[i]; } - if (currentNode) { - textData = this.saveTextToParentTag(textData, currentNode, jPath); + tagName = tagName.trim(); + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substring(0, tagName.length - 1); + i--; } - const lastTagName = jPath.substring(jPath.lastIndexOf(".") + 1); - if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) { - throw new Error(`Unpaired tag can not be used as closing tag: `); + if (!validateTagName(tagName)) { + let msg; + if (tagName.trim().length === 0) { + msg = "Invalid space after '<'."; + } else { + msg = "Tag '" + tagName + "' is an invalid name."; + } + return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i)); } - let propIndex = 0; - if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) { - propIndex = jPath.lastIndexOf(".", jPath.lastIndexOf(".") - 1); - this.tagsNodeStack.pop(); - } else { - propIndex = jPath.lastIndexOf("."); + const result = readAttributeStr(xmlData, i); + if (result === false) { + return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i)); } - jPath = jPath.substring(0, propIndex); - currentNode = this.tagsNodeStack.pop(); - textData = ""; - i = closeIndex; - } else if (xmlData[i + 1] === "?") { - let tagData = readTagExp(xmlData, i, false, "?>"); - if (!tagData) throw new Error("Pi Tag is not closed."); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) { + let attrStr = result.value; + i = result.index; + if (attrStr[attrStr.length - 1] === "/") { + const attrStrStart = i - attrStr.length; + attrStr = attrStr.substring(0, attrStr.length - 1); + const isValid = validateAttributeString(attrStr, options); + if (isValid === true) { + tagFound = true; + } else { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); + } + } else if (closingTag) { + if (!result.tagClosed) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); + } else if (attrStr.trim().length > 0) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); + } else if (tags.length === 0) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' has not been opened.", getLineNumberForPosition(xmlData, tagStartPos)); + } else { + const otg = tags.pop(); + if (tagName !== otg.tagName) { + let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); + return getErrorObject( + "InvalidTag", + "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", + getLineNumberForPosition(xmlData, tagStartPos) + ); + } + if (tags.length == 0) { + reachedRoot = true; + } + } } else { - const childNode = new xmlNode(tagData.tagName); - childNode.add(this.options.textNodeName, ""); - if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName); + const isValid = validateAttributeString(attrStr, options); + if (isValid !== true) { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); } - this.addChild(currentNode, childNode, jPath); + if (reachedRoot === true) { + return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i)); + } else if (options.unpairedTags.indexOf(tagName) !== -1) { + } else { + tags.push({ tagName, tagStartPos }); + } + tagFound = true; } - i = tagData.closeIndex + 1; - } else if (xmlData.substr(i + 1, 3) === "!--") { - const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed."); - if (this.options.commentPropName) { - const comment = xmlData.substring(i + 4, endIndex - 2); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]); + for (i++; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "!") { + i++; + i = readCommentAndCDATA(xmlData, i); + continue; + } else if (xmlData[i + 1] === "?") { + i = readPI(xmlData, ++i); + if (i.err) return i; + } else { + break; + } + } else if (xmlData[i] === "&") { + const afterAmp = validateAmpersand(xmlData, i); + if (afterAmp == -1) + return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); + i = afterAmp; + } else { + if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { + return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i)); + } + } } - i = endIndex; - } else if (xmlData.substr(i + 1, 2) === "!D") { - const result = readDocType(xmlData, i); - this.docTypeEntities = result.entities; - i = result.i; - } else if (xmlData.substr(i + 1, 2) === "![") { - const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; - const tagExp = xmlData.substring(i + 9, closeIndex); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - if (this.options.cdataPropName) { - currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]); - } else { - let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true); - if (val2 == void 0) val2 = ""; - currentNode.add(this.options.textNodeName, val2); - } - i = closeIndex + 2; - } else { - let result = readTagExp(xmlData, i, this.options.removeNSPrefix); - let tagName = result.tagName; - let tagExp = result.tagExp; - let attrExpPresent = result.attrExpPresent; - let closeIndex = result.closeIndex; - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); - } - if (currentNode && textData) { - if (currentNode.tagname !== "!xml") { - textData = this.saveTextToParentTag(textData, currentNode, jPath, false); - } - } - const lastTag = currentNode; - if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) { - currentNode = this.tagsNodeStack.pop(); - jPath = jPath.substring(0, jPath.lastIndexOf(".")); - } - if (tagName !== xmlObj.tagname) { - jPath += jPath ? "." + tagName : tagName; - } - if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { - let tagContent = ""; - if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { - i = result.closeIndex; - } else if (this.options.unpairedTags.indexOf(tagName) !== -1) { - i = result.closeIndex; - } else { - const result2 = this.readStopNodeData(xmlData, tagName, closeIndex + 1); - if (!result2) throw new Error(`Unexpected end of ${tagName}`); - i = result2.i; - tagContent = result2.tagContent; - } - const childNode = new xmlNode(tagName); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - if (tagContent) { - tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); - } - jPath = jPath.substr(0, jPath.lastIndexOf(".")); - childNode.add(this.options.textNodeName, tagContent); - this.addChild(currentNode, childNode, jPath); - } else { - if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { - if (tagName[tagName.length - 1] === "/") { - tagName = tagName.substr(0, tagName.length - 1); - tagExp = tagName; - } else { - tagExp = tagExp.substr(0, tagExp.length - 1); - } - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); - } - const childNode = new xmlNode(tagName); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - this.addChild(currentNode, childNode, jPath); - jPath = jPath.substr(0, jPath.lastIndexOf(".")); - } else { - const childNode = new xmlNode(tagName); - this.tagsNodeStack.push(currentNode); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - this.addChild(currentNode, childNode, jPath); - currentNode = childNode; - } - textData = ""; - i = closeIndex; + if (xmlData[i] === "<") { + i--; } } } else { - textData += xmlData[i]; + if (isWhiteSpace(xmlData[i])) { + continue; + } + return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i)); } } - return xmlObj.child; + if (!tagFound) { + return getErrorObject("InvalidXml", "Start tag expected.", 1); + } else if (tags.length == 1) { + return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); + } else if (tags.length > 0) { + return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }); + } + return true; }; - function addChild(currentNode, childNode, jPath) { - const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]); - if (result === false) { - } else if (typeof result === "string") { - childNode.tagname = result; - currentNode.addChild(childNode); - } else { - currentNode.addChild(childNode); + function isWhiteSpace(char) { + return char === " " || char === " " || char === "\n" || char === "\r"; + } + function readPI(xmlData, i) { + const start = i; + for (; i < xmlData.length; i++) { + if (xmlData[i] == "?" || xmlData[i] == " ") { + const tagname = xmlData.substr(start, i - start); + if (i > 5 && tagname === "xml") { + return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i)); + } else if (xmlData[i] == "?" && xmlData[i + 1] == ">") { + i++; + break; + } else { + continue; + } + } } + return i; } - var replaceEntitiesValue = function(val2) { - if (this.options.processEntities) { - for (let entityName2 in this.docTypeEntities) { - const entity = this.docTypeEntities[entityName2]; - val2 = val2.replace(entity.regx, entity.val); + function readCommentAndCDATA(xmlData, i) { + if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") { + for (i += 3; i < xmlData.length; i++) { + if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") { + i += 2; + break; + } } - for (let entityName2 in this.lastEntities) { - const entity = this.lastEntities[entityName2]; - val2 = val2.replace(entity.regex, entity.val); + } else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") { + let angleBracketsCount = 1; + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + angleBracketsCount++; + } else if (xmlData[i] === ">") { + angleBracketsCount--; + if (angleBracketsCount === 0) { + break; + } + } } - if (this.options.htmlEntities) { - for (let entityName2 in this.htmlEntities) { - const entity = this.htmlEntities[entityName2]; - val2 = val2.replace(entity.regex, entity.val); + } else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") { + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") { + i += 2; + break; } } - val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val); - } - return val2; - }; - function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { - if (textData) { - if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0; - textData = this.parseTextData( - textData, - currentNode.tagname, - jPath, - false, - currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, - isLeafNode - ); - if (textData !== void 0 && textData !== "") - currentNode.add(this.options.textNodeName, textData); - textData = ""; - } - return textData; - } - function isItStopNode(stopNodes, jPath, currentTagName) { - const allNodesExp = "*." + currentTagName; - for (const stopNodePath in stopNodes) { - const stopNodeExp = stopNodes[stopNodePath]; - if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true; } - return false; + return i; } - function tagExpWithClosingIndex(xmlData, i, closingChar = ">") { - let attrBoundary; - let tagExp = ""; - for (let index = i; index < xmlData.length; index++) { - let ch = xmlData[index]; - if (attrBoundary) { - if (ch === attrBoundary) attrBoundary = ""; - } else if (ch === '"' || ch === "'") { - attrBoundary = ch; - } else if (ch === closingChar[0]) { - if (closingChar[1]) { - if (xmlData[index + 1] === closingChar[1]) { - return { - data: tagExp, - index - }; - } + var doubleQuote = '"'; + var singleQuote = "'"; + function readAttributeStr(xmlData, i) { + let attrStr = ""; + let startChar = ""; + let tagClosed = false; + for (; i < xmlData.length; i++) { + if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { + if (startChar === "") { + startChar = xmlData[i]; + } else if (startChar !== xmlData[i]) { } else { - return { - data: tagExp, - index - }; + startChar = ""; + } + } else if (xmlData[i] === ">") { + if (startChar === "") { + tagClosed = true; + break; } - } else if (ch === " ") { - ch = " "; } - tagExp += ch; - } - } - function findClosingIndex(xmlData, str, i, errMsg) { - const closingIndex = xmlData.indexOf(str, i); - if (closingIndex === -1) { - throw new Error(errMsg); - } else { - return closingIndex + str.length - 1; - } - } - function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") { - const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar); - if (!result) return; - let tagExp = result.data; - const closeIndex = result.index; - const separatorIndex = tagExp.search(/\s/); - let tagName = tagExp; - let attrExpPresent = true; - if (separatorIndex !== -1) { - tagName = tagExp.substr(0, separatorIndex).replace(/\s\s*$/, ""); - tagExp = tagExp.substr(separatorIndex + 1); + attrStr += xmlData[i]; } - if (removeNSPrefix) { - const colonIndex = tagName.indexOf(":"); - if (colonIndex !== -1) { - tagName = tagName.substr(colonIndex + 1); - attrExpPresent = tagName !== result.data.substr(colonIndex + 1); - } + if (startChar !== "") { + return false; } return { - tagName, - tagExp, - closeIndex, - attrExpPresent + value: attrStr, + index: i, + tagClosed }; } - function readStopNodeData(xmlData, tagName, i) { - const startIndex = i; - let openTagCount = 1; - for (; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - if (xmlData[i + 1] === "/") { - const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); - let closeTagName = xmlData.substring(i + 2, closeIndex).trim(); - if (closeTagName === tagName) { - openTagCount--; - if (openTagCount === 0) { - return { - tagContent: xmlData.substring(startIndex, i), - i: closeIndex - }; - } - } - i = closeIndex; - } else if (xmlData[i + 1] === "?") { - const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed."); - i = closeIndex; - } else if (xmlData.substr(i + 1, 3) === "!--") { - const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed."); - i = closeIndex; - } else if (xmlData.substr(i + 1, 2) === "![") { - const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; - i = closeIndex; - } else { - const tagData = readTagExp(xmlData, i, ">"); - if (tagData) { - const openTagName = tagData && tagData.tagName; - if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") { - openTagCount++; - } - i = tagData.closeIndex; - } - } + var validAttrStrRegxp = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); + function validateAttributeString(attrStr, options) { + const matches = util.getAllMatches(attrStr, validAttrStrRegxp); + const attrNames = {}; + for (let i = 0; i < matches.length; i++) { + if (matches[i][1].length === 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) { + return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i])); } - } - } - function parseValue(val2, shouldParse, options) { - if (shouldParse && typeof val2 === "string") { - const newval = val2.trim(); - if (newval === "true") return true; - else if (newval === "false") return false; - else return toNumber(val2, options); - } else { - if (util.isExist(val2)) { - return val2; + const attrName = matches[i][2]; + if (!validateAttrName(attrName)) { + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i])); + } + if (!attrNames.hasOwnProperty(attrName)) { + attrNames[attrName] = 1; } else { - return ""; + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i])); } } + return true; } - module2.exports = OrderedObjParser; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js -var require_node2json = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js"(exports2) { - "use strict"; - function prettify(node, options) { - return compress(node, options); - } - function compress(arr, options, jPath) { - let text; - const compressedObj = {}; - for (let i = 0; i < arr.length; i++) { - const tagObj = arr[i]; - const property = propName(tagObj); - let newJpath = ""; - if (jPath === void 0) newJpath = property; - else newJpath = jPath + "." + property; - if (property === options.textNodeName) { - if (text === void 0) text = tagObj[property]; - else text += "" + tagObj[property]; - } else if (property === void 0) { - continue; - } else if (tagObj[property]) { - let val2 = compress(tagObj[property], options, newJpath); - const isLeaf = isLeafTag(val2, options); - if (tagObj[":@"]) { - assignAttributes(val2, tagObj[":@"], newJpath, options); - } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) { - val2 = val2[options.textNodeName]; - } else if (Object.keys(val2).length === 0) { - if (options.alwaysCreateTextNode) val2[options.textNodeName] = ""; - else val2 = ""; - } - if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) { - if (!Array.isArray(compressedObj[property])) { - compressedObj[property] = [compressedObj[property]]; - } - compressedObj[property].push(val2); - } else { - if (options.isArray(property, newJpath, isLeaf)) { - compressedObj[property] = [val2]; - } else { - compressedObj[property] = val2; - } - } - } + function validateNumberAmpersand(xmlData, i) { + let re = /\d/; + if (xmlData[i] === "x") { + i++; + re = /[\da-fA-F]/; } - if (typeof text === "string") { - if (text.length > 0) compressedObj[options.textNodeName] = text; - } else if (text !== void 0) compressedObj[options.textNodeName] = text; - return compressedObj; + for (; i < xmlData.length; i++) { + if (xmlData[i] === ";") + return i; + if (!xmlData[i].match(re)) + break; + } + return -1; } - function propName(obj) { - const keys = Object.keys(obj); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key !== ":@") return key; + function validateAmpersand(xmlData, i) { + i++; + if (xmlData[i] === ";") + return -1; + if (xmlData[i] === "#") { + i++; + return validateNumberAmpersand(xmlData, i); + } + let count = 0; + for (; i < xmlData.length; i++, count++) { + if (xmlData[i].match(/\w/) && count < 20) + continue; + if (xmlData[i] === ";") + break; + return -1; } + return i; } - function assignAttributes(obj, attrMap, jpath, options) { - if (attrMap) { - const keys = Object.keys(attrMap); - const len = keys.length; - for (let i = 0; i < len; i++) { - const atrrName = keys[i]; - if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { - obj[atrrName] = [attrMap[atrrName]]; - } else { - obj[atrrName] = attrMap[atrrName]; - } + function getErrorObject(code, message, lineNumber) { + return { + err: { + code, + msg: message, + line: lineNumber.line || lineNumber, + col: lineNumber.col } - } + }; } - function isLeafTag(obj, options) { - const { textNodeName } = options; - const propCount = Object.keys(obj).length; - if (propCount === 0) { - return true; - } - if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) { - return true; - } - return false; + function validateAttrName(attrName) { + return util.isName(attrName); + } + function validateTagName(tagname) { + return util.isName(tagname); + } + function getLineNumberForPosition(xmlData, index) { + const lines = xmlData.substring(0, index).split(/\r?\n/); + return { + line: lines.length, + // column number is last line's length + 1, because column numbering starts at 1: + col: lines[lines.length - 1].length + 1 + }; + } + function getPositionFromMatch(match) { + return match.startIndex + match[1].length; } - exports2.prettify = prettify; } }); -// ../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js -var require_XMLParser = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(exports2, module2) { - var { buildOptions } = require_OptionsBuilder(); - var OrderedObjParser = require_OrderedObjParser(); - var { prettify } = require_node2json(); - var validator = require_validator(); - var XMLParser = class { - constructor(options) { - this.externalEntities = {}; - this.options = buildOptions(options); +// ../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +var require_OptionsBuilder = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(exports2) { + var defaultOptions = { + preserveOrder: false, + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + removeNSPrefix: false, + // remove NS from tag name or attribute name if true + allowBooleanAttributes: false, + //a tag can have attributes without any value + //ignoreRootElement : false, + parseTagValue: true, + parseAttributeValue: false, + trimValues: true, + //Trim string values of tag and attributes + cdataPropName: false, + numberParseOptions: { + hex: true, + leadingZeros: true, + eNotation: true + }, + tagValueProcessor: function(tagName, val2) { + return val2; + }, + attributeValueProcessor: function(attrName, val2) { + return val2; + }, + stopNodes: [], + //nested tags will not be parsed even for errors + alwaysCreateTextNode: false, + isArray: () => false, + commentPropName: false, + unpairedTags: [], + processEntities: true, + htmlEntities: false, + ignoreDeclaration: false, + ignorePiTags: false, + transformTagName: false, + transformAttributeName: false, + updateTag: function(tagName, jPath, attrs) { + return tagName; } - /** - * Parse XML dats to JS object - * @param {string|Buffer} xmlData - * @param {boolean|Object} validationOption - */ - parse(xmlData, validationOption) { - if (typeof xmlData === "string") { - } else if (xmlData.toString) { - xmlData = xmlData.toString(); - } else { - throw new Error("XML data is accepted in String or Bytes[] form."); - } - if (validationOption) { - if (validationOption === true) validationOption = {}; - const result = validator.validate(xmlData, validationOption); - if (result !== true) { - throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`); - } - } - const orderedObjParser = new OrderedObjParser(this.options); - orderedObjParser.addExternalEntities(this.externalEntities); - const orderedResult = orderedObjParser.parseXml(xmlData); - if (this.options.preserveOrder || orderedResult === void 0) return orderedResult; - else return prettify(orderedResult, this.options); + // skipEmptyListItem: false + }; + var buildOptions = function(options) { + return Object.assign({}, defaultOptions, options); + }; + exports2.buildOptions = buildOptions; + exports2.defaultOptions = defaultOptions; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +var require_xmlNode = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(exports2, module2) { + "use strict"; + var XmlNode = class { + constructor(tagname) { + this.tagname = tagname; + this.child = []; + this[":@"] = {}; } - /** - * Add Entity which is not by default supported by this library - * @param {string} key - * @param {string} value - */ - addEntity(key, value) { - if (value.indexOf("&") !== -1) { - throw new Error("Entity value can't have '&'"); - } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) { - throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); - } else if (value === "&") { - throw new Error("An entity with value '&' is not permitted"); + add(key, val2) { + if (key === "__proto__") key = "#__proto__"; + this.child.push({ [key]: val2 }); + } + addChild(node) { + if (node.tagname === "__proto__") node.tagname = "#__proto__"; + if (node[":@"] && Object.keys(node[":@"]).length > 0) { + this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] }); } else { - this.externalEntities[key] = value; + this.child.push({ [node.tagname]: node.child }); } } }; - module2.exports = XMLParser; + module2.exports = XmlNode; } }); -// ../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js -var require_orderedJs2Xml = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports2, module2) { - var EOL = "\n"; - function toXml(jArray, options) { - let indentation = ""; - if (options.format && options.indentBy.length > 0) { - indentation = EOL; - } - return arrToStr(jArray, options, "", indentation); - } - function arrToStr(arr, options, jPath, indentation) { - let xmlStr = ""; - let isPreviousElementTag = false; - for (let i = 0; i < arr.length; i++) { - const tagObj = arr[i]; - const tagName = propName(tagObj); - let newJPath = ""; - if (jPath.length === 0) newJPath = tagName; - else newJPath = `${jPath}.${tagName}`; - if (tagName === options.textNodeName) { - let tagText = tagObj[tagName]; - if (!isStopNode(newJPath, options)) { - tagText = options.tagValueProcessor(tagName, tagText); - tagText = replaceEntitiesValue(tagText, options); - } - if (isPreviousElementTag) { - xmlStr += indentation; - } - xmlStr += tagText; - isPreviousElementTag = false; - continue; - } else if (tagName === options.cdataPropName) { - if (isPreviousElementTag) { - xmlStr += indentation; - } - xmlStr += ``; - isPreviousElementTag = false; - continue; - } else if (tagName === options.commentPropName) { - xmlStr += indentation + ``; - isPreviousElementTag = true; - continue; - } else if (tagName[0] === "?") { - const attStr2 = attr_to_str(tagObj[":@"], options); - const tempInd = tagName === "?xml" ? "" : indentation; - let piTextNodeName = tagObj[tagName][0][options.textNodeName]; - piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; - xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`; - isPreviousElementTag = true; - continue; - } - let newIdentation = indentation; - if (newIdentation !== "") { - newIdentation += options.indentBy; - } - const attStr = attr_to_str(tagObj[":@"], options); - const tagStart = indentation + `<${tagName}${attStr}`; - const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); - if (options.unpairedTags.indexOf(tagName) !== -1) { - if (options.suppressUnpairedNode) xmlStr += tagStart + ">"; - else xmlStr += tagStart + "/>"; - } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { - xmlStr += tagStart + "/>"; - } else if (tagValue && tagValue.endsWith(">")) { - xmlStr += tagStart + `>${tagValue}${indentation}`; - } else { - xmlStr += tagStart + ">"; - if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("") { + if (comment) { + if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") { + comment = false; + angleBracketsCount--; + } + } else { + angleBracketsCount--; + } + if (angleBracketsCount === 0) { + break; + } + } else if (xmlData[i] === "[") { + hasBody = true; } else { - xmlStr += tagValue; + exp += xmlData[i]; } - xmlStr += ``; } - isPreviousElementTag = true; + if (angleBracketsCount !== 0) { + throw new Error(`Unclosed DOCTYPE`); + } + } else { + throw new Error(`Invalid Tag instead of DOCTYPE`); } - return xmlStr; + return { entities, i }; } - function propName(obj) { - const keys = Object.keys(obj); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key !== ":@") return key; + function readEntityExp(xmlData, i) { + let entityName2 = ""; + for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"'); i++) { + entityName2 += xmlData[i]; } - } - function attr_to_str(attrMap, options) { - let attrStr = ""; - if (attrMap && !options.ignoreAttributes) { - for (let attr in attrMap) { - let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); - attrVal = replaceEntitiesValue(attrVal, options); - if (attrVal === true && options.suppressBooleanAttributes) { - attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; - } else { - attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; - } - } + entityName2 = entityName2.trim(); + if (entityName2.indexOf(" ") !== -1) throw new Error("External entites are not supported"); + const startChar = xmlData[i++]; + let val2 = ""; + for (; i < xmlData.length && xmlData[i] !== startChar; i++) { + val2 += xmlData[i]; } - return attrStr; + return [entityName2, val2, i]; } - function isStopNode(jPath, options) { - jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); - let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); - for (let index in options.stopNodes) { - if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) return true; - } + function isComment(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "-" && xmlData[i + 3] === "-") return true; return false; } - function replaceEntitiesValue(textValue, options) { - if (textValue && textValue.length > 0 && options.processEntities) { - for (let i = 0; i < options.entities.length; i++) { - const entity = options.entities[i]; - textValue = textValue.replace(entity.regex, entity.val); - } - } - return textValue; + function isEntity(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "N" && xmlData[i + 4] === "T" && xmlData[i + 5] === "I" && xmlData[i + 6] === "T" && xmlData[i + 7] === "Y") return true; + return false; } - module2.exports = toXml; + function isElement(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "L" && xmlData[i + 4] === "E" && xmlData[i + 5] === "M" && xmlData[i + 6] === "E" && xmlData[i + 7] === "N" && xmlData[i + 8] === "T") return true; + return false; + } + function isAttlist(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "A" && xmlData[i + 3] === "T" && xmlData[i + 4] === "T" && xmlData[i + 5] === "L" && xmlData[i + 6] === "I" && xmlData[i + 7] === "S" && xmlData[i + 8] === "T") return true; + return false; + } + function isNotation(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "N" && xmlData[i + 3] === "O" && xmlData[i + 4] === "T" && xmlData[i + 5] === "A" && xmlData[i + 6] === "T" && xmlData[i + 7] === "I" && xmlData[i + 8] === "O" && xmlData[i + 9] === "N") return true; + return false; + } + function validateEntityName(name) { + if (util.isName(name)) + return name; + else + throw new Error(`Invalid entity name ${name}`); + } + module2.exports = readDocType; } }); -// ../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js -var require_json2xml = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(exports2, module2) { - "use strict"; - var buildFromOrderedJs = require_orderedJs2Xml(); - var defaultOptions = { - attributeNamePrefix: "@_", - attributesGroupName: false, - textNodeName: "#text", - ignoreAttributes: true, - cdataPropName: false, - format: false, - indentBy: " ", - suppressEmptyNode: false, - suppressUnpairedNode: true, - suppressBooleanAttributes: true, - tagValueProcessor: function(key, a) { - return a; - }, - attributeValueProcessor: function(attrName, a) { - return a; - }, - preserveOrder: false, - commentPropName: false, - unpairedTags: [], - entities: [ - { regex: new RegExp("&", "g"), val: "&" }, - //it must be on top - { regex: new RegExp(">", "g"), val: ">" }, - { regex: new RegExp("<", "g"), val: "<" }, - { regex: new RegExp("'", "g"), val: "'" }, - { regex: new RegExp('"', "g"), val: """ } - ], - processEntities: true, - stopNodes: [], - // transformTagName: false, - // transformAttributeName: false, - oneListGroup: false - }; - function Builder(options) { - this.options = Object.assign({}, defaultOptions, options); - if (this.options.ignoreAttributes || this.options.attributesGroupName) { - this.isAttribute = function() { - return false; - }; - } else { - this.attrPrefixLen = this.options.attributeNamePrefix.length; - this.isAttribute = isAttribute; - } - this.processTextOrObjNode = processTextOrObjNode; - if (this.options.format) { - this.indentate = indentate; - this.tagEndChar = ">\n"; - this.newLine = "\n"; - } else { - this.indentate = function() { - return ""; - }; - this.tagEndChar = ">"; - this.newLine = ""; - } - } - Builder.prototype.build = function(jObj) { - if (this.options.preserveOrder) { - return buildFromOrderedJs(jObj, this.options); - } else { - if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) { - jObj = { - [this.options.arrayNodeName]: jObj - }; - } - return this.j2x(jObj, 0).val; - } +// ../../../node_modules/strnum/strnum.js +var require_strnum = __commonJS({ + "../../../node_modules/strnum/strnum.js"(exports2, module2) { + var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; + var numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/; + var consider = { + hex: true, + // oct: false, + leadingZeros: true, + decimalPoint: ".", + eNotation: true + //skipLike: /regex/ }; - Builder.prototype.j2x = function(jObj, level) { - let attrStr = ""; - let val2 = ""; - for (let key in jObj) { - if (typeof jObj[key] === "undefined") { - } else if (jObj[key] === null) { - if (key[0] === "?") val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; - else val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; - } else if (jObj[key] instanceof Date) { - val2 += this.buildTextValNode(jObj[key], key, "", level); - } else if (typeof jObj[key] !== "object") { - const attr = this.isAttribute(key); - if (attr) { - attrStr += this.buildAttrPairStr(attr, "" + jObj[key]); + function toNumber(str, options = {}) { + options = Object.assign({}, consider, options); + if (!str || typeof str !== "string") return str; + let trimmedStr = str.trim(); + if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str; + else if (str === "0") return 0; + else if (options.hex && hexRegex.test(trimmedStr)) { + return parse_int(trimmedStr, 16); + } else if (trimmedStr.search(/[eE]/) !== -1) { + const notation = trimmedStr.match(/^([-\+])?(0*)([0-9]*(\.[0-9]*)?[eE][-\+]?[0-9]+)$/); + if (notation) { + if (options.leadingZeros) { + trimmedStr = (notation[1] || "") + notation[3]; } else { - if (key === this.options.textNodeName) { - let newval = this.options.tagValueProcessor(key, "" + jObj[key]); - val2 += this.replaceEntitiesValue(newval); + if (notation[2] === "0" && notation[3][0] === ".") { } else { - val2 += this.buildTextValNode(jObj[key], key, "", level); + return str; } } - } else if (Array.isArray(jObj[key])) { - const arrLen = jObj[key].length; - let listTagVal = ""; - for (let j = 0; j < arrLen; j++) { - const item = jObj[key][j]; - if (typeof item === "undefined") { - } else if (item === null) { - if (key[0] === "?") val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; - else val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; - } else if (typeof item === "object") { - if (this.options.oneListGroup) { - listTagVal += this.j2x(item, level + 1).val; - } else { - listTagVal += this.processTextOrObjNode(item, key, level); - } + return options.eNotation ? Number(trimmedStr) : str; + } else { + return str; + } + } else { + const match = numRegex.exec(trimmedStr); + if (match) { + const sign = match[1]; + const leadingZeros = match[2]; + let numTrimmedByZeros = trimZeros(match[3]); + if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== ".") return str; + else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") return str; + else if (options.leadingZeros && leadingZeros === str) return 0; + else { + const num = Number(trimmedStr); + const numStr = "" + num; + if (numStr.search(/[eE]/) !== -1) { + if (options.eNotation) return num; + else return str; + } else if (trimmedStr.indexOf(".") !== -1) { + if (numStr === "0" && numTrimmedByZeros === "") return num; + else if (numStr === numTrimmedByZeros) return num; + else if (sign && numStr === "-" + numTrimmedByZeros) return num; + else return str; + } + if (leadingZeros) { + return numTrimmedByZeros === numStr || sign + numTrimmedByZeros === numStr ? num : str; } else { - listTagVal += this.buildTextValNode(item, key, "", level); + return trimmedStr === numStr || trimmedStr === sign + numStr ? num : str; } } - if (this.options.oneListGroup) { - listTagVal = this.buildObjectNode(listTagVal, key, "", level); - } - val2 += listTagVal; } else { - if (this.options.attributesGroupName && key === this.options.attributesGroupName) { - const Ks = Object.keys(jObj[key]); - const L = Ks.length; - for (let j = 0; j < L; j++) { - attrStr += this.buildAttrPairStr(Ks[j], "" + jObj[key][Ks[j]]); - } - } else { - val2 += this.processTextOrObjNode(jObj[key], key, level); - } + return str; } } - return { attrStr, val: val2 }; - }; - Builder.prototype.buildAttrPairStr = function(attrName, val2) { - val2 = this.options.attributeValueProcessor(attrName, "" + val2); - val2 = this.replaceEntitiesValue(val2); - if (this.options.suppressBooleanAttributes && val2 === "true") { - return " " + attrName; - } else return " " + attrName + '="' + val2 + '"'; - }; - function processTextOrObjNode(object, key, level) { - const result = this.j2x(object, level + 1); - if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) { - return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); - } else { - return this.buildObjectNode(result.val, key, result.attrStr, level); - } } - Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) { - if (val2 === "") { - if (key[0] === "?") return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; - else { - return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; - } - } else { - let tagEndExp = "" + val2 + tagEndExp; - } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { - return this.indentate(level) + `` + this.newLine; - } else { - return this.indentate(level) + "<" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp; - } - } - }; - Builder.prototype.closeTag = function(key) { - let closeTag = ""; - if (this.options.unpairedTags.indexOf(key) !== -1) { - if (!this.options.suppressUnpairedNode) closeTag = "/"; - } else if (this.options.suppressEmptyNode) { - closeTag = "/"; - } else { - closeTag = `>` + this.newLine; - } else if (this.options.commentPropName !== false && key === this.options.commentPropName) { - return this.indentate(level) + `` + this.newLine; - } else if (key[0] === "?") { - return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; - } else { - let textValue = this.options.tagValueProcessor(key, val2); - textValue = this.replaceEntitiesValue(textValue); - if (textValue === "") { - return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; - } else { - return this.indentate(level) + "<" + key + attrStr + ">" + textValue + " 0 && this.options.processEntities) { - for (let i = 0; i < this.options.entities.length; i++) { - const entity = this.options.entities[i]; - textValue = textValue.replace(entity.regex, entity.val); - } + function trimZeros(numStr) { + if (numStr && numStr.indexOf(".") !== -1) { + numStr = numStr.replace(/0+$/, ""); + if (numStr === ".") numStr = "0"; + else if (numStr[0] === ".") numStr = "0" + numStr; + else if (numStr[numStr.length - 1] === ".") numStr = numStr.substr(0, numStr.length - 1); + return numStr; } - return textValue; - }; - function indentate(level) { - return this.options.indentBy.repeat(level); + return numStr; } - function isAttribute(name) { - if (name.startsWith(this.options.attributeNamePrefix)) { - return name.substr(this.attrPrefixLen); - } else { - return false; - } + function parse_int(numStr, base) { + if (parseInt) return parseInt(numStr, base); + else if (Number.parseInt) return Number.parseInt(numStr, base); + else if (window && window.parseInt) return window.parseInt(numStr, base); + else throw new Error("parseInt, Number.parseInt, window.parseInt are not supported"); } - module2.exports = Builder; - } -}); - -// ../../../node_modules/fast-xml-parser/src/fxp.js -var require_fxp = __commonJS({ - "../../../node_modules/fast-xml-parser/src/fxp.js"(exports2, module2) { - "use strict"; - var validator = require_validator(); - var XMLParser = require_XMLParser(); - var XMLBuilder = require_json2xml(); - module2.exports = { - XMLParser, - XMLValidator: validator, - XMLBuilder - }; + module2.exports = toNumber; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js -var require_Aws_query = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js"(exports2) { +// ../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +var require_OrderedObjParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.de_GetSessionTokenCommand = exports2.de_GetFederationTokenCommand = exports2.de_GetCallerIdentityCommand = exports2.de_GetAccessKeyInfoCommand = exports2.de_DecodeAuthorizationMessageCommand = exports2.de_AssumeRoleWithWebIdentityCommand = exports2.de_AssumeRoleWithSAMLCommand = exports2.de_AssumeRoleCommand = exports2.se_GetSessionTokenCommand = exports2.se_GetFederationTokenCommand = exports2.se_GetCallerIdentityCommand = exports2.se_GetAccessKeyInfoCommand = exports2.se_DecodeAuthorizationMessageCommand = exports2.se_AssumeRoleWithWebIdentityCommand = exports2.se_AssumeRoleWithSAMLCommand = exports2.se_AssumeRoleCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); - var fast_xml_parser_1 = require_fxp(); - var models_0_1 = require_models_0(); - var STSServiceException_1 = require_STSServiceException(); - var se_AssumeRoleCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleRequest(input, context), - Action: "AssumeRole", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_AssumeRoleCommand = se_AssumeRoleCommand; - var se_AssumeRoleWithSAMLCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleWithSAMLRequest(input, context), - Action: "AssumeRoleWithSAML", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_AssumeRoleWithSAMLCommand = se_AssumeRoleWithSAMLCommand; - var se_AssumeRoleWithWebIdentityCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleWithWebIdentityRequest(input, context), - Action: "AssumeRoleWithWebIdentity", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_AssumeRoleWithWebIdentityCommand = se_AssumeRoleWithWebIdentityCommand; - var se_DecodeAuthorizationMessageCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_DecodeAuthorizationMessageRequest(input, context), - Action: "DecodeAuthorizationMessage", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DecodeAuthorizationMessageCommand = se_DecodeAuthorizationMessageCommand; - var se_GetAccessKeyInfoCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetAccessKeyInfoRequest(input, context), - Action: "GetAccessKeyInfo", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetAccessKeyInfoCommand = se_GetAccessKeyInfoCommand; - var se_GetCallerIdentityCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetCallerIdentityRequest(input, context), - Action: "GetCallerIdentity", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetCallerIdentityCommand = se_GetCallerIdentityCommand; - var se_GetFederationTokenCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetFederationTokenRequest(input, context), - Action: "GetFederationToken", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetFederationTokenCommand = se_GetFederationTokenCommand; - var se_GetSessionTokenCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetSessionTokenRequest(input, context), - Action: "GetSessionToken", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetSessionTokenCommand = se_GetSessionTokenCommand; - var de_AssumeRoleCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleResponse(data.AssumeRoleResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_AssumeRoleCommand = de_AssumeRoleCommand; - var de_AssumeRoleCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); + var util = require_util(); + var xmlNode = require_xmlNode(); + var readDocType = require_DocTypeReader(); + var toNumber = require_strnum(); + var OrderedObjParser = class { + constructor(options) { + this.options = options; + this.currentNode = null; + this.tagsNodeStack = []; + this.docTypeEntities = {}; + this.lastEntities = { + "apos": { regex: /&(apos|#39|#x27);/g, val: "'" }, + "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" }, + "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" }, + "quot": { regex: /&(quot|#34|#x22);/g, val: '"' } + }; + this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }; + this.htmlEntities = { + "space": { regex: /&(nbsp|#160);/g, val: " " }, + // "lt" : { regex: /&(lt|#60);/g, val: "<" }, + // "gt" : { regex: /&(gt|#62);/g, val: ">" }, + // "amp" : { regex: /&(amp|#38);/g, val: "&" }, + // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, + // "apos" : { regex: /&(apos|#39);/g, val: "'" }, + "cent": { regex: /&(cent|#162);/g, val: "\xA2" }, + "pound": { regex: /&(pound|#163);/g, val: "\xA3" }, + "yen": { regex: /&(yen|#165);/g, val: "\xA5" }, + "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" }, + "copyright": { regex: /&(copy|#169);/g, val: "\xA9" }, + "reg": { regex: /&(reg|#174);/g, val: "\xAE" }, + "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" }, + "num_dec": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) }, + "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) } + }; + this.addExternalEntities = addExternalEntities; + this.parseXml = parseXml; + this.parseTextData = parseTextData; + this.resolveNameSpace = resolveNameSpace; + this.buildAttributesMap = buildAttributesMap; + this.isItStopNode = isItStopNode; + this.replaceEntitiesValue = replaceEntitiesValue; + this.readStopNodeData = readStopNodeData; + this.saveTextToParentTag = saveTextToParentTag; + this.addChild = addChild; } }; - var de_AssumeRoleWithSAMLCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleWithSAMLCommandError(output, context); + function addExternalEntities(externalEntities) { + const entKeys = Object.keys(externalEntities); + for (let i = 0; i < entKeys.length; i++) { + const ent = entKeys[i]; + this.lastEntities[ent] = { + regex: new RegExp("&" + ent + ";", "g"), + val: externalEntities[ent] + }; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_AssumeRoleWithSAMLCommand = de_AssumeRoleWithSAMLCommand; - var de_AssumeRoleWithSAMLCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "IDPRejectedClaim": - case "com.amazonaws.sts#IDPRejectedClaimException": - throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); - case "InvalidIdentityToken": - case "com.amazonaws.sts#InvalidIdentityTokenException": - throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); + } + function parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { + if (val2 !== void 0) { + if (this.options.trimValues && !dontTrim) { + val2 = val2.trim(); + } + if (val2.length > 0) { + if (!escapeEntities) val2 = this.replaceEntitiesValue(val2); + const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode); + if (newval === null || newval === void 0) { + return val2; + } else if (typeof newval !== typeof val2 || newval !== val2) { + return newval; + } else if (this.options.trimValues) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + const trimmedVal = val2.trim(); + if (trimmedVal === val2) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + return val2; + } + } + } } - }; - var de_AssumeRoleWithWebIdentityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleWithWebIdentityCommandError(output, context); + } + function resolveNameSpace(tagname) { + if (this.options.removeNSPrefix) { + const tags = tagname.split(":"); + const prefix = tagname.charAt(0) === "/" ? "/" : ""; + if (tags[0] === "xmlns") { + return ""; + } + if (tags.length === 2) { + tagname = prefix + tags[1]; + } } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_AssumeRoleWithWebIdentityCommand = de_AssumeRoleWithWebIdentityCommand; - var de_AssumeRoleWithWebIdentityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "IDPCommunicationError": - case "com.amazonaws.sts#IDPCommunicationErrorException": - throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context); - case "IDPRejectedClaim": - case "com.amazonaws.sts#IDPRejectedClaimException": - throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); - case "InvalidIdentityToken": - case "com.amazonaws.sts#InvalidIdentityTokenException": - throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_DecodeAuthorizationMessageCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DecodeAuthorizationMessageCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DecodeAuthorizationMessageCommand = de_DecodeAuthorizationMessageCommand; - var de_DecodeAuthorizationMessageCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidAuthorizationMessageException": - case "com.amazonaws.sts#InvalidAuthorizationMessageException": - throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_GetAccessKeyInfoCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetAccessKeyInfoCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetAccessKeyInfoCommand = de_GetAccessKeyInfoCommand; - var de_GetAccessKeyInfoCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - }; - var de_GetCallerIdentityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetCallerIdentityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetCallerIdentityCommand = de_GetCallerIdentityCommand; - var de_GetCallerIdentityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - }; - var de_GetFederationTokenCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetFederationTokenCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetFederationTokenCommand = de_GetFederationTokenCommand; - var de_GetFederationTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_GetSessionTokenCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetSessionTokenCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetSessionTokenCommand = de_GetSessionTokenCommand; - var de_GetSessionTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_ExpiredTokenException(body.Error, context); - const exception = new models_0_1.ExpiredTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_IDPCommunicationErrorException(body.Error, context); - const exception = new models_0_1.IDPCommunicationErrorException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_IDPRejectedClaimException(body.Error, context); - const exception = new models_0_1.IDPRejectedClaimException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidAuthorizationMessageExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_InvalidAuthorizationMessageException(body.Error, context); - const exception = new models_0_1.InvalidAuthorizationMessageException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_InvalidIdentityTokenException(body.Error, context); - const exception = new models_0_1.InvalidIdentityTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_MalformedPolicyDocumentException(body.Error, context); - const exception = new models_0_1.MalformedPolicyDocumentException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_PackedPolicyTooLargeException(body.Error, context); - const exception = new models_0_1.PackedPolicyTooLargeException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_RegionDisabledExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_RegionDisabledException(body.Error, context); - const exception = new models_0_1.RegionDisabledException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var se_AssumeRoleRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.RoleSessionName != null) { - entries["RoleSessionName"] = input.RoleSessionName; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.Tags != null) { - const memberEntries = se_tagListType(input.Tags, context); - if (input.Tags?.length === 0) { - entries.Tags = []; + return tagname; + } + var attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); + function buildAttributesMap(attrStr, jPath, tagName) { + if (!this.options.ignoreAttributes && typeof attrStr === "string") { + const matches = util.getAllMatches(attrStr, attrsRegx); + const len = matches.length; + const attrs = {}; + for (let i = 0; i < len; i++) { + const attrName = this.resolveNameSpace(matches[i][1]); + let oldVal = matches[i][4]; + let aName = this.options.attributeNamePrefix + attrName; + if (attrName.length) { + if (this.options.transformAttributeName) { + aName = this.options.transformAttributeName(aName); + } + if (aName === "__proto__") aName = "#__proto__"; + if (oldVal !== void 0) { + if (this.options.trimValues) { + oldVal = oldVal.trim(); + } + oldVal = this.replaceEntitiesValue(oldVal); + const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); + if (newVal === null || newVal === void 0) { + attrs[aName] = oldVal; + } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) { + attrs[aName] = newVal; + } else { + attrs[aName] = parseValue( + oldVal, + this.options.parseAttributeValue, + this.options.numberParseOptions + ); + } + } else if (this.options.allowBooleanAttributes) { + attrs[aName] = true; + } + } } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); - } - if (input.TransitiveTagKeys != null) { - const memberEntries = se_tagKeyListType(input.TransitiveTagKeys, context); - if (input.TransitiveTagKeys?.length === 0) { - entries.TransitiveTagKeys = []; + if (!Object.keys(attrs).length) { + return; } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TransitiveTagKeys.${key}`; - entries[loc] = value; - }); - } - if (input.ExternalId != null) { - entries["ExternalId"] = input.ExternalId; - } - if (input.SerialNumber != null) { - entries["SerialNumber"] = input.SerialNumber; - } - if (input.TokenCode != null) { - entries["TokenCode"] = input.TokenCode; - } - if (input.SourceIdentity != null) { - entries["SourceIdentity"] = input.SourceIdentity; - } - if (input.ProvidedContexts != null) { - const memberEntries = se_ProvidedContextsListType(input.ProvidedContexts, context); - if (input.ProvidedContexts?.length === 0) { - entries.ProvidedContexts = []; + if (this.options.attributesGroupName) { + const attrCollection = {}; + attrCollection[this.options.attributesGroupName] = attrs; + return attrCollection; } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProvidedContexts.${key}`; - entries[loc] = value; - }); - } - return entries; - }; - var se_AssumeRoleWithSAMLRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.PrincipalArn != null) { - entries["PrincipalArn"] = input.PrincipalArn; - } - if (input.SAMLAssertion != null) { - entries["SAMLAssertion"] = input.SAMLAssertion; + return attrs; } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - return entries; - }; - var se_AssumeRoleWithWebIdentityRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.RoleSessionName != null) { - entries["RoleSessionName"] = input.RoleSessionName; - } - if (input.WebIdentityToken != null) { - entries["WebIdentityToken"] = input.WebIdentityToken; - } - if (input.ProviderId != null) { - entries["ProviderId"] = input.ProviderId; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; + } + var parseXml = function(xmlData) { + xmlData = xmlData.replace(/\r\n?/g, "\n"); + const xmlObj = new xmlNode("!xml"); + let currentNode = xmlObj; + let textData = ""; + let jPath = ""; + for (let i = 0; i < xmlData.length; i++) { + const ch = xmlData[i]; + if (ch === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed."); + let tagName = xmlData.substring(i + 2, closeIndex).trim(); + if (this.options.removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + } + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode) { + textData = this.saveTextToParentTag(textData, currentNode, jPath); + } + const lastTagName = jPath.substring(jPath.lastIndexOf(".") + 1); + if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) { + throw new Error(`Unpaired tag can not be used as closing tag: `); + } + let propIndex = 0; + if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) { + propIndex = jPath.lastIndexOf(".", jPath.lastIndexOf(".") - 1); + this.tagsNodeStack.pop(); + } else { + propIndex = jPath.lastIndexOf("."); + } + jPath = jPath.substring(0, propIndex); + currentNode = this.tagsNodeStack.pop(); + textData = ""; + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + let tagData = readTagExp(xmlData, i, false, "?>"); + if (!tagData) throw new Error("Pi Tag is not closed."); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) { + } else { + const childNode = new xmlNode(tagData.tagName); + childNode.add(this.options.textNodeName, ""); + if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName); + } + this.addChild(currentNode, childNode, jPath); + } + i = tagData.closeIndex + 1; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed."); + if (this.options.commentPropName) { + const comment = xmlData.substring(i + 4, endIndex - 2); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]); + } + i = endIndex; + } else if (xmlData.substr(i + 1, 2) === "!D") { + const result = readDocType(xmlData, i); + this.docTypeEntities = result.entities; + i = result.i; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; + const tagExp = xmlData.substring(i + 9, closeIndex); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true); + if (val2 == void 0) val2 = ""; + if (this.options.cdataPropName) { + currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]); + } else { + currentNode.add(this.options.textNodeName, val2); + } + i = closeIndex + 2; + } else { + let result = readTagExp(xmlData, i, this.options.removeNSPrefix); + let tagName = result.tagName; + const rawTagName = result.rawTagName; + let tagExp = result.tagExp; + let attrExpPresent = result.attrExpPresent; + let closeIndex = result.closeIndex; + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode && textData) { + if (currentNode.tagname !== "!xml") { + textData = this.saveTextToParentTag(textData, currentNode, jPath, false); + } + } + const lastTag = currentNode; + if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) { + currentNode = this.tagsNodeStack.pop(); + jPath = jPath.substring(0, jPath.lastIndexOf(".")); + } + if (tagName !== xmlObj.tagname) { + jPath += jPath ? "." + tagName : tagName; + } + if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { + let tagContent = ""; + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substr(0, tagName.length - 1); + jPath = jPath.substr(0, jPath.length - 1); + tagExp = tagName; + } else { + tagExp = tagExp.substr(0, tagExp.length - 1); + } + i = result.closeIndex; + } else if (this.options.unpairedTags.indexOf(tagName) !== -1) { + i = result.closeIndex; + } else { + const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1); + if (!result2) throw new Error(`Unexpected end of ${rawTagName}`); + i = result2.i; + tagContent = result2.tagContent; + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + if (tagContent) { + tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); + } + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + childNode.add(this.options.textNodeName, tagContent); + this.addChild(currentNode, childNode, jPath); + } else { + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substr(0, tagName.length - 1); + jPath = jPath.substr(0, jPath.length - 1); + tagExp = tagName; + } else { + tagExp = tagExp.substr(0, tagExp.length - 1); + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + } else { + const childNode = new xmlNode(tagName); + this.tagsNodeStack.push(currentNode); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + currentNode = childNode; + } + textData = ""; + i = closeIndex; + } + } + } else { + textData += xmlData[i]; } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; } - return entries; - }; - var se_DecodeAuthorizationMessageRequest = (input, context) => { - const entries = {}; - if (input.EncodedMessage != null) { - entries["EncodedMessage"] = input.EncodedMessage; - } - return entries; - }; - var se_GetAccessKeyInfoRequest = (input, context) => { - const entries = {}; - if (input.AccessKeyId != null) { - entries["AccessKeyId"] = input.AccessKeyId; - } - return entries; - }; - var se_GetCallerIdentityRequest = (input, context) => { - const entries = {}; - return entries; + return xmlObj.child; }; - var se_GetFederationTokenRequest = (input, context) => { - const entries = {}; - if (input.Name != null) { - entries["Name"] = input.Name; - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; + function addChild(currentNode, childNode, jPath) { + const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]); + if (result === false) { + } else if (typeof result === "string") { + childNode.tagname = result; + currentNode.addChild(childNode); + } else { + currentNode.addChild(childNode); } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; + } + var replaceEntitiesValue = function(val2) { + if (this.options.processEntities) { + for (let entityName2 in this.docTypeEntities) { + const entity = this.docTypeEntities[entityName2]; + val2 = val2.replace(entity.regx, entity.val); } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.Tags != null) { - const memberEntries = se_tagListType(input.Tags, context); - if (input.Tags?.length === 0) { - entries.Tags = []; + for (let entityName2 in this.lastEntities) { + const entity = this.lastEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); + if (this.options.htmlEntities) { + for (let entityName2 in this.htmlEntities) { + const entity = this.htmlEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); + } + } + val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val); } - return entries; + return val2; }; - var se_GetSessionTokenRequest = (input, context) => { - const entries = {}; - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.SerialNumber != null) { - entries["SerialNumber"] = input.SerialNumber; + function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { + if (textData) { + if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0; + textData = this.parseTextData( + textData, + currentNode.tagname, + jPath, + false, + currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, + isLeafNode + ); + if (textData !== void 0 && textData !== "") + currentNode.add(this.options.textNodeName, textData); + textData = ""; } - if (input.TokenCode != null) { - entries["TokenCode"] = input.TokenCode; + return textData; + } + function isItStopNode(stopNodes, jPath, currentTagName) { + const allNodesExp = "*." + currentTagName; + for (const stopNodePath in stopNodes) { + const stopNodeExp = stopNodes[stopNodePath]; + if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true; } - return entries; - }; - var se_policyDescriptorListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; + return false; + } + function tagExpWithClosingIndex(xmlData, i, closingChar = ">") { + let attrBoundary; + let tagExp = ""; + for (let index = i; index < xmlData.length; index++) { + let ch = xmlData[index]; + if (attrBoundary) { + if (ch === attrBoundary) attrBoundary = ""; + } else if (ch === '"' || ch === "'") { + attrBoundary = ch; + } else if (ch === closingChar[0]) { + if (closingChar[1]) { + if (xmlData[index + 1] === closingChar[1]) { + return { + data: tagExp, + index + }; + } + } else { + return { + data: tagExp, + index + }; + } + } else if (ch === " ") { + ch = " "; } - const memberEntries = se_PolicyDescriptorType(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var se_PolicyDescriptorType = (input, context) => { - const entries = {}; - if (input.arn != null) { - entries["arn"] = input.arn; + tagExp += ch; } - return entries; - }; - var se_ProvidedContext = (input, context) => { - const entries = {}; - if (input.ProviderArn != null) { - entries["ProviderArn"] = input.ProviderArn; + } + function findClosingIndex(xmlData, str, i, errMsg) { + const closingIndex = xmlData.indexOf(str, i); + if (closingIndex === -1) { + throw new Error(errMsg); + } else { + return closingIndex + str.length - 1; } - if (input.ContextAssertion != null) { - entries["ContextAssertion"] = input.ContextAssertion; + } + function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") { + const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar); + if (!result) return; + let tagExp = result.data; + const closeIndex = result.index; + const separatorIndex = tagExp.search(/\s/); + let tagName = tagExp; + let attrExpPresent = true; + if (separatorIndex !== -1) { + tagName = tagExp.substring(0, separatorIndex); + tagExp = tagExp.substring(separatorIndex + 1).trimStart(); } - return entries; - }; - var se_ProvidedContextsListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; + const rawTagName = tagName; + if (removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + attrExpPresent = tagName !== result.data.substr(colonIndex + 1); } - const memberEntries = se_ProvidedContext(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var se_Tag = (input, context) => { - const entries = {}; - if (input.Key != null) { - entries["Key"] = input.Key; } - if (input.Value != null) { - entries["Value"] = input.Value; + return { + tagName, + tagExp, + closeIndex, + attrExpPresent, + rawTagName + }; + } + function readStopNodeData(xmlData, tagName, i) { + const startIndex = i; + let openTagCount = 1; + for (; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); + let closeTagName = xmlData.substring(i + 2, closeIndex).trim(); + if (closeTagName === tagName) { + openTagCount--; + if (openTagCount === 0) { + return { + tagContent: xmlData.substring(startIndex, i), + i: closeIndex + }; + } + } + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; + i = closeIndex; + } else { + const tagData = readTagExp(xmlData, i, ">"); + if (tagData) { + const openTagName = tagData && tagData.tagName; + if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") { + openTagCount++; + } + i = tagData.closeIndex; + } + } + } } - return entries; - }; - var se_tagKeyListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; + } + function parseValue(val2, shouldParse, options) { + if (shouldParse && typeof val2 === "string") { + const newval = val2.trim(); + if (newval === "true") return true; + else if (newval === "false") return false; + else return toNumber(val2, options); + } else { + if (util.isExist(val2)) { + return val2; + } else { + return ""; } - entries[`member.${counter}`] = entry; - counter++; } - return entries; - }; - var se_tagListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { + } + module2.exports = OrderedObjParser; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js +var require_node2json = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js"(exports2) { + "use strict"; + function prettify(node, options) { + return compress(node, options); + } + function compress(arr, options, jPath) { + let text; + const compressedObj = {}; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const property = propName(tagObj); + let newJpath = ""; + if (jPath === void 0) newJpath = property; + else newJpath = jPath + "." + property; + if (property === options.textNodeName) { + if (text === void 0) text = tagObj[property]; + else text += "" + tagObj[property]; + } else if (property === void 0) { continue; + } else if (tagObj[property]) { + let val2 = compress(tagObj[property], options, newJpath); + const isLeaf = isLeafTag(val2, options); + if (tagObj[":@"]) { + assignAttributes(val2, tagObj[":@"], newJpath, options); + } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) { + val2 = val2[options.textNodeName]; + } else if (Object.keys(val2).length === 0) { + if (options.alwaysCreateTextNode) val2[options.textNodeName] = ""; + else val2 = ""; + } + if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) { + if (!Array.isArray(compressedObj[property])) { + compressedObj[property] = [compressedObj[property]]; + } + compressedObj[property].push(val2); + } else { + if (options.isArray(property, newJpath, isLeaf)) { + compressedObj[property] = [val2]; + } else { + compressedObj[property] = val2; + } + } } - const memberEntries = se_Tag(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var de_AssumedRoleUser = (output, context) => { - const contents = {}; - if (output["AssumedRoleId"] !== void 0) { - contents.AssumedRoleId = (0, smithy_client_1.expectString)(output["AssumedRoleId"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_AssumeRoleResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); - } - return contents; - }; - var de_AssumeRoleWithSAMLResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["Subject"] !== void 0) { - contents.Subject = (0, smithy_client_1.expectString)(output["Subject"]); } - if (output["SubjectType"] !== void 0) { - contents.SubjectType = (0, smithy_client_1.expectString)(output["SubjectType"]); - } - if (output["Issuer"] !== void 0) { - contents.Issuer = (0, smithy_client_1.expectString)(output["Issuer"]); + if (typeof text === "string") { + if (text.length > 0) compressedObj[options.textNodeName] = text; + } else if (text !== void 0) compressedObj[options.textNodeName] = text; + return compressedObj; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== ":@") return key; } - if (output["Audience"] !== void 0) { - contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); + } + function assignAttributes(obj, attrMap, jpath, options) { + if (attrMap) { + const keys = Object.keys(attrMap); + const len = keys.length; + for (let i = 0; i < len; i++) { + const atrrName = keys[i]; + if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { + obj[atrrName] = [attrMap[atrrName]]; + } else { + obj[atrrName] = attrMap[atrrName]; + } + } } - if (output["NameQualifier"] !== void 0) { - contents.NameQualifier = (0, smithy_client_1.expectString)(output["NameQualifier"]); + } + function isLeafTag(obj, options) { + const { textNodeName } = options; + const propCount = Object.keys(obj).length; + if (propCount === 0) { + return true; } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) { + return true; } - return contents; - }; - var de_AssumeRoleWithWebIdentityResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["SubjectFromWebIdentityToken"] !== void 0) { - contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output["SubjectFromWebIdentityToken"]); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["Provider"] !== void 0) { - contents.Provider = (0, smithy_client_1.expectString)(output["Provider"]); - } - if (output["Audience"] !== void 0) { - contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); - } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); - } - return contents; - }; - var de_Credentials = (output, context) => { - const contents = {}; - if (output["AccessKeyId"] !== void 0) { - contents.AccessKeyId = (0, smithy_client_1.expectString)(output["AccessKeyId"]); - } - if (output["SecretAccessKey"] !== void 0) { - contents.SecretAccessKey = (0, smithy_client_1.expectString)(output["SecretAccessKey"]); - } - if (output["SessionToken"] !== void 0) { - contents.SessionToken = (0, smithy_client_1.expectString)(output["SessionToken"]); - } - if (output["Expiration"] !== void 0) { - contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output["Expiration"])); - } - return contents; - }; - var de_DecodeAuthorizationMessageResponse = (output, context) => { - const contents = {}; - if (output["DecodedMessage"] !== void 0) { - contents.DecodedMessage = (0, smithy_client_1.expectString)(output["DecodedMessage"]); - } - return contents; - }; - var de_ExpiredTokenException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_FederatedUser = (output, context) => { - const contents = {}; - if (output["FederatedUserId"] !== void 0) { - contents.FederatedUserId = (0, smithy_client_1.expectString)(output["FederatedUserId"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_GetAccessKeyInfoResponse = (output, context) => { - const contents = {}; - if (output["Account"] !== void 0) { - contents.Account = (0, smithy_client_1.expectString)(output["Account"]); - } - return contents; - }; - var de_GetCallerIdentityResponse = (output, context) => { - const contents = {}; - if (output["UserId"] !== void 0) { - contents.UserId = (0, smithy_client_1.expectString)(output["UserId"]); - } - if (output["Account"] !== void 0) { - contents.Account = (0, smithy_client_1.expectString)(output["Account"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_GetFederationTokenResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["FederatedUser"] !== void 0) { - contents.FederatedUser = de_FederatedUser(output["FederatedUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - return contents; - }; - var de_GetSessionTokenResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - return contents; - }; - var de_IDPCommunicationErrorException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_IDPRejectedClaimException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_InvalidAuthorizationMessageException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_InvalidIdentityTokenException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_MalformedPolicyDocumentException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_PackedPolicyTooLargeException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_RegionDisabledException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var throwDefaultError = (0, smithy_client_1.withBaseException)(STSServiceException_1.STSServiceException); - var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const contents = { - protocol, - hostname, - port, - method: "POST", - path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, - headers - }; - if (resolvedHostname !== void 0) { - contents.hostname = resolvedHostname; - } - if (body !== void 0) { - contents.body = body; - } - return new protocol_http_1.HttpRequest(contents); - }; - var SHARED_HEADERS = { - "content-type": "application/x-www-form-urlencoded" - }; - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - const parser = new fast_xml_parser_1.XMLParser({ - attributeNamePrefix: "", - htmlEntities: true, - ignoreAttributes: false, - ignoreDeclaration: true, - parseTagValue: false, - trimValues: false, - tagValueProcessor: (_, val2) => val2.trim() === "" && val2.includes("\n") ? "" : void 0 - }); - parser.addEntity("#xD", "\r"); - parser.addEntity("#10", "\n"); - const parsedObj = parser.parse(encoded); - const textNodeName = "#text"; - const key = Object.keys(parsedObj)[0]; - const parsedObjToReturn = parsedObj[key]; - if (parsedObjToReturn[textNodeName]) { - parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; - delete parsedObjToReturn[textNodeName]; - } - return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - if (value.Error) { - value.Error.message = value.Error.message ?? value.Error.Message; - } - return value; - }; - var buildFormUrlencodedString = (formEntries) => Object.entries(formEntries).map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + "=" + (0, smithy_client_1.extendedEncodeURIComponent)(value)).join("&"); - var loadQueryErrorCode = (output, data) => { - if (data.Error?.Code !== void 0) { - return data.Error.Code; - } - if (output.statusCode == 404) { - return "NotFound"; - } - }; + return false; + } + exports2.prettify = prettify; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js -var require_AssumeRoleCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AssumeRoleCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleCommand = class _AssumeRoleCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; +// ../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +var require_XMLParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(exports2, module2) { + var { buildOptions } = require_OptionsBuilder(); + var OrderedObjParser = require_OrderedObjParser(); + var { prettify } = require_node2json(); + var validator = require_validator(); + var XMLParser2 = class { + constructor(options) { + this.externalEntities = {}; + this.options = buildOptions(options); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "AssumeRole" + /** + * Parse XML dats to JS object + * @param {string|Buffer} xmlData + * @param {boolean|Object} validationOption + */ + parse(xmlData, validationOption) { + if (typeof xmlData === "string") { + } else if (xmlData.toString) { + xmlData = xmlData.toString(); + } else { + throw new Error("XML data is accepted in String or Bytes[] form."); + } + if (validationOption) { + if (validationOption === true) validationOption = {}; + const result = validator.validate(xmlData, validationOption); + if (result !== true) { + throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`); } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleCommand)(input, context); + } + const orderedObjParser = new OrderedObjParser(this.options); + orderedObjParser.addExternalEntities(this.externalEntities); + const orderedResult = orderedObjParser.parseXml(xmlData); + if (this.options.preserveOrder || orderedResult === void 0) return orderedResult; + else return prettify(orderedResult, this.options); } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleCommand)(output, context); + /** + * Add Entity which is not by default supported by this library + * @param {string} key + * @param {string} value + */ + addEntity(key, value) { + if (value.indexOf("&") !== -1) { + throw new Error("Entity value can't have '&'"); + } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) { + throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); + } else if (value === "&") { + throw new Error("An entity with value '&' is not permitted"); + } else { + this.externalEntities[key] = value; + } } }; - exports2.AssumeRoleCommand = AssumeRoleCommand; + module2.exports = XMLParser2; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js -var require_AssumeRoleWithWebIdentityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AssumeRoleWithWebIdentityCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleWithWebIdentityCommand = class _AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +var require_orderedJs2Xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports2, module2) { + var EOL = "\n"; + function toXml(jArray, options) { + let indentation = ""; + if (options.format && options.indentBy.length > 0) { + indentation = EOL; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleWithWebIdentityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "AssumeRoleWithWebIdentity" + return arrToStr(jArray, options, "", indentation); + } + function arrToStr(arr, options, jPath, indentation) { + let xmlStr = ""; + let isPreviousElementTag = false; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const tagName = propName(tagObj); + if (tagName === void 0) continue; + let newJPath = ""; + if (jPath.length === 0) newJPath = tagName; + else newJPath = `${jPath}.${tagName}`; + if (tagName === options.textNodeName) { + let tagText = tagObj[tagName]; + if (!isStopNode(newJPath, options)) { + tagText = options.tagValueProcessor(tagName, tagText); + tagText = replaceEntitiesValue(tagText, options); } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleWithWebIdentityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleWithWebIdentityCommand)(output, context); - } - }; - exports2.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js -var require_defaultStsRoleAssumers = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decorateDefaultCredentialProvider = exports2.getDefaultRoleAssumerWithWebIdentity = exports2.getDefaultRoleAssumer = void 0; - var AssumeRoleCommand_1 = require_AssumeRoleCommand(); - var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); - var ASSUME_ROLE_DEFAULT_REGION = "us-east-1"; - var decorateDefaultRegion = (region) => { - if (typeof region !== "function") { - return region === void 0 ? ASSUME_ROLE_DEFAULT_REGION : region; - } - return async () => { - try { - return await region(); - } catch (e) { - return ASSUME_ROLE_DEFAULT_REGION; + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += tagText; + isPreviousElementTag = false; + continue; + } else if (tagName === options.cdataPropName) { + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += ``; + isPreviousElementTag = false; + continue; + } else if (tagName === options.commentPropName) { + xmlStr += indentation + ``; + isPreviousElementTag = true; + continue; + } else if (tagName[0] === "?") { + const attStr2 = attr_to_str(tagObj[":@"], options); + const tempInd = tagName === "?xml" ? "" : indentation; + let piTextNodeName = tagObj[tagName][0][options.textNodeName]; + piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; + xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`; + isPreviousElementTag = true; + continue; } - }; - }; - var getDefaultRoleAssumer = (stsOptions, stsClientCtor) => { - let stsClient; - let closureSourceCreds; - return async (sourceCreds, params) => { - closureSourceCreds = sourceCreds; - if (!stsClient) { - const { logger, region, requestHandler } = stsOptions; - stsClient = new stsClientCtor({ - logger, - credentialDefaultProvider: () => async () => closureSourceCreds, - region: decorateDefaultRegion(region || stsOptions.region), - ...requestHandler ? { requestHandler } : {} - }); + let newIdentation = indentation; + if (newIdentation !== "") { + newIdentation += options.indentBy; } - const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params)); - if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { - throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); + const attStr = attr_to_str(tagObj[":@"], options); + const tagStart = indentation + `<${tagName}${attStr}`; + const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); + if (options.unpairedTags.indexOf(tagName) !== -1) { + if (options.suppressUnpairedNode) xmlStr += tagStart + ">"; + else xmlStr += tagStart + "/>"; + } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { + xmlStr += tagStart + "/>"; + } else if (tagValue && tagValue.endsWith(">")) { + xmlStr += tagStart + `>${tagValue}${indentation}`; + } else { + xmlStr += tagStart + ">"; + if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("`; } - return { - accessKeyId: Credentials.AccessKeyId, - secretAccessKey: Credentials.SecretAccessKey, - sessionToken: Credentials.SessionToken, - expiration: Credentials.Expiration - }; - }; - }; - exports2.getDefaultRoleAssumer = getDefaultRoleAssumer; - var getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => { - let stsClient; - return async (params) => { - if (!stsClient) { - const { logger, region, requestHandler } = stsOptions; - stsClient = new stsClientCtor({ - logger, - region: decorateDefaultRegion(region || stsOptions.region), - ...requestHandler ? { requestHandler } : {} - }); + isPreviousElementTag = true; + } + return xmlStr; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (!obj.hasOwnProperty(key)) continue; + if (key !== ":@") return key; + } + } + function attr_to_str(attrMap, options) { + let attrStr = ""; + if (attrMap && !options.ignoreAttributes) { + for (let attr in attrMap) { + if (!attrMap.hasOwnProperty(attr)) continue; + let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); + attrVal = replaceEntitiesValue(attrVal, options); + if (attrVal === true && options.suppressBooleanAttributes) { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; + } else { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; + } } - const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params)); - if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { - throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); + } + return attrStr; + } + function isStopNode(jPath, options) { + jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); + let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); + for (let index in options.stopNodes) { + if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) return true; + } + return false; + } + function replaceEntitiesValue(textValue, options) { + if (textValue && textValue.length > 0 && options.processEntities) { + for (let i = 0; i < options.entities.length; i++) { + const entity = options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); } - return { - accessKeyId: Credentials.AccessKeyId, - secretAccessKey: Credentials.SecretAccessKey, - sessionToken: Credentials.SessionToken, - expiration: Credentials.Expiration - }; - }; - }; - exports2.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; - var decorateDefaultCredentialProvider = (provider) => (input) => provider({ - roleAssumer: (0, exports2.getDefaultRoleAssumer)(input, input.stsClientCtor), - roleAssumerWithWebIdentity: (0, exports2.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor), - ...input - }); - exports2.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js -var require_fromEnv = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromEnv = exports2.ENV_EXPIRATION = exports2.ENV_SESSION = exports2.ENV_SECRET = exports2.ENV_KEY = void 0; - var property_provider_1 = require_dist_cjs6(); - exports2.ENV_KEY = "AWS_ACCESS_KEY_ID"; - exports2.ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; - exports2.ENV_SESSION = "AWS_SESSION_TOKEN"; - exports2.ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; - var fromEnv = () => async () => { - const accessKeyId = process.env[exports2.ENV_KEY]; - const secretAccessKey = process.env[exports2.ENV_SECRET]; - const sessionToken = process.env[exports2.ENV_SESSION]; - const expiry = process.env[exports2.ENV_EXPIRATION]; - if (accessKeyId && secretAccessKey) { - return { - accessKeyId, - secretAccessKey, - ...sessionToken && { sessionToken }, - ...expiry && { expiration: new Date(expiry) } - }; } - throw new property_provider_1.CredentialsProviderError("Unable to find environment variable credentials."); - }; - exports2.fromEnv = fromEnv; + return textValue; + } + module2.exports = toXml; } }); -// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js -var require_dist_cjs41 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports2) { +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +var require_json2xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromEnv(), exports2); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js -var require_dist_cjs42 = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); + var buildFromOrderedJs = require_orderedJs2Xml(); + var defaultOptions = { + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + cdataPropName: false, + format: false, + indentBy: " ", + suppressEmptyNode: false, + suppressUnpairedNode: true, + suppressBooleanAttributes: true, + tagValueProcessor: function(key, a) { + return a; + }, + attributeValueProcessor: function(attrName, a) { + return a; + }, + preserveOrder: false, + commentPropName: false, + unpairedTags: [], + entities: [ + { regex: new RegExp("&", "g"), val: "&" }, + //it must be on top + { regex: new RegExp(">", "g"), val: ">" }, + { regex: new RegExp("<", "g"), val: "<" }, + { regex: new RegExp("'", "g"), val: "'" }, + { regex: new RegExp('"', "g"), val: """ } + ], + processEntities: true, + stopNodes: [], + // transformTagName: false, + // transformAttributeName: false, + oneListGroup: false }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + function Builder(options) { + this.options = Object.assign({}, defaultOptions, options); + if (this.options.ignoreAttributes || this.options.attributesGroupName) { + this.isAttribute = function() { + return false; + }; + } else { + this.attrPrefixLen = this.options.attributeNamePrefix.length; + this.isAttribute = isAttribute; + } + this.processTextOrObjNode = processTextOrObjNode; + if (this.options.format) { + this.indentate = indentate; + this.tagEndChar = ">\n"; + this.newLine = "\n"; + } else { + this.indentate = function() { + return ""; + }; + this.tagEndChar = ">"; + this.newLine = ""; + } + } + Builder.prototype.build = function(jObj) { + if (this.options.preserveOrder) { + return buildFromOrderedJs(jObj, this.options); + } else { + if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) { + jObj = { + [this.options.arrayNodeName]: jObj + }; + } + return this.j2x(jObj, 0).val; } - return to; }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - DEFAULT_MAX_RETRIES: () => DEFAULT_MAX_RETRIES, - DEFAULT_TIMEOUT: () => DEFAULT_TIMEOUT, - ENV_CMDS_AUTH_TOKEN: () => ENV_CMDS_AUTH_TOKEN, - ENV_CMDS_FULL_URI: () => ENV_CMDS_FULL_URI, - ENV_CMDS_RELATIVE_URI: () => ENV_CMDS_RELATIVE_URI, - Endpoint: () => Endpoint, - fromContainerMetadata: () => fromContainerMetadata, - fromInstanceMetadata: () => fromInstanceMetadata, - getInstanceMetadataEndpoint: () => getInstanceMetadataEndpoint, - httpRequest: () => httpRequest, - providerConfigFromInit: () => providerConfigFromInit - }); - module2.exports = __toCommonJS2(src_exports); - var import_url = require("url"); - var import_property_provider = require_dist_cjs6(); - var import_buffer = require("buffer"); - var import_http2 = require("http"); - function httpRequest(options) { - return new Promise((resolve, reject) => { - var _a; - const req = (0, import_http2.request)({ - method: "GET", - ...options, - // Node.js http module doesn't accept hostname with square brackets - // Refs: https://github.com/nodejs/node/issues/39738 - hostname: (_a = options.hostname) == null ? void 0 : _a.replace(/^\[(.+)\]$/, "$1") - }); - req.on("error", (err) => { - reject(Object.assign(new import_property_provider.ProviderError("Unable to connect to instance metadata service"), err)); - req.destroy(); - }); - req.on("timeout", () => { - reject(new import_property_provider.ProviderError("TimeoutError from instance metadata service")); - req.destroy(); - }); - req.on("response", (res) => { - const { statusCode = 400 } = res; - if (statusCode < 200 || 300 <= statusCode) { - reject( - Object.assign(new import_property_provider.ProviderError("Error response received from instance metadata service"), { statusCode }) - ); - req.destroy(); + Builder.prototype.j2x = function(jObj, level) { + let attrStr = ""; + let val2 = ""; + for (let key in jObj) { + if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue; + if (typeof jObj[key] === "undefined") { + if (this.isAttribute(key)) { + val2 += ""; + } + } else if (jObj[key] === null) { + if (this.isAttribute(key)) { + val2 += ""; + } else if (key[0] === "?") { + val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + } else { + val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } + } else if (jObj[key] instanceof Date) { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } else if (typeof jObj[key] !== "object") { + const attr = this.isAttribute(key); + if (attr) { + attrStr += this.buildAttrPairStr(attr, "" + jObj[key]); + } else { + if (key === this.options.textNodeName) { + let newval = this.options.tagValueProcessor(key, "" + jObj[key]); + val2 += this.replaceEntitiesValue(newval); + } else { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } + } + } else if (Array.isArray(jObj[key])) { + const arrLen = jObj[key].length; + let listTagVal = ""; + let listTagAttr = ""; + for (let j = 0; j < arrLen; j++) { + const item = jObj[key][j]; + if (typeof item === "undefined") { + } else if (item === null) { + if (key[0] === "?") val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + else val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } else if (typeof item === "object") { + if (this.options.oneListGroup) { + const result = this.j2x(item, level + 1); + listTagVal += result.val; + if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) { + listTagAttr += result.attrStr; + } + } else { + listTagVal += this.processTextOrObjNode(item, key, level); + } + } else { + if (this.options.oneListGroup) { + let textValue = this.options.tagValueProcessor(key, item); + textValue = this.replaceEntitiesValue(textValue); + listTagVal += textValue; + } else { + listTagVal += this.buildTextValNode(item, key, "", level); + } + } + } + if (this.options.oneListGroup) { + listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level); + } + val2 += listTagVal; + } else { + if (this.options.attributesGroupName && key === this.options.attributesGroupName) { + const Ks = Object.keys(jObj[key]); + const L = Ks.length; + for (let j = 0; j < L; j++) { + attrStr += this.buildAttrPairStr(Ks[j], "" + jObj[key][Ks[j]]); + } + } else { + val2 += this.processTextOrObjNode(jObj[key], key, level); } - const chunks = []; - res.on("data", (chunk) => { - chunks.push(chunk); - }); - res.on("end", () => { - resolve(import_buffer.Buffer.concat(chunks)); - req.destroy(); - }); - }); - req.end(); - }); - } - __name(httpRequest, "httpRequest"); - var isImdsCredentials = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string", "isImdsCredentials"); - var fromImdsCredentials = /* @__PURE__ */ __name((creds) => ({ - accessKeyId: creds.AccessKeyId, - secretAccessKey: creds.SecretAccessKey, - sessionToken: creds.Token, - expiration: new Date(creds.Expiration) - }), "fromImdsCredentials"); - var DEFAULT_TIMEOUT = 1e3; - var DEFAULT_MAX_RETRIES = 0; - var providerConfigFromInit = /* @__PURE__ */ __name(({ - maxRetries = DEFAULT_MAX_RETRIES, - timeout = DEFAULT_TIMEOUT - }) => ({ maxRetries, timeout }), "providerConfigFromInit"); - var retry = /* @__PURE__ */ __name((toRetry, maxRetries) => { - let promise = toRetry(); - for (let i = 0; i < maxRetries; i++) { - promise = promise.catch(toRetry); - } - return promise; - }, "retry"); - var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; - var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; - var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; - var fromContainerMetadata = /* @__PURE__ */ __name((init = {}) => { - const { timeout, maxRetries } = providerConfigFromInit(init); - return () => retry(async () => { - const requestOptions = await getCmdsUri(); - const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); - if (!isImdsCredentials(credsResponse)) { - throw new import_property_provider.CredentialsProviderError("Invalid response received from instance metadata service."); } - return fromImdsCredentials(credsResponse); - }, maxRetries); - }, "fromContainerMetadata"); - var requestFromEcsImds = /* @__PURE__ */ __name(async (timeout, options) => { - if (process.env[ENV_CMDS_AUTH_TOKEN]) { - options.headers = { - ...options.headers, - Authorization: process.env[ENV_CMDS_AUTH_TOKEN] - }; } - const buffer = await httpRequest({ - ...options, - timeout - }); - return buffer.toString(); - }, "requestFromEcsImds"); - var CMDS_IP = "169.254.170.2"; - var GREENGRASS_HOSTS = { - localhost: true, - "127.0.0.1": true + return { attrStr, val: val2 }; }; - var GREENGRASS_PROTOCOLS = { - "http:": true, - "https:": true + Builder.prototype.buildAttrPairStr = function(attrName, val2) { + val2 = this.options.attributeValueProcessor(attrName, "" + val2); + val2 = this.replaceEntitiesValue(val2); + if (this.options.suppressBooleanAttributes && val2 === "true") { + return " " + attrName; + } else return " " + attrName + '="' + val2 + '"'; }; - var getCmdsUri = /* @__PURE__ */ __name(async () => { - if (process.env[ENV_CMDS_RELATIVE_URI]) { - return { - hostname: CMDS_IP, - path: process.env[ENV_CMDS_RELATIVE_URI] - }; + function processTextOrObjNode(object, key, level) { + const result = this.j2x(object, level + 1); + if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) { + return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); + } else { + return this.buildObjectNode(result.val, key, result.attrStr, level); } - if (process.env[ENV_CMDS_FULL_URI]) { - const parsed = (0, import_url.parse)(process.env[ENV_CMDS_FULL_URI]); - if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { - throw new import_property_provider.CredentialsProviderError( - `${parsed.hostname} is not a valid container metadata service hostname`, - false - ); + } + Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) { + if (val2 === "") { + if (key[0] === "?") return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + else { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; } - if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { - throw new import_property_provider.CredentialsProviderError( - `${parsed.protocol} is not a valid container metadata service protocol`, - false - ); + } else { + let tagEndExp = "" + val2 + tagEndExp; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { + return this.indentate(level) + `` + this.newLine; + } else { + return this.indentate(level) + "<" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp; } - return { - ...parsed, - port: parsed.port ? parseInt(parsed.port, 10) : void 0 - }; - } - throw new import_property_provider.CredentialsProviderError( - `The container metadata credential provider cannot be used unless the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment variable is set`, - false - ); - }, "getCmdsUri"); - var _InstanceMetadataV1FallbackError = class _InstanceMetadataV1FallbackError2 extends import_property_provider.CredentialsProviderError { - constructor(message, tryNextLink = true) { - super(message, tryNextLink); - this.tryNextLink = tryNextLink; - this.name = "InstanceMetadataV1FallbackError"; - Object.setPrototypeOf(this, _InstanceMetadataV1FallbackError2.prototype); } }; - __name(_InstanceMetadataV1FallbackError, "InstanceMetadataV1FallbackError"); - var InstanceMetadataV1FallbackError = _InstanceMetadataV1FallbackError; - var import_node_config_provider = require_dist_cjs24(); - var import_url_parser = require_dist_cjs26(); - var Endpoint = /* @__PURE__ */ ((Endpoint2) => { - Endpoint2["IPv4"] = "http://169.254.169.254"; - Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; - return Endpoint2; - })(Endpoint || {}); - var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; - var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; - var ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME], - configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME], - default: void 0 + Builder.prototype.closeTag = function(key) { + let closeTag = ""; + if (this.options.unpairedTags.indexOf(key) !== -1) { + if (!this.options.suppressUnpairedNode) closeTag = "/"; + } else if (this.options.suppressEmptyNode) { + closeTag = "/"; + } else { + closeTag = `> { - EndpointMode2["IPv4"] = "IPv4"; - EndpointMode2["IPv6"] = "IPv6"; - return EndpointMode2; - })(EndpointMode || {}); - var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; - var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; - var ENDPOINT_MODE_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME], - configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME], - default: "IPv4" - /* IPv4 */ + Builder.prototype.buildTextValNode = function(val2, key, attrStr, level) { + if (this.options.cdataPropName !== false && key === this.options.cdataPropName) { + return this.indentate(level) + `` + this.newLine; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName) { + return this.indentate(level) + `` + this.newLine; + } else if (key[0] === "?") { + return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + } else { + let textValue = this.options.tagValueProcessor(key, val2); + textValue = this.replaceEntitiesValue(textValue); + if (textValue === "") { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; + } else { + return this.indentate(level) + "<" + key + attrStr + ">" + textValue + " (0, import_url_parser.parseUrl)(await getFromEndpointConfig() || await getFromEndpointModeConfig()), "getInstanceMetadataEndpoint"); - var getFromEndpointConfig = /* @__PURE__ */ __name(async () => (0, import_node_config_provider.loadConfig)(ENDPOINT_CONFIG_OPTIONS)(), "getFromEndpointConfig"); - var getFromEndpointModeConfig = /* @__PURE__ */ __name(async () => { - const endpointMode = await (0, import_node_config_provider.loadConfig)(ENDPOINT_MODE_CONFIG_OPTIONS)(); - switch (endpointMode) { - case "IPv4": - return "http://169.254.169.254"; - case "IPv6": - return "http://[fd00:ec2::254]"; - default: - throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode)}`); + Builder.prototype.replaceEntitiesValue = function(textValue) { + if (textValue && textValue.length > 0 && this.options.processEntities) { + for (let i = 0; i < this.options.entities.length; i++) { + const entity = this.options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } } - }, "getFromEndpointModeConfig"); - var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; - var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; - var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; - var getExtendedInstanceMetadataCredentials = /* @__PURE__ */ __name((credentials, logger) => { - const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); - const newExpiration = new Date(Date.now() + refreshInterval * 1e3); - logger.warn( - `Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}. -For more information, please visit: ` + STATIC_STABILITY_DOC_URL - ); - const originalExpiration = credentials.originalExpiration ?? credentials.expiration; - return { - ...credentials, - ...originalExpiration ? { originalExpiration } : {}, - expiration: newExpiration - }; - }, "getExtendedInstanceMetadataCredentials"); - var staticStabilityProvider = /* @__PURE__ */ __name((provider, options = {}) => { - const logger = (options == null ? void 0 : options.logger) || console; - let pastCredentials; - return async () => { - let credentials; + return textValue; + }; + function indentate(level) { + return this.options.indentBy.repeat(level); + } + function isAttribute(name) { + if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) { + return name.substr(this.attrPrefixLen); + } else { + return false; + } + } + module2.exports = Builder; + } +}); + +// ../../../node_modules/fast-xml-parser/src/fxp.js +var require_fxp = __commonJS({ + "../../../node_modules/fast-xml-parser/src/fxp.js"(exports2, module2) { + "use strict"; + var validator = require_validator(); + var XMLParser2 = require_XMLParser(); + var XMLBuilder = require_json2xml(); + module2.exports = { + XMLParser: XMLParser2, + XMLValidator: validator, + XMLBuilder + }; + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js +var import_smithy_client3, import_fast_xml_parser, parseXmlBody, parseXmlErrorBody, loadRestXmlErrorCode; +var init_parseXmlBody = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js"() { + import_smithy_client3 = __toESM(require_dist_cjs33()); + import_fast_xml_parser = __toESM(require_fxp()); + init_common(); + parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + const parser = new import_fast_xml_parser.XMLParser({ + attributeNamePrefix: "", + htmlEntities: true, + ignoreAttributes: false, + ignoreDeclaration: true, + parseTagValue: false, + trimValues: false, + tagValueProcessor: (_, val2) => val2.trim() === "" && val2.includes("\n") ? "" : void 0 + }); + parser.addEntity("#xD", "\r"); + parser.addEntity("#10", "\n"); + let parsedObj; try { - credentials = await provider(); - if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { - credentials = getExtendedInstanceMetadataCredentials(credentials, logger); - } + parsedObj = parser.parse(encoded, true); } catch (e) { - if (pastCredentials) { - logger.warn("Credential renew failed: ", e); - credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger); - } else { - throw e; - } - } - pastCredentials = credentials; - return credentials; - }; - }, "staticStabilityProvider"); - var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; - var IMDS_TOKEN_PATH = "/latest/api/token"; - var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED"; - var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled"; - var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token"; - var fromInstanceMetadata = /* @__PURE__ */ __name((init = {}) => staticStabilityProvider(getInstanceImdsProvider(init), { logger: init.logger }), "fromInstanceMetadata"); - var getInstanceImdsProvider = /* @__PURE__ */ __name((init) => { - let disableFetchToken = false; - const { logger, profile } = init; - const { timeout, maxRetries } = providerConfigFromInit(init); - const getCredentials = /* @__PURE__ */ __name(async (maxRetries2, options) => { - var _a; - const isImdsV1Fallback = disableFetchToken || ((_a = options.headers) == null ? void 0 : _a[X_AWS_EC2_METADATA_TOKEN]) == null; - if (isImdsV1Fallback) { - let fallbackBlockedFromProfile = false; - let fallbackBlockedFromProcessEnv = false; - const configValue = await (0, import_node_config_provider.loadConfig)( - { - environmentVariableSelector: (env) => { - const envValue = env[AWS_EC2_METADATA_V1_DISABLED]; - fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false"; - if (envValue === void 0) { - throw new import_property_provider.CredentialsProviderError( - `${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.` - ); - } - return fallbackBlockedFromProcessEnv; - }, - configFileSelector: (profile2) => { - const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED]; - fallbackBlockedFromProfile = !!profileValue && profileValue !== "false"; - return fallbackBlockedFromProfile; - }, - default: false - }, - { - profile - } - )(); - if (init.ec2MetadataV1Disabled || configValue) { - const causes = []; - if (init.ec2MetadataV1Disabled) - causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"); - if (fallbackBlockedFromProfile) - causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`); - if (fallbackBlockedFromProcessEnv) - causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`); - throw new InstanceMetadataV1FallbackError( - `AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join( - ", " - )}].` - ); + if (e && typeof e === "object") { + Object.defineProperty(e, "$responseBodyText", { + value: encoded + }); } + throw e; } - const imdsProfile = (await retry(async () => { - let profile2; - try { - profile2 = await getProfile(options); - } catch (err) { - if (err.statusCode === 401) { - disableFetchToken = false; - } - throw err; - } - return profile2; - }, maxRetries2)).trim(); - return retry(async () => { - let creds; - try { - creds = await getCredentialsFromProfile(imdsProfile, options); - } catch (err) { - if (err.statusCode === 401) { - disableFetchToken = false; - } - throw err; - } - return creds; - }, maxRetries2); - }, "getCredentials"); - return async () => { - const endpoint = await getInstanceMetadataEndpoint(); - if (disableFetchToken) { - logger == null ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)"); - return getCredentials(maxRetries, { ...endpoint, timeout }); - } else { - let token; - try { - token = (await getMetadataToken({ ...endpoint, timeout })).toString(); - } catch (error) { - if ((error == null ? void 0 : error.statusCode) === 400) { - throw Object.assign(error, { - message: "EC2 Metadata token request returned error" - }); - } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) { - disableFetchToken = true; - } - logger == null ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)"); - return getCredentials(maxRetries, { ...endpoint, timeout }); - } - return getCredentials(maxRetries, { - ...endpoint, - headers: { - [X_AWS_EC2_METADATA_TOKEN]: token - }, - timeout - }); + const textNodeName = "#text"; + const key = Object.keys(parsedObj)[0]; + const parsedObjToReturn = parsedObj[key]; + if (parsedObjToReturn[textNodeName]) { + parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; + delete parsedObjToReturn[textNodeName]; } - }; - }, "getInstanceImdsProvider"); - var getMetadataToken = /* @__PURE__ */ __name(async (options) => httpRequest({ - ...options, - path: IMDS_TOKEN_PATH, - method: "PUT", - headers: { - "x-aws-ec2-metadata-token-ttl-seconds": "21600" + return (0, import_smithy_client3.getValueFromTextNode)(parsedObjToReturn); } - }), "getMetadataToken"); - var getProfile = /* @__PURE__ */ __name(async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString(), "getProfile"); - var getCredentialsFromProfile = /* @__PURE__ */ __name(async (profile, options) => { - const credsResponse = JSON.parse( - (await httpRequest({ - ...options, - path: IMDS_PATH + profile - })).toString() - ); - if (!isImdsCredentials(credsResponse)) { - throw new import_property_provider.CredentialsProviderError("Invalid response received from instance metadata service."); + return {}; + }); + parseXmlErrorBody = async (errorBody, context) => { + const value = await parseXmlBody(errorBody, context); + if (value.Error) { + value.Error.message = value.Error.message ?? value.Error.Message; } - return fromImdsCredentials(credsResponse); - }, "getCredentialsFromProfile"); + return value; + }; + loadRestXmlErrorCode = (output, data) => { + if (data?.Error?.Code !== void 0) { + return data.Error.Code; + } + if (data?.Code !== void 0) { + return data.Code; + } + if (output.statusCode == 404) { + return "NotFound"; + } + }; } }); -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js -var require_resolveCredentialSource = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveCredentialSource = void 0; - var credential_provider_env_1 = require_dist_cjs41(); - var credential_provider_imds_1 = require_dist_cjs42(); - var property_provider_1 = require_dist_cjs6(); - var resolveCredentialSource = (credentialSource, profileName) => { - const sourceProvidersMap = { - EcsContainer: credential_provider_imds_1.fromContainerMetadata, - Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata, - Environment: credential_provider_env_1.fromEnv - }; - if (credentialSource in sourceProvidersMap) { - return sourceProvidersMap[credentialSource](); - } else { - throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`); - } - }; - exports2.resolveCredentialSource = resolveCredentialSource; +// ../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +var init_protocols2 = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js"() { + init_coercing_serializers(); + init_awsExpectUnion(); + init_parseJsonBody(); + init_parseXmlBody(); + } +}); + +// ../../../node_modules/@aws-sdk/core/dist-es/index.js +var dist_es_exports2 = {}; +__export(dist_es_exports2, { + AWSSDKSigV4Signer: () => AWSSDKSigV4Signer, + AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner, + AwsSdkSigV4Signer: () => AwsSdkSigV4Signer, + NODE_SIGV4A_CONFIG_OPTIONS: () => NODE_SIGV4A_CONFIG_OPTIONS, + _toBool: () => _toBool, + _toNum: () => _toNum, + _toStr: () => _toStr, + awsExpectUnion: () => awsExpectUnion, + emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion, + loadRestJsonErrorCode: () => loadRestJsonErrorCode, + loadRestXmlErrorCode: () => loadRestXmlErrorCode, + parseJsonBody: () => parseJsonBody, + parseJsonErrorBody: () => parseJsonErrorBody, + parseXmlBody: () => parseXmlBody, + parseXmlErrorBody: () => parseXmlErrorBody, + resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config, + resolveAwsSdkSigV4AConfig: () => resolveAwsSdkSigV4AConfig, + resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config, + validateSigningProperties: () => validateSigningProperties +}); +var init_dist_es2 = __esm({ + "../../../node_modules/@aws-sdk/core/dist-es/index.js"() { + init_client(); + init_httpAuthSchemes2(); + init_protocols2(); } }); -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js -var require_resolveAssumeRoleCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/auth/httpAuthSchemeProvider.js +var require_httpAuthSchemeProvider = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/auth/httpAuthSchemeProvider.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveAssumeRoleCredentials = exports2.isAssumeRoleProfile = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs23(); - var resolveCredentialSource_1 = require_resolveCredentialSource(); - var resolveProfileData_1 = require_resolveProfileData(); - var isAssumeRoleProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg)); - exports2.isAssumeRoleProfile = isAssumeRoleProfile; - var isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; - var isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; - var resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => { - const data = profiles[profileName]; - if (!options.roleAssumer) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false); - } - const { source_profile } = data; - if (source_profile && source_profile in visitedProfiles) { - throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), false); - } - const sourceCredsProvider = source_profile ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, { - ...visitedProfiles, - [source_profile]: true - }) : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)(); - const params = { - RoleArn: data.role_arn, - RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`, - ExternalId: data.external_id, - DurationSeconds: parseInt(data.duration_seconds || "3600", 10) + exports2.resolveHttpAuthSchemeConfig = exports2.defaultSFNHttpAuthSchemeProvider = exports2.defaultSFNHttpAuthSchemeParametersProvider = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var util_middleware_1 = require_dist_cjs10(); + var defaultSFNHttpAuthSchemeParametersProvider = async (config, context, input) => { + return { + operation: (0, util_middleware_1.getSmithyContext)(context).operation, + region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() }; - const { mfa_serial } = data; - if (mfa_serial) { - if (!options.mfaCodeProvider) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false); + }; + exports2.defaultSFNHttpAuthSchemeParametersProvider = defaultSFNHttpAuthSchemeParametersProvider; + function createAwsAuthSigv4HttpAuthOption(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "states", + region: authParameters.region + }, + propertiesExtractor: (config, context) => ({ + signingProperties: { + config, + context + } + }) + }; + } + var defaultSFNHttpAuthSchemeProvider = (authParameters) => { + const options = []; + switch (authParameters.operation) { + default: { + options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); } - params.SerialNumber = mfa_serial; - params.TokenCode = await options.mfaCodeProvider(mfa_serial); } - const sourceCreds = await sourceCredsProvider; - return options.roleAssumer(sourceCreds, params); + return options; }; - exports2.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials; + exports2.defaultSFNHttpAuthSchemeProvider = defaultSFNHttpAuthSchemeProvider; + var resolveHttpAuthSchemeConfig = (config) => { + const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config); + return { + ...config_0 + }; + }; + exports2.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig; } }); -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js -var require_getValidatedProcessCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getValidatedProcessCredentials = void 0; - var getValidatedProcessCredentials = (profileName, data) => { - if (data.Version !== 1) { - throw Error(`Profile ${profileName} credential_process did not return Version 1.`); - } - if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { - throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); - } - if (data.Expiration) { - const currentTime = /* @__PURE__ */ new Date(); - const expireTime = new Date(data.Expiration); - if (expireTime < currentTime) { - throw Error(`Profile ${profileName} credential_process returned expired credentials.`); - } - } - return { - accessKeyId: data.AccessKeyId, - secretAccessKey: data.SecretAccessKey, - ...data.SessionToken && { sessionToken: data.SessionToken }, - ...data.Expiration && { expiration: new Date(data.Expiration) } - }; - }; - exports2.getValidatedProcessCredentials = getValidatedProcessCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js -var require_resolveProcessCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveProcessCredentials = void 0; - var property_provider_1 = require_dist_cjs6(); - var child_process_1 = require("child_process"); - var util_1 = require("util"); - var getValidatedProcessCredentials_1 = require_getValidatedProcessCredentials(); - var resolveProcessCredentials = async (profileName, profiles) => { - const profile = profiles[profileName]; - if (profiles[profileName]) { - const credentialProcess = profile["credential_process"]; - if (credentialProcess !== void 0) { - const execPromise = (0, util_1.promisify)(child_process_1.exec); - try { - const { stdout } = await execPromise(credentialProcess); - let data; - try { - data = JSON.parse(stdout.trim()); - } catch (_a) { - throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); - } - return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data); - } catch (error) { - throw new property_provider_1.CredentialsProviderError(error.message); - } - } else { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`); - } - } else { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`); - } - }; - exports2.resolveProcessCredentials = resolveProcessCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js -var require_fromProcess = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromProcess = void 0; - var shared_ini_file_loader_1 = require_dist_cjs23(); - var resolveProcessCredentials_1 = require_resolveProcessCredentials(); - var fromProcess = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles); - }; - exports2.fromProcess = fromProcess; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js -var require_dist_cjs43 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromProcess(), exports2); - } +// ../../../node_modules/tslib/tslib.es6.mjs +var tslib_es6_exports = {}; +__export(tslib_es6_exports, { + __addDisposableResource: () => __addDisposableResource, + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldIn: () => __classPrivateFieldIn, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __disposeResources: () => __disposeResources, + __esDecorate: () => __esDecorate, + __exportStar: () => __exportStar, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __propKey: () => __propKey, + __read: () => __read, + __rest: () => __rest, + __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension, + __runInitializers: () => __runInitializers, + __setFunctionName: () => __setFunctionName, + __spread: () => __spread, + __spreadArray: () => __spreadArray, + __spreadArrays: () => __spreadArrays, + __values: () => __values, + default: () => tslib_es6_default }); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js -var require_resolveProcessCredentials2 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveProcessCredentials = exports2.isProcessProfile = void 0; - var credential_provider_process_1 = require_dist_cjs43(); - var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string"; - exports2.isProcessProfile = isProcessProfile; - var resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({ - ...options, - profile - })(); - exports2.resolveProcessCredentials = resolveProcessCredentials; +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js -var require_isSsoProfile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isSsoProfile = void 0; - var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"); - exports2.isSsoProfile = isSsoProfile; + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { + if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); + return f; } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters3 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - defaultSigningName: "awsssoportal" - }; + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) context.access[p] = contextIn.access[p]; + context.addInitializer = function(f) { + if (done) throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f || null)); }; - exports2.resolveClientEndpointParameters = resolveClientEndpointParameters; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) continue; + if (result === null || typeof result !== "object") throw new TypeError("Object expected"); + if (_ = accept(result.get)) descriptor.get = _; + if (_ = accept(result.set)) descriptor.set = _; + if (_ = accept(result.init)) initializers.unshift(_); + } else if (_ = accept(result)) { + if (kind === "field") initializers.unshift(_); + else descriptor[key] = _; + } } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/package.json -var require_package3 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/package.json"(exports2, module2) { - module2.exports = { - name: "@aws-sdk/client-sso", - description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.421.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.418.0", - "@aws-sdk/middleware-logger": "3.418.0", - "@aws-sdk/middleware-recursion-detection": "3.418.0", - "@aws-sdk/middleware-user-agent": "3.418.0", - "@aws-sdk/region-config-resolver": "3.418.0", - "@aws-sdk/types": "3.418.0", - "@aws-sdk/util-endpoints": "3.418.0", - "@aws-sdk/util-user-agent-browser": "3.418.0", - "@aws-sdk/util-user-agent-node": "3.418.0", - "@smithy/config-resolver": "^2.0.10", - "@smithy/fetch-http-handler": "^2.1.5", - "@smithy/hash-node": "^2.0.9", - "@smithy/invalid-dependency": "^2.0.9", - "@smithy/middleware-content-length": "^2.0.11", - "@smithy/middleware-endpoint": "^2.0.9", - "@smithy/middleware-retry": "^2.0.12", - "@smithy/middleware-serde": "^2.0.9", - "@smithy/middleware-stack": "^2.0.2", - "@smithy/node-config-provider": "^2.0.12", - "@smithy/node-http-handler": "^2.1.5", - "@smithy/protocol-http": "^3.0.5", - "@smithy/smithy-client": "^2.1.6", - "@smithy/types": "^2.3.3", - "@smithy/url-parser": "^2.0.9", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.10", - "@smithy/util-defaults-mode-node": "^2.0.12", - "@smithy/util-retry": "^2.0.2", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso" - } - }; + if (target) Object.defineProperty(target, contextIn.name, descriptor); + done = true; +} +function __runInitializers(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); } -}); - -// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js -var require_is_crt_available = __commonJS({ - "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isCrtAvailable = void 0; - var isCrtAvailable = () => { + return useValue ? value : void 0; +} +function __propKey(x) { + return typeof x === "symbol" ? x : "".concat(x); +} +function __setFunctionName(f, name, prefix) { + if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { try { - if (typeof require === "function" && typeof module2 !== "undefined" && require("aws-crt")) { - return ["md/crt-avail"]; - } - return null; + step(generator.next(value)); } catch (e) { - return null; + reject(e); } - }; - exports2.isCrtAvailable = isCrtAvailable; - } -}); - -// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js -var require_dist_cjs44 = __commonJS({ - "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.defaultUserAgent = exports2.UA_APP_ID_INI_NAME = exports2.UA_APP_ID_ENV_NAME = void 0; - var node_config_provider_1 = require_dist_cjs24(); - var os_1 = require("os"); - var process_1 = require("process"); - var is_crt_available_1 = require_is_crt_available(); - exports2.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; - exports2.UA_APP_ID_INI_NAME = "sdk-ua-app-id"; - var defaultUserAgent = ({ serviceId, clientVersion }) => { - const sections = [ - ["aws-sdk-js", clientVersion], - ["ua", "2.0"], - [`os/${(0, os_1.platform)()}`, (0, os_1.release)()], - ["lang/js"], - ["md/nodejs", `${process_1.versions.node}`] - ]; - const crtAvailable = (0, is_crt_available_1.isCrtAvailable)(); - if (crtAvailable) { - sections.push(crtAvailable); - } - if (serviceId) { - sections.push([`api/${serviceId}`, clientVersion]); - } - if (process_1.env.AWS_EXECUTION_ENV) { - sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]); + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - const appIdPromise = (0, node_config_provider_1.loadConfig)({ - environmentVariableSelector: (env) => env[exports2.UA_APP_ID_ENV_NAME], - configFileSelector: (profile) => profile[exports2.UA_APP_ID_INI_NAME], - default: void 0 - })(); - let resolvedUserAgent = void 0; - return async () => { - if (!resolvedUserAgent) { - const appId = await appIdPromise; - resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; - } - return resolvedUserAgent; - }; + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); }; - exports2.defaultUserAgent = defaultUserAgent; } -}); - -// ../../../node_modules/@smithy/hash-node/dist-cjs/index.js -var require_dist_cjs45 = __commonJS({ - "../../../node_modules/@smithy/hash-node/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - Hash: () => Hash - }); - module2.exports = __toCommonJS2(src_exports); - var import_util_buffer_from = require_dist_cjs9(); - var import_util_utf8 = require_dist_cjs10(); - var import_buffer = require("buffer"); - var import_crypto5 = require("crypto"); - var _Hash = class _Hash { - constructor(algorithmIdentifier, secret) { - this.algorithmIdentifier = algorithmIdentifier; - this.secret = secret; - this.reset(); - } - update(toHash, encoding) { - this.hash.update((0, import_util_utf8.toUint8Array)(castSourceData(toHash, encoding))); - } - digest() { - return Promise.resolve(this.hash.digest()); - } - reset() { - this.hash = this.secret ? (0, import_crypto5.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, import_crypto5.createHash)(this.algorithmIdentifier); - } - }; - __name(_Hash, "Hash"); - var Hash = _Hash; - function castSourceData(toCast, encoding) { - if (import_buffer.Buffer.isBuffer(toCast)) { - return toCast; - } - if (typeof toCast === "string") { - return (0, import_util_buffer_from.fromString)(toCast, encoding); - } - if (ArrayBuffer.isView(toCast)) { - return (0, import_util_buffer_from.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength); + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; } - return (0, import_util_buffer_from.fromArrayBuffer)(toCast); + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; } - __name(castSourceData, "castSourceData"); - } -}); - -// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js -var require_dist_cjs46 = __commonJS({ - "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js"(exports2, module2) { - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - calculateBodyLength: () => calculateBodyLength - }); - module2.exports = __toCommonJS2(src_exports); - var import_fs = require("fs"); - var calculateBodyLength = /* @__PURE__ */ __name((body) => { - if (!body) { - return 0; - } - if (typeof body === "string") { - return Buffer.byteLength(body); - } else if (typeof body.byteLength === "number") { - return body.byteLength; - } else if (typeof body.size === "number") { - return body.size; - } else if (typeof body.start === "number" && typeof body.end === "number") { - return body.end + 1 - body.start; - } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) { - return (0, import_fs.lstatSync)(body.path).size; - } else if (typeof body.fd === "number") { - return (0, import_fs.fstatSync)(body.fd).size; - } - throw new Error(`Body Length computation failed for ${body}`); - }, "calculateBodyLength"); + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js -var require_ruleset = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ruleSet = void 0; - var q = "required"; - var r = "fn"; - var s = "argv"; - var t = "ref"; - var a = "isSet"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = "PartitionResult"; - var f = { [q]: false, "type": "String" }; - var g = { [q]: true, "default": false, "type": "Boolean" }; - var h = { [t]: "Endpoint" }; - var i = { [r]: "booleanEquals", [s]: [{ [t]: "UseFIPS" }, true] }; - var j = { [r]: "booleanEquals", [s]: [{ [t]: "UseDualStack" }, true] }; - var k = {}; - var l = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: e }, "supportsFIPS"] }] }; - var m = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: e }, "supportsDualStack"] }] }; - var n = [i]; - var o = [j]; - var p = [{ [t]: "Region" }]; - var _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [r]: a, [s]: [h] }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }, { conditions: [{ [r]: a, [s]: p }], type: b, rules: [{ conditions: [{ [r]: "aws.partition", [s]: p, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [l, m], type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }; - exports2.ruleSet = _data; +} +function __exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); +} +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs17(); - var ruleset_1 = require_ruleset(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports2.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs38(); - var url_parser_1 = require_dist_cjs26(); - var util_base64_1 = require_dist_cjs34(); - var util_utf8_1 = require_dist_cjs10(); - var endpointResolver_1 = require_endpointResolver(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - extensions: config?.extensions ?? [], - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports2.getRuntimeConfig = getRuntimeConfig; + return ar; +} +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } } -}); - -// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js"(exports2, module2) { - var __create2 = Object.create; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __getProtoOf2 = Object.getPrototypeOf; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; - var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); - var __export2 = (target, all) => { - for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames2(from)) - if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var src_exports = {}; - __export2(src_exports, { - resolveDefaultsModeConfig: () => resolveDefaultsModeConfig - }); - module2.exports = __toCommonJS2(src_exports); - var import_config_resolver = require_dist_cjs21(); - var import_node_config_provider = require_dist_cjs24(); - var import_property_provider = require_dist_cjs6(); - var AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; - var AWS_REGION_ENV = "AWS_REGION"; - var AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; - var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; - var DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; - var IMDS_REGION_PATH = "/latest/meta-data/placement/region"; - var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; - var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; - var NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => { - return env[AWS_DEFAULTS_MODE_ENV]; - }, - configFileSelector: (profile) => { - return profile[AWS_DEFAULTS_MODE_CONFIG]; - }, - default: "legacy" + return to.concat(ar || Array.prototype.slice.call(from)); +} +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function awaitReturn(f) { + return function(v) { + return Promise.resolve(v).then(f, reject); }; - var resolveDefaultsModeConfig = /* @__PURE__ */ __name(({ - region = (0, import_node_config_provider.loadConfig)(import_config_resolver.NODE_REGION_CONFIG_OPTIONS), - defaultsMode = (0, import_node_config_provider.loadConfig)(NODE_DEFAULTS_MODE_CONFIG_OPTIONS) - } = {}) => (0, import_property_provider.memoize)(async () => { - const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; - switch (mode == null ? void 0 : mode.toLowerCase()) { - case "auto": - return resolveNodeDefaultsModeAuto(region); - case "in-region": - case "cross-region": - case "mobile": - case "standard": - case "legacy": - return Promise.resolve(mode == null ? void 0 : mode.toLocaleLowerCase()); - case void 0: - return Promise.resolve("legacy"); - default: - throw new Error( - `Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}` - ); - } - }), "resolveDefaultsModeConfig"); - var resolveNodeDefaultsModeAuto = /* @__PURE__ */ __name(async (clientRegion) => { - if (clientRegion) { - const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; - const inferredRegion = await inferPhysicalRegion(); - if (!inferredRegion) { - return "standard"; - } - if (resolvedRegion === inferredRegion) { - return "in-region"; - } else { - return "cross-region"; - } - } - return "standard"; - }, "resolveNodeDefaultsModeAuto"); - var inferPhysicalRegion = /* @__PURE__ */ __name(async () => { - if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) { - return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV]; - } - if (!process.env[ENV_IMDS_DISABLED]) { - try { - const { getInstanceMetadataEndpoint, httpRequest } = await Promise.resolve().then(() => __toESM2(require_dist_cjs42())); - const endpoint = await getInstanceMetadataEndpoint(); - return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString(); - } catch (e) { - } - } - }, "inferPhysicalRegion"); } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js -var require_runtimeConfig = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package3()); - var util_user_agent_node_1 = require_dist_cjs44(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs45(); - var middleware_retry_1 = require_dist_cjs39(); - var node_config_provider_1 = require_dist_cjs24(); - var node_http_handler_1 = require_dist_cjs36(); - var util_body_length_node_1 = require_dist_cjs46(); - var util_retry_1 = require_dist_cjs31(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared(); - var smithy_client_1 = require_dist_cjs38(); - var util_defaults_mode_node_1 = require_dist_cjs47(); - var smithy_client_2 = require_dist_cjs38(); - var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); - return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + function verb(n, f) { + if (g[n]) { + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); }; - }; - exports2.getRuntimeConfig = getRuntimeConfig; + if (f) i[n] = f(i[n]); + } } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/extensions/index.js -var require_extensions2 = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/extensions/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveAwsRegionExtensionConfiguration = exports2.getAwsRegionExtensionConfiguration = void 0; - var getAwsRegionExtensionConfiguration = (runtimeConfig) => { - let runtimeConfigRegion = async () => { - if (runtimeConfig.region === void 0) { - throw new Error("Region is missing from runtimeConfig"); - } - const region = runtimeConfig.region; - if (typeof region === "string") { - return region; - } - return region(); - }; - return { - setRegion(region) { - runtimeConfigRegion = region; - }, - region() { - return runtimeConfigRegion; - } - }; - }; - exports2.getAwsRegionExtensionConfiguration = getAwsRegionExtensionConfiguration; - var resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => { - return { - region: awsRegionExtensionConfiguration.region() - }; - }; - exports2.resolveAwsRegionExtensionConfiguration = resolveAwsRegionExtensionConfiguration; + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/config.js -var require_config = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/config.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.NODE_REGION_CONFIG_FILE_OPTIONS = exports2.NODE_REGION_CONFIG_OPTIONS = exports2.REGION_INI_NAME = exports2.REGION_ENV_NAME = void 0; - exports2.REGION_ENV_NAME = "AWS_REGION"; - exports2.REGION_INI_NAME = "region"; - exports2.NODE_REGION_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[exports2.REGION_ENV_NAME], - configFileSelector: (profile) => profile[exports2.REGION_INI_NAME], - default: () => { - throw new Error("Region is missing"); - } - }; - exports2.NODE_REGION_CONFIG_FILE_OPTIONS = { - preferredFile: "credentials" - }; + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/isFipsRegion.js -var require_isFipsRegion = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/isFipsRegion.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isFipsRegion = void 0; - var isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")); - exports2.isFipsRegion = isFipsRegion; + function fulfill(value) { + resume("next", value); } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/getRealRegion.js -var require_getRealRegion = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/getRealRegion.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getRealRegion = void 0; - var isFipsRegion_1 = require_isFipsRegion(); - var getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region; - exports2.getRealRegion = getRealRegion; + function reject(value) { + resume("throw", value); } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js -var require_resolveRegionConfig = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveRegionConfig = void 0; - var getRealRegion_1 = require_getRealRegion(); - var isFipsRegion_1 = require_isFipsRegion(); - var resolveRegionConfig = (input) => { - const { region, useFipsEndpoint } = input; - if (!region) { - throw new Error("Region is missing"); - } - return { - ...input, - region: async () => { - if (typeof region === "string") { - return (0, getRealRegion_1.getRealRegion)(region); - } - const providedRegion = await region(); - return (0, getRealRegion_1.getRealRegion)(providedRegion); - }, - useFipsEndpoint: async () => { - const providedRegion = typeof region === "string" ? region : await region(); - if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) { - return true; - } - return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); - } - }; + function settle(f, v) { + if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; + } : f; + } +} +function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); }; - exports2.resolveRegionConfig = resolveRegionConfig; } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/index.js -var require_regionConfig = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_config(), exports2); - tslib_1.__exportStar(require_resolveRegionConfig(), exports2); + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); } -}); - -// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ - "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_extensions2(), exports2); - tslib_1.__exportStar(require_regionConfig(), exports2); +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeExtensions.js -var require_runtimeExtensions = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeExtensions.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveRuntimeExtensions = void 0; - var region_config_resolver_1 = require_dist_cjs48(); - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); - var asPartial = (t) => t; - var resolveRuntimeExtensions = (runtimeConfig, extensions) => { - const extensionConfiguration = { - ...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)), - ...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)), - ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)) - }; - extensions.forEach((extension) => extension.configure(extensionConfiguration)); - return { - ...runtimeConfig, - ...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), - ...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration), - ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration) - }; - }; - exports2.resolveRuntimeExtensions = resolveRuntimeExtensions; + return cooked; +} +function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js -var require_SSOClient = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SSOClient = exports2.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs18(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_retry_1 = require_dist_cjs39(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters3(); - var runtimeConfig_1 = require_runtimeConfig(); - var runtimeExtensions_1 = require_runtimeExtensions(); - var SSOClient = class extends smithy_client_1.Client { - constructor(...[configuration]) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); - const _config_7 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_6, configuration?.extensions || []); - super(_config_7); - this.config = _config_7; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} +function __addDisposableResource(env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { + try { + inner.call(this); + } catch (e) { + return Promise.reject(e); } }; - exports2.SSOClient = SSOClient; + env.stack.push({ value, dispose, async }); + } else if (async) { + env.stack.push({ async: true }); } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js -var require_SSOServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SSOServiceException = exports2.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOServiceException = class _SSOServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _SSOServiceException.prototype); - } - }; - exports2.SSOServiceException = SSOServiceException; + return value; +} +function __disposeResources(env) { + function fail(e) { + env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js -var require_models_02 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LogoutRequestFilterSensitiveLog = exports2.ListAccountsRequestFilterSensitiveLog = exports2.ListAccountRolesRequestFilterSensitiveLog = exports2.GetRoleCredentialsResponseFilterSensitiveLog = exports2.RoleCredentialsFilterSensitiveLog = exports2.GetRoleCredentialsRequestFilterSensitiveLog = exports2.UnauthorizedException = exports2.TooManyRequestsException = exports2.ResourceNotFoundException = exports2.InvalidRequestException = void 0; - var smithy_client_1 = require_dist_cjs38(); - var SSOServiceException_1 = require_SSOServiceException(); - var InvalidRequestException = class _InvalidRequestException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "InvalidRequestException", - $fault: "client", - ...opts - }); - this.name = "InvalidRequestException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidRequestException.prototype); + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { + fail(e); + return next(); + }); + } else s |= 1; + } catch (e) { + fail(e); } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); +} +function __rewriteRelativeImportExtension(path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js"; + }); + } + return path; +} +var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default; +var init_tslib_es6 = __esm({ + "../../../node_modules/tslib/tslib.es6.mjs"() { + extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); }; - exports2.InvalidRequestException = InvalidRequestException; - var ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts - }); - this.name = "ResourceNotFoundException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ResourceNotFoundException.prototype); - } + __assign = function() { + __assign = Object.assign || function __assign2(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); }; - exports2.ResourceNotFoundException = ResourceNotFoundException; - var TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "TooManyRequestsException", - $fault: "client", - ...opts - }); - this.name = "TooManyRequestsException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TooManyRequestsException.prototype); + __createBinding = Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - }; - exports2.TooManyRequestsException = TooManyRequestsException; - var UnauthorizedException = class _UnauthorizedException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "UnauthorizedException", - $fault: "client", - ...opts - }); - this.name = "UnauthorizedException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnauthorizedException.prototype); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + }); + __setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }; + ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + }; + tslib_es6_default = { + __extends, + __assign, + __rest, + __decorate, + __param, + __esDecorate, + __runInitializers, + __propKey, + __setFunctionName, + __metadata, + __awaiter, + __generator, + __createBinding, + __exportStar, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources, + __rewriteRelativeImportExtension + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/package.json +var require_package = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/package.json"(exports2, module2) { + module2.exports = { + name: "@aws-sdk/client-sfn", + description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", + version: "3.632.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "node ../../scripts/compilation/inline client-sfn", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sfn" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.632.0", + "@aws-sdk/client-sts": "3.632.0", + "@aws-sdk/core": "3.629.0", + "@aws-sdk/credential-provider-node": "3.632.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.632.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.632.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + tslib: "^2.6.2", + uuid: "^9.0.1" + }, + devDependencies: { + "@tsconfig/node16": "16.1.3", + "@types/node": "^16.18.96", + "@types/uuid": "^9.0.4", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typescript: "~4.9.5" + }, + engines: { + node: ">=16.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sfn" } }; - exports2.UnauthorizedException = UnauthorizedException; - var GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog; - var RoleCredentialsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }, - ...obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog; - var GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.roleCredentials && { roleCredentials: (0, exports2.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) } - }); - exports2.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog; - var ListAccountRolesRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog; - var ListAccountsRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog; - var LogoutRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson1 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +var require_dist_cjs36 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.de_LogoutCommand = exports2.de_ListAccountsCommand = exports2.de_ListAccountRolesCommand = exports2.de_GetRoleCredentialsCommand = exports2.se_LogoutCommand = exports2.se_ListAccountsCommand = exports2.se_ListAccountRolesCommand = exports2.se_GetRoleCredentialsCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); - var models_0_1 = require_models_02(); - var SSOServiceException_1 = require_SSOServiceException(); - var se_GetRoleCredentialsCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/federation/credentials`; - const query = (0, smithy_client_1.map)({ - role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)], - account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports2.se_GetRoleCredentialsCommand = se_GetRoleCredentialsCommand; - var se_ListAccountRolesCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/roles`; - const query = (0, smithy_client_1.map)({ - next_token: [, input.nextToken], - max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()], - account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports2.se_ListAccountRolesCommand = se_ListAccountRolesCommand; - var se_ListAccountsCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/accounts`; - const query = (0, smithy_client_1.map)({ - next_token: [, input.nextToken], - max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports2.se_ListAccountsCommand = se_ListAccountsCommand; - var se_LogoutCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/logout`; - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - exports2.se_LogoutCommand = se_LogoutCommand; - var de_GetRoleCredentialsCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetRoleCredentialsCommandError(output, context); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - roleCredentials: smithy_client_1._json - }); - Object.assign(contents, doc); - return contents; + return to; }; - exports2.de_GetRoleCredentialsCommand = de_GetRoleCredentialsCommand; - var de_GetRoleCredentialsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + ENV_ACCOUNT_ID: () => ENV_ACCOUNT_ID, + ENV_CREDENTIAL_SCOPE: () => ENV_CREDENTIAL_SCOPE, + ENV_EXPIRATION: () => ENV_EXPIRATION, + ENV_KEY: () => ENV_KEY, + ENV_SECRET: () => ENV_SECRET, + ENV_SESSION: () => ENV_SESSION, + fromEnv: () => fromEnv + }); + module2.exports = __toCommonJS2(src_exports); + var import_property_provider2 = require_dist_cjs24(); + var ENV_KEY = "AWS_ACCESS_KEY_ID"; + var ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; + var ENV_SESSION = "AWS_SESSION_TOKEN"; + var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; + var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE"; + var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID"; + var fromEnv = /* @__PURE__ */ __name((init) => async () => { + var _a; + (_a = init == null ? void 0 : init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-env - fromEnv"); + const accessKeyId = process.env[ENV_KEY]; + const secretAccessKey = process.env[ENV_SECRET]; + const sessionToken = process.env[ENV_SESSION]; + const expiry = process.env[ENV_EXPIRATION]; + const credentialScope = process.env[ENV_CREDENTIAL_SCOPE]; + const accountId = process.env[ENV_ACCOUNT_ID]; + if (accessKeyId && secretAccessKey) { + return { + accessKeyId, + secretAccessKey, + ...sessionToken && { sessionToken }, + ...expiry && { expiration: new Date(expiry) }, + ...credentialScope && { credentialScope }, + ...accountId && { accountId } + }; } + throw new import_property_provider2.CredentialsProviderError("Unable to find environment variable credentials.", { logger: init == null ? void 0 : init.logger }); + }, "fromEnv"); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +var require_dist_cjs37 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_ListAccountRolesCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_ListAccountRolesCommandError(output, context); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - nextToken: smithy_client_1.expectString, - roleList: smithy_client_1._json - }); - Object.assign(contents, doc); - return contents; + return to; }; - exports2.de_ListAccountRolesCommand = de_ListAccountRolesCommand; - var de_ListAccountRolesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + DEFAULT_MAX_RETRIES: () => DEFAULT_MAX_RETRIES, + DEFAULT_TIMEOUT: () => DEFAULT_TIMEOUT, + ENV_CMDS_AUTH_TOKEN: () => ENV_CMDS_AUTH_TOKEN, + ENV_CMDS_FULL_URI: () => ENV_CMDS_FULL_URI, + ENV_CMDS_RELATIVE_URI: () => ENV_CMDS_RELATIVE_URI, + Endpoint: () => Endpoint, + fromContainerMetadata: () => fromContainerMetadata, + fromInstanceMetadata: () => fromInstanceMetadata, + getInstanceMetadataEndpoint: () => getInstanceMetadataEndpoint, + httpRequest: () => httpRequest, + providerConfigFromInit: () => providerConfigFromInit + }); + module2.exports = __toCommonJS2(src_exports); + var import_url = require("url"); + var import_property_provider2 = require_dist_cjs24(); + var import_buffer = require("buffer"); + var import_http2 = require("http"); + function httpRequest(options) { + return new Promise((resolve, reject) => { + var _a; + const req = (0, import_http2.request)({ + method: "GET", + ...options, + // Node.js http module doesn't accept hostname with square brackets + // Refs: https://github.com/nodejs/node/issues/39738 + hostname: (_a = options.hostname) == null ? void 0 : _a.replace(/^\[(.+)\]$/, "$1") + }); + req.on("error", (err) => { + reject(Object.assign(new import_property_provider2.ProviderError("Unable to connect to instance metadata service"), err)); + req.destroy(); + }); + req.on("timeout", () => { + reject(new import_property_provider2.ProviderError("TimeoutError from instance metadata service")); + req.destroy(); + }); + req.on("response", (res) => { + const { statusCode = 400 } = res; + if (statusCode < 200 || 300 <= statusCode) { + reject( + Object.assign(new import_property_provider2.ProviderError("Error response received from instance metadata service"), { statusCode }) + ); + req.destroy(); + } + const chunks = []; + res.on("data", (chunk) => { + chunks.push(chunk); }); - } - }; - var de_ListAccountsCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_ListAccountsCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accountList: smithy_client_1._json, - nextToken: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports2.de_ListAccountsCommand = de_ListAccountsCommand; - var de_ListAccountsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode + res.on("end", () => { + resolve(import_buffer.Buffer.concat(chunks)); + req.destroy(); }); - } - }; - var de_LogoutCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_LogoutCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) + }); + req.end(); }); - await (0, smithy_client_1.collectBody)(output.body, context); - return contents; - }; - exports2.de_LogoutCommand = de_LogoutCommand; - var de_LogoutCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode + } + __name(httpRequest, "httpRequest"); + var isImdsCredentials = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string", "isImdsCredentials"); + var fromImdsCredentials = /* @__PURE__ */ __name((creds) => ({ + accessKeyId: creds.AccessKeyId, + secretAccessKey: creds.SecretAccessKey, + sessionToken: creds.Token, + expiration: new Date(creds.Expiration), + ...creds.AccountId && { accountId: creds.AccountId } + }), "fromImdsCredentials"); + var DEFAULT_TIMEOUT = 1e3; + var DEFAULT_MAX_RETRIES = 0; + var providerConfigFromInit = /* @__PURE__ */ __name(({ + maxRetries = DEFAULT_MAX_RETRIES, + timeout = DEFAULT_TIMEOUT + }) => ({ maxRetries, timeout }), "providerConfigFromInit"); + var retry = /* @__PURE__ */ __name((toRetry, maxRetries) => { + let promise = toRetry(); + for (let i = 0; i < maxRetries; i++) { + promise = promise.catch(toRetry); + } + return promise; + }, "retry"); + var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromContainerMetadata = /* @__PURE__ */ __name((init = {}) => { + const { timeout, maxRetries } = providerConfigFromInit(init); + return () => retry(async () => { + const requestOptions = await getCmdsUri({ logger: init.logger }); + const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); + if (!isImdsCredentials(credsResponse)) { + throw new import_property_provider2.CredentialsProviderError("Invalid response received from instance metadata service.", { + logger: init.logger }); + } + return fromImdsCredentials(credsResponse); + }, maxRetries); + }, "fromContainerMetadata"); + var requestFromEcsImds = /* @__PURE__ */ __name(async (timeout, options) => { + if (process.env[ENV_CMDS_AUTH_TOKEN]) { + options.headers = { + ...options.headers, + Authorization: process.env[ENV_CMDS_AUTH_TOKEN] + }; } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOServiceException_1.SSOServiceException); - var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.ResourceNotFoundException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_TooManyRequestsExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.TooManyRequestsException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents + const buffer = await httpRequest({ + ...options, + timeout }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return buffer.toString(); + }, "requestFromEcsImds"); + var CMDS_IP = "169.254.170.2"; + var GREENGRASS_HOSTS = { + localhost: true, + "127.0.0.1": true }; - var de_UnauthorizedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + var GREENGRASS_PROTOCOLS = { + "http:": true, + "https:": true }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var isSerializableHeaderValue = (value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); + var getCmdsUri = /* @__PURE__ */ __name(async ({ logger }) => { + if (process.env[ENV_CMDS_RELATIVE_URI]) { + return { + hostname: CMDS_IP, + path: process.env[ENV_CMDS_RELATIVE_URI] + }; } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; - return value; - }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; + if (process.env[ENV_CMDS_FULL_URI]) { + const parsed = (0, import_url.parse)(process.env[ENV_CMDS_FULL_URI]); + if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { + throw new import_property_provider2.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, { + tryNextLink: false, + logger + }); } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; + if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { + throw new import_property_provider2.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, { + tryNextLink: false, + logger + }); } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js -var require_GetRoleCredentialsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetRoleCredentialsCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var GetRoleCredentialsCommand = class _GetRoleCredentialsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + ...parsed, + port: parsed.port ? parseInt(parsed.port, 10) : void 0 }; } - constructor(input) { - super(); - this.input = input; + throw new import_property_provider2.CredentialsProviderError( + `The container metadata credential provider cannot be used unless the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment variable is set`, + { + tryNextLink: false, + logger + } + ); + }, "getCmdsUri"); + var _InstanceMetadataV1FallbackError = class _InstanceMetadataV1FallbackError2 extends import_property_provider2.CredentialsProviderError { + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + this.name = "InstanceMetadataV1FallbackError"; + Object.setPrototypeOf(this, _InstanceMetadataV1FallbackError2.prototype); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetRoleCredentialsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "GetRoleCredentialsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "SWBPortalService", - operation: "GetRoleCredentials" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + }; + __name(_InstanceMetadataV1FallbackError, "InstanceMetadataV1FallbackError"); + var InstanceMetadataV1FallbackError = _InstanceMetadataV1FallbackError; + var import_node_config_provider = require_dist_cjs26(); + var import_url_parser = require_dist_cjs28(); + var Endpoint = /* @__PURE__ */ ((Endpoint2) => { + Endpoint2["IPv4"] = "http://169.254.169.254"; + Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; + return Endpoint2; + })(Endpoint || {}); + var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; + var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; + var ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME], + configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME], + default: void 0 + }; + var EndpointMode = /* @__PURE__ */ ((EndpointMode2) => { + EndpointMode2["IPv4"] = "IPv4"; + EndpointMode2["IPv6"] = "IPv6"; + return EndpointMode2; + })(EndpointMode || {}); + var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; + var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; + var ENDPOINT_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME], + configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME], + default: "IPv4" + /* IPv4 */ + }; + var getInstanceMetadataEndpoint = /* @__PURE__ */ __name(async () => (0, import_url_parser.parseUrl)(await getFromEndpointConfig() || await getFromEndpointModeConfig()), "getInstanceMetadataEndpoint"); + var getFromEndpointConfig = /* @__PURE__ */ __name(async () => (0, import_node_config_provider.loadConfig)(ENDPOINT_CONFIG_OPTIONS)(), "getFromEndpointConfig"); + var getFromEndpointModeConfig = /* @__PURE__ */ __name(async () => { + const endpointMode = await (0, import_node_config_provider.loadConfig)(ENDPOINT_MODE_CONFIG_OPTIONS)(); + switch (endpointMode) { + case "IPv4": + return "http://169.254.169.254"; + case "IPv6": + return "http://[fd00:ec2::254]"; + default: + throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode)}`); } - serialize(input, context) { - return (0, Aws_restJson1_1.se_GetRoleCredentialsCommand)(input, context); + }, "getFromEndpointModeConfig"); + var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; + var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; + var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; + var getExtendedInstanceMetadataCredentials = /* @__PURE__ */ __name((credentials, logger) => { + const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); + const newExpiration = new Date(Date.now() + refreshInterval * 1e3); + logger.warn( + `Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}. +For more information, please visit: ` + STATIC_STABILITY_DOC_URL + ); + const originalExpiration = credentials.originalExpiration ?? credentials.expiration; + return { + ...credentials, + ...originalExpiration ? { originalExpiration } : {}, + expiration: newExpiration + }; + }, "getExtendedInstanceMetadataCredentials"); + var staticStabilityProvider = /* @__PURE__ */ __name((provider, options = {}) => { + const logger = (options == null ? void 0 : options.logger) || console; + let pastCredentials; + return async () => { + let credentials; + try { + credentials = await provider(); + if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { + credentials = getExtendedInstanceMetadataCredentials(credentials, logger); + } + } catch (e) { + if (pastCredentials) { + logger.warn("Credential renew failed: ", e); + credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger); + } else { + throw e; + } + } + pastCredentials = credentials; + return credentials; + }; + }, "staticStabilityProvider"); + var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; + var IMDS_TOKEN_PATH = "/latest/api/token"; + var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED"; + var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled"; + var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token"; + var fromInstanceMetadata = /* @__PURE__ */ __name((init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger }), "fromInstanceMetadata"); + var getInstanceMetadataProvider = /* @__PURE__ */ __name((init = {}) => { + let disableFetchToken = false; + const { logger, profile } = init; + const { timeout, maxRetries } = providerConfigFromInit(init); + const getCredentials = /* @__PURE__ */ __name(async (maxRetries2, options) => { + var _a; + const isImdsV1Fallback = disableFetchToken || ((_a = options.headers) == null ? void 0 : _a[X_AWS_EC2_METADATA_TOKEN]) == null; + if (isImdsV1Fallback) { + let fallbackBlockedFromProfile = false; + let fallbackBlockedFromProcessEnv = false; + const configValue = await (0, import_node_config_provider.loadConfig)( + { + environmentVariableSelector: (env) => { + const envValue = env[AWS_EC2_METADATA_V1_DISABLED]; + fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false"; + if (envValue === void 0) { + throw new import_property_provider2.CredentialsProviderError( + `${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, + { logger: init.logger } + ); + } + return fallbackBlockedFromProcessEnv; + }, + configFileSelector: (profile2) => { + const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED]; + fallbackBlockedFromProfile = !!profileValue && profileValue !== "false"; + return fallbackBlockedFromProfile; + }, + default: false + }, + { + profile + } + )(); + if (init.ec2MetadataV1Disabled || configValue) { + const causes = []; + if (init.ec2MetadataV1Disabled) + causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"); + if (fallbackBlockedFromProfile) + causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`); + if (fallbackBlockedFromProcessEnv) + causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`); + throw new InstanceMetadataV1FallbackError( + `AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join( + ", " + )}].` + ); + } + } + const imdsProfile = (await retry(async () => { + let profile2; + try { + profile2 = await getProfile(options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return profile2; + }, maxRetries2)).trim(); + return retry(async () => { + let creds; + try { + creds = await getCredentialsFromProfile(imdsProfile, options, init); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return creds; + }, maxRetries2); + }, "getCredentials"); + return async () => { + const endpoint = await getInstanceMetadataEndpoint(); + if (disableFetchToken) { + logger == null ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)"); + return getCredentials(maxRetries, { ...endpoint, timeout }); + } else { + let token; + try { + token = (await getMetadataToken({ ...endpoint, timeout })).toString(); + } catch (error) { + if ((error == null ? void 0 : error.statusCode) === 400) { + throw Object.assign(error, { + message: "EC2 Metadata token request returned error" + }); + } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) { + disableFetchToken = true; + } + logger == null ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)"); + return getCredentials(maxRetries, { ...endpoint, timeout }); + } + return getCredentials(maxRetries, { + ...endpoint, + headers: { + [X_AWS_EC2_METADATA_TOKEN]: token + }, + timeout + }); + } + }; + }, "getInstanceMetadataProvider"); + var getMetadataToken = /* @__PURE__ */ __name(async (options) => httpRequest({ + ...options, + path: IMDS_TOKEN_PATH, + method: "PUT", + headers: { + "x-aws-ec2-metadata-token-ttl-seconds": "21600" } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_GetRoleCredentialsCommand)(output, context); + }), "getMetadataToken"); + var getProfile = /* @__PURE__ */ __name(async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString(), "getProfile"); + var getCredentialsFromProfile = /* @__PURE__ */ __name(async (profile, options, init) => { + const credentialsResponse = JSON.parse( + (await httpRequest({ + ...options, + path: IMDS_PATH + profile + })).toString() + ); + if (!isImdsCredentials(credentialsResponse)) { + throw new import_property_provider2.CredentialsProviderError("Invalid response received from instance metadata service.", { + logger: init.logger + }); } - }; - exports2.GetRoleCredentialsCommand = GetRoleCredentialsCommand; + return fromImdsCredentials(credentialsResponse); + }, "getCredentialsFromProfile"); } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js -var require_ListAccountRolesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +var require_checkUrl = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListAccountRolesCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var ListAccountRolesCommand = class _ListAccountRolesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + exports2.checkUrl = void 0; + var property_provider_1 = require_dist_cjs24(); + var ECS_CONTAINER_HOST = "169.254.170.2"; + var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23"; + var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]"; + var checkUrl = (url2, logger) => { + if (url2.protocol === "https:") { + return; } - constructor(input) { - super(); - this.input = input; + if (url2.hostname === ECS_CONTAINER_HOST || url2.hostname === EKS_CONTAINER_HOST_IPv4 || url2.hostname === EKS_CONTAINER_HOST_IPv6) { + return; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountRolesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "ListAccountRolesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "SWBPortalService", - operation: "ListAccountRoles" - } + if (url2.hostname.includes("[")) { + if (url2.hostname === "[::1]" || url2.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") { + return; + } + } else { + if (url2.hostname === "localhost") { + return; + } + const ipComponents = url2.hostname.split("."); + const inRange = (component) => { + const num = parseInt(component, 10); + return 0 <= num && num <= 255; }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_ListAccountRolesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_ListAccountRolesCommand)(output, context); + if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) { + return; + } } + throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following: + - loopback CIDR 127.0.0.0/8 or [::1/128] + - ECS container host 169.254.170.2 + - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger }); }; - exports2.ListAccountRolesCommand = ListAccountRolesCommand; + exports2.checkUrl = checkUrl; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js -var require_ListAccountsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +var require_requestHelpers = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListAccountsCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var ListAccountsCommand = class _ListAccountsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { + exports2.getCredentials = exports2.createGetRequest = void 0; + var property_provider_1 = require_dist_cjs24(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs33(); + var util_stream_1 = require_dist_cjs22(); + function createGetRequest(url2) { + return new protocol_http_1.HttpRequest({ + protocol: url2.protocol, + hostname: url2.hostname, + port: Number(url2.port), + path: url2.pathname, + query: Array.from(url2.searchParams.entries()).reduce((acc, [k, v]) => { + acc[k] = v; + return acc; + }, {}), + fragment: url2.hash + }); + } + exports2.createGetRequest = createGetRequest; + async function getCredentials(response, logger) { + const stream = (0, util_stream_1.sdkStreamMixin)(response.body); + const str = await stream.transformToString(); + if (response.statusCode === 200) { + const parsed = JSON.parse(str); + if (typeof parsed.AccessKeyId !== "string" || typeof parsed.SecretAccessKey !== "string" || typeof parsed.Token !== "string" || typeof parsed.Expiration !== "string") { + throw new property_provider_1.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger }); + } return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + accessKeyId: parsed.AccessKeyId, + secretAccessKey: parsed.SecretAccessKey, + sessionToken: parsed.Token, + expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration) }; } - constructor(input) { - super(); - this.input = input; + if (response.statusCode >= 400 && response.statusCode < 500) { + let parsedBody = {}; + try { + parsedBody = JSON.parse(str); + } catch (e) { + } + throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), { + Code: parsedBody.Code, + Message: parsedBody.Message + }); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "ListAccountsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "SWBPortalService", - operation: "ListAccounts" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_ListAccountsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_ListAccountsCommand)(output, context); - } - }; - exports2.ListAccountsCommand = ListAccountsCommand; + throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }); + } + exports2.getCredentials = getCredentials; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js -var require_LogoutCommand = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js +var require_retry_wrapper = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LogoutCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var LogoutCommand = class _LogoutCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _LogoutCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "LogoutCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "SWBPortalService", - operation: "Logout" + exports2.retryWrapper = void 0; + var retryWrapper = (toRetry, maxRetries, delayMs) => { + return async () => { + for (let i = 0; i < maxRetries; ++i) { + try { + return await toRetry(); + } catch (e) { + await new Promise((resolve) => setTimeout(resolve, delayMs)); } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_LogoutCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_LogoutCommand)(output, context); - } - }; - exports2.LogoutCommand = LogoutCommand; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js -var require_SSO = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SSO = void 0; - var smithy_client_1 = require_dist_cjs38(); - var GetRoleCredentialsCommand_1 = require_GetRoleCredentialsCommand(); - var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); - var ListAccountsCommand_1 = require_ListAccountsCommand(); - var LogoutCommand_1 = require_LogoutCommand(); - var SSOClient_1 = require_SSOClient(); - var commands = { - GetRoleCredentialsCommand: GetRoleCredentialsCommand_1.GetRoleCredentialsCommand, - ListAccountRolesCommand: ListAccountRolesCommand_1.ListAccountRolesCommand, - ListAccountsCommand: ListAccountsCommand_1.ListAccountsCommand, - LogoutCommand: LogoutCommand_1.LogoutCommand - }; - var SSO = class extends SSOClient_1.SSOClient { + } + return await toRetry(); + }; }; - exports2.SSO = SSO; - (0, smithy_client_1.createAggregatedClient)(commands, SSO); + exports2.retryWrapper = retryWrapper; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js -var require_commands = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +var require_fromHttp = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.fromHttp = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_GetRoleCredentialsCommand(), exports2); - tslib_1.__exportStar(require_ListAccountRolesCommand(), exports2); - tslib_1.__exportStar(require_ListAccountsCommand(), exports2); - tslib_1.__exportStar(require_LogoutCommand(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js -var require_Interfaces = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js -var require_ListAccountRolesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListAccountRoles = void 0; - var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); - var SSOClient_1 = require_SSOClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args); - }; - async function* paginateListAccountRoles(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SSOClient_1.SSOClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SSO | SSOClient"); + var node_http_handler_1 = require_dist_cjs19(); + var property_provider_1 = require_dist_cjs24(); + var promises_1 = tslib_1.__importDefault(require("fs/promises")); + var checkUrl_1 = require_checkUrl(); + var requestHelpers_1 = require_requestHelpers(); + var retry_wrapper_1 = require_retry_wrapper(); + var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2"; + var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"; + var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromHttp = (options = {}) => { + options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp"); + let host; + const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI]; + const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI]; + const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN]; + const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE]; + const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger ? console.warn : options.logger.warn; + if (relative && full) { + warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."); + warn("awsContainerCredentialsFullUri will take precedence."); + } + if (token && tokenFile) { + warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."); + warn("awsContainerAuthorizationToken will take precedence."); + } + if (full) { + host = full; + } else if (relative) { + host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`; + } else { + throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided. +Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger }); + } + const url2 = new URL(host); + (0, checkUrl_1.checkUrl)(url2, options.logger); + const requestHandler = new node_http_handler_1.NodeHttpHandler({ + requestTimeout: options.timeout ?? 1e3, + connectionTimeout: options.timeout ?? 1e3 + }); + return (0, retry_wrapper_1.retryWrapper)(async () => { + const request2 = (0, requestHelpers_1.createGetRequest)(url2); + if (token) { + request2.headers.Authorization = token; + } else if (tokenFile) { + request2.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString(); } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListAccountRoles = paginateListAccountRoles; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js -var require_ListAccountsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListAccounts = void 0; - var ListAccountsCommand_1 = require_ListAccountsCommand(); - var SSOClient_1 = require_SSOClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args); - }; - async function* paginateListAccounts(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SSOClient_1.SSOClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SSO | SSOClient"); + try { + const result = await requestHandler.handle(request2); + return (0, requestHelpers_1.getCredentials)(result.response); + } catch (e) { + throw new property_provider_1.CredentialsProviderError(String(e), { logger: options.logger }); } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListAccounts = paginateListAccounts; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js -var require_pagination2 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_Interfaces(), exports2); - tslib_1.__exportStar(require_ListAccountRolesPaginator(), exports2); - tslib_1.__exportStar(require_ListAccountsPaginator(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js -var require_models = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_02(), exports2); + }, options.maxRetries ?? 3, options.timeout ?? 1e3); + }; + exports2.fromHttp = fromHttp; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso/dist-cjs/index.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +var require_dist_cjs38 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SSOServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOClient(), exports2); - tslib_1.__exportStar(require_SSO(), exports2); - tslib_1.__exportStar(require_commands(), exports2); - tslib_1.__exportStar(require_pagination2(), exports2); - tslib_1.__exportStar(require_models(), exports2); - var SSOServiceException_1 = require_SSOServiceException(); - Object.defineProperty(exports2, "SSOServiceException", { enumerable: true, get: function() { - return SSOServiceException_1.SSOServiceException; + exports2.fromHttp = void 0; + var fromHttp_1 = require_fromHttp(); + Object.defineProperty(exports2, "fromHttp", { enumerable: true, get: function() { + return fromHttp_1.fromHttp; } }); } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js -var require_client_sso_oidc_node = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js +var require_httpAuthSchemeProvider2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UnsupportedGrantTypeException = exports2.UnauthorizedClientException = exports2.SlowDownException = exports2.SSOOIDCClient = exports2.InvalidScopeException = exports2.InvalidRequestException = exports2.InvalidClientException = exports2.InternalServerException = exports2.ExpiredTokenException = exports2.CreateTokenCommand = exports2.AuthorizationPendingException = exports2.AccessDeniedException = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs18(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_retry_1 = require_dist_cjs39(); - var smithy_client_1 = require_dist_cjs38(); - var resolveClientEndpointParameters = (options) => { - var _a, _b; + exports2.resolveHttpAuthSchemeConfig = exports2.defaultSSOHttpAuthSchemeProvider = exports2.defaultSSOHttpAuthSchemeParametersProvider = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var util_middleware_1 = require_dist_cjs10(); + var defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => { return { - ...options, - useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, - useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, - defaultSigningName: "awsssooidc" + operation: (0, util_middleware_1.getSmithyContext)(context).operation, + region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() }; }; - var package_default = { version: "3.387.0" }; - var util_user_agent_node_1 = require_dist_cjs44(); - var config_resolver_2 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs45(); - var middleware_retry_2 = require_dist_cjs39(); - var node_config_provider_1 = require_dist_cjs24(); - var node_http_handler_1 = require_dist_cjs36(); - var util_body_length_node_1 = require_dist_cjs46(); - var util_retry_1 = require_dist_cjs31(); - var smithy_client_2 = require_dist_cjs38(); - var url_parser_1 = require_dist_cjs26(); - var util_base64_1 = require_dist_cjs34(); - var util_utf8_1 = require_dist_cjs10(); - var util_endpoints_1 = require_dist_cjs17(); - var p = "required"; - var q = "fn"; - var r = "argv"; - var s = "ref"; - var a = "PartitionResult"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = { [p]: false, "type": "String" }; - var f = { [p]: true, "default": false, "type": "Boolean" }; - var g = { [s]: "Endpoint" }; - var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; - var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; - var j = {}; - var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; - var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; - var m = [g]; - var n = [h]; - var o = [i]; - var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - var ruleSet = _data; - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { - endpointParams, - logger: context.logger - }); - }; - var getRuntimeConfig = (config) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; + exports2.defaultSSOHttpAuthSchemeParametersProvider = defaultSSOHttpAuthSchemeParametersProvider; + function createAwsAuthSigv4HttpAuthOption(authParameters) { return { - apiVersion: "2019-06-10", - base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, - base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, - disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, - endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, - logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), - serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", - urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, - utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, - utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "awsssoportal", + region: authParameters.region + }, + propertiesExtractor: (config, context) => ({ + signingProperties: { + config, + context + } + }) + }; + } + function createSmithyApiNoAuthHttpAuthOption(authParameters) { + return { + schemeId: "smithy.api#noAuth" }; + } + var defaultSSOHttpAuthSchemeProvider = (authParameters) => { + const options = []; + switch (authParameters.operation) { + case "GetRoleCredentials": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "ListAccountRoles": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "ListAccounts": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "Logout": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + default: { + options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); + } + } + return options; }; - var smithy_client_3 = require_dist_cjs38(); - var util_defaults_mode_node_1 = require_dist_cjs47(); - var smithy_client_4 = require_dist_cjs38(); - var getRuntimeConfig2 = (config) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; - (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); - const clientSharedValues = getRuntimeConfig(config); + exports2.defaultSSOHttpAuthSchemeProvider = defaultSSOHttpAuthSchemeProvider; + var resolveHttpAuthSchemeConfig = (config) => { + const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config); return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), - maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), - streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, - useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + ...config_0 }; }; - var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(...[configuration]) { - const _config_0 = getRuntimeConfig2(configuration || {}); - const _config_1 = resolveClientEndpointParameters(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); - super(_config_6); - this.config = _config_6; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); + exports2.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/package.json +var require_package2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/package.json"(exports2, module2) { + module2.exports = { + name: "@aws-sdk/client-sso", + description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", + version: "3.632.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "node ../../scripts/compilation/inline client-sso", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sso" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.629.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.632.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.632.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + tslib: "^2.6.2" + }, + devDependencies: { + "@tsconfig/node16": "16.1.3", + "@types/node": "^16.18.96", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typescript: "~4.9.5" + }, + engines: { + node: ">=16.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sso" } }; - exports2.SSOOIDCClient = SSOOIDCClient; - var smithy_client_5 = require_dist_cjs38(); - var middleware_endpoint_2 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_6 = require_dist_cjs38(); - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_7 = require_dist_cjs38(); - var smithy_client_8 = require_dist_cjs38(); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_8.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); - } + } +}); + +// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +var require_dist_cjs39 = __commonJS({ + "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "AccessDeniedException", - $fault: "client", - ...opts - }); - this.name = "AccessDeniedException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _AccessDeniedException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - exports2.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "AuthorizationPendingException", - $fault: "client", - ...opts - }); - this.name = "AuthorizationPendingException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _AuthorizationPendingException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + UA_APP_ID_ENV_NAME: () => UA_APP_ID_ENV_NAME, + UA_APP_ID_INI_NAME: () => UA_APP_ID_INI_NAME, + crtAvailability: () => crtAvailability, + defaultUserAgent: () => defaultUserAgent + }); + module2.exports = __toCommonJS2(src_exports); + var import_node_config_provider = require_dist_cjs26(); + var import_os = require("os"); + var import_process = require("process"); + var crtAvailability = { + isCrtAvailable: false }; - exports2.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "ExpiredTokenException", - $fault: "client", - ...opts - }); - this.name = "ExpiredTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExpiredTokenException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + var isCrtAvailable = /* @__PURE__ */ __name(() => { + if (crtAvailability.isCrtAvailable) { + return ["md/crt-avail"]; } - }; - exports2.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts - }); - this.name = "InternalServerException"; - this.$fault = "server"; - Object.setPrototypeOf(this, _InternalServerException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + return null; + }, "isCrtAvailable"); + var UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; + var UA_APP_ID_INI_NAME = "sdk-ua-app-id"; + var defaultUserAgent = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => { + const sections = [ + // sdk-metadata + ["aws-sdk-js", clientVersion], + // ua-metadata + ["ua", "2.0"], + // os-metadata + [`os/${(0, import_os.platform)()}`, (0, import_os.release)()], + // language-metadata + // ECMAScript edition doesn't matter in JS, so no version needed. + ["lang/js"], + ["md/nodejs", `${import_process.versions.node}`] + ]; + const crtAvailable = isCrtAvailable(); + if (crtAvailable) { + sections.push(crtAvailable); } - }; - exports2.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + if (serviceId) { + sections.push([`api/${serviceId}`, clientVersion]); } - }; - exports2.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidGrantException", - $fault: "client", - ...opts - }); - this.name = "InvalidGrantException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidGrantException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + if (import_process.env.AWS_EXECUTION_ENV) { + sections.push([`exec-env/${import_process.env.AWS_EXECUTION_ENV}`]); } + const appIdPromise = (0, import_node_config_provider.loadConfig)({ + environmentVariableSelector: (env2) => env2[UA_APP_ID_ENV_NAME], + configFileSelector: (profile) => profile[UA_APP_ID_INI_NAME], + default: void 0 + })(); + let resolvedUserAgent = void 0; + return async () => { + if (!resolvedUserAgent) { + const appId = await appIdPromise; + resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; + } + return resolvedUserAgent; + }; + }, "defaultUserAgent"); + } +}); + +// ../../../node_modules/@smithy/hash-node/dist-cjs/index.js +var require_dist_cjs40 = __commonJS({ + "../../../node_modules/@smithy/hash-node/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidRequestException", - $fault: "client", - ...opts - }); - this.name = "InvalidRequestException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidRequestException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - exports2.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidScopeException", - $fault: "client", - ...opts - }); - this.name = "InvalidScopeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidScopeException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + Hash: () => Hash + }); + module2.exports = __toCommonJS2(src_exports); + var import_util_buffer_from = require_dist_cjs14(); + var import_util_utf8 = require_dist_cjs15(); + var import_buffer = require("buffer"); + var import_crypto5 = require("crypto"); + var _Hash = class _Hash { + constructor(algorithmIdentifier, secret) { + this.algorithmIdentifier = algorithmIdentifier; + this.secret = secret; + this.reset(); } - }; - exports2.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "SlowDownException", - $fault: "client", - ...opts - }); - this.name = "SlowDownException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _SlowDownException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + update(toHash, encoding) { + this.hash.update((0, import_util_utf8.toUint8Array)(castSourceData(toHash, encoding))); } - }; - exports2.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "UnauthorizedClientException", - $fault: "client", - ...opts - }); - this.name = "UnauthorizedClientException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnauthorizedClientException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + digest() { + return Promise.resolve(this.hash.digest()); } - }; - exports2.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "UnsupportedGrantTypeException", - $fault: "client", - ...opts - }); - this.name = "UnsupportedGrantTypeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + reset() { + this.hash = this.secret ? (0, import_crypto5.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, import_crypto5.createHash)(this.algorithmIdentifier); } }; - exports2.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; + __name(_Hash, "Hash"); + var Hash = _Hash; + function castSourceData(toCast, encoding) { + if (import_buffer.Buffer.isBuffer(toCast)) { + return toCast; + } + if (typeof toCast === "string") { + return (0, import_util_buffer_from.fromString)(toCast, encoding); + } + if (ArrayBuffer.isView(toCast)) { + return (0, import_util_buffer_from.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength); } + return (0, import_util_buffer_from.fromArrayBuffer)(toCast); + } + __name(castSourceData, "castSourceData"); + } +}); + +// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js +var require_dist_cjs41 = __commonJS({ + "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var se_CreateTokenCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; - let body; - body = JSON.stringify((0, smithy_client_7.take)(input, { - clientId: [], - clientSecret: [], - code: [], - deviceCode: [], - grantType: [], - redirectUri: [], - refreshToken: [], - scope: (_) => (0, smithy_client_7._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_7.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_7._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + calculateBodyLength: () => calculateBodyLength + }); + module2.exports = __toCommonJS2(src_exports); + var import_fs = require("fs"); + var calculateBodyLength = /* @__PURE__ */ __name((body) => { + if (!body) { + return 0; + } + if (typeof body === "string") { + return Buffer.byteLength(body); + } else if (typeof body.byteLength === "number") { + return body.byteLength; + } else if (typeof body.size === "number") { + return body.size; + } else if (typeof body.start === "number" && typeof body.end === "number") { + return body.end + 1 - body.start; + } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) { + return (0, import_fs.lstatSync)(body.path).size; + } else if (typeof body.fd === "number") { + return (0, import_fs.fstatSync)(body.fd).size; + } + throw new Error(`Body Length computation failed for ${body}`); + }, "calculateBodyLength"); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js +var require_ruleset = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ruleSet = void 0; + var u = "required"; + var v = "fn"; + var w = "argv"; + var x = "ref"; + var a = true; + var b = "isSet"; + var c = "booleanEquals"; + var d = "error"; + var e = "endpoint"; + var f = "tree"; + var g = "PartitionResult"; + var h = "getAttr"; + var i = { [u]: false, "type": "String" }; + var j = { [u]: true, "default": false, "type": "Boolean" }; + var k = { [x]: "Endpoint" }; + var l = { [v]: c, [w]: [{ [x]: "UseFIPS" }, true] }; + var m = { [v]: c, [w]: [{ [x]: "UseDualStack" }, true] }; + var n = {}; + var o = { [v]: h, [w]: [{ [x]: g }, "supportsFIPS"] }; + var p = { [x]: g }; + var q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, "supportsDualStack"] }] }; + var r = [l]; + var s = [m]; + var t = [{ [x]: "Region" }]; + var _data = { version: "1.0", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: "aws.partition", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: "stringEquals", [w]: [{ [v]: h, [w]: [p, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://portal.sso.{Region}.amazonaws.com", properties: n, headers: n }, type: e }, { endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] }; + exports2.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs7(); + var util_endpoints_2 = require_dist_cjs6(); + var ruleset_1 = require_ruleset(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger }); }; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" + exports2.defaultEndpointResolver = defaultEndpointResolver; + util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getRuntimeConfig = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var core_2 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var smithy_client_1 = require_dist_cjs33(); + var url_parser_1 = require_dist_cjs28(); + var util_base64_1 = require_dist_cjs16(); + var util_utf8_1 = require_dist_cjs15(); + var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider2(); + var endpointResolver_1 = require_endpointResolver(); + var getRuntimeConfig = (config) => { + return { + apiVersion: "2019-06-10", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + extensions: config?.extensions ?? [], + httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOHttpAuthSchemeProvider, + httpAuthSchemes: config?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), + signer: new core_1.AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), + signer: new core_2.NoAuthSigner() + } + ], + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SSO", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 }; - const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_7.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); }; - var de_CreateTokenCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_CreateTokenCommandError(output, context); - } - const contents = (0, smithy_client_7.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_7.take)(data, { - accessToken: smithy_client_7.expectString, - expiresIn: smithy_client_7.expectInt32, - idToken: smithy_client_7.expectString, - refreshToken: smithy_client_7.expectString, - tokenType: smithy_client_7.expectString - }); - Object.assign(contents, doc); - return contents; + exports2.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js +var require_dist_cjs42 = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_CreateTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.ssooidc#AccessDeniedException": - throw await de_AccessDeniedExceptionRes(parsedOutput, context); - case "AuthorizationPendingException": - case "com.amazonaws.ssooidc#AuthorizationPendingException": - throw await de_AuthorizationPendingExceptionRes(parsedOutput, context); - case "ExpiredTokenException": - case "com.amazonaws.ssooidc#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidGrantException": - case "com.amazonaws.ssooidc#InvalidGrantException": - throw await de_InvalidGrantExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - case "UnsupportedGrantTypeException": - case "com.amazonaws.ssooidc#UnsupportedGrantTypeException": - throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_7.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_7.take)(data, { - authorizationEndpoint: smithy_client_7.expectString, - clientId: smithy_client_7.expectString, - clientIdIssuedAt: smithy_client_7.expectLong, - clientSecret: smithy_client_7.expectString, - clientSecretExpiresAt: smithy_client_7.expectLong, - tokenEndpoint: smithy_client_7.expectString - }); - Object.assign(contents, doc); - return contents; + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + resolveDefaultsModeConfig: () => resolveDefaultsModeConfig + }); + module2.exports = __toCommonJS2(src_exports); + var import_config_resolver = require_dist_cjs11(); + var import_node_config_provider = require_dist_cjs26(); + var import_property_provider2 = require_dist_cjs24(); + var AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; + var AWS_REGION_ENV = "AWS_REGION"; + var AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; + var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + var DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; + var IMDS_REGION_PATH = "/latest/meta-data/placement/region"; + var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; + var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; + var NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => { + return env[AWS_DEFAULTS_MODE_ENV]; + }, + configFileSelector: (profile) => { + return profile[AWS_DEFAULTS_MODE_CONFIG]; + }, + default: "legacy" }; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); + var resolveDefaultsModeConfig = /* @__PURE__ */ __name(({ + region = (0, import_node_config_provider.loadConfig)(import_config_resolver.NODE_REGION_CONFIG_OPTIONS), + defaultsMode = (0, import_node_config_provider.loadConfig)(NODE_DEFAULTS_MODE_CONFIG_OPTIONS) + } = {}) => (0, import_property_provider2.memoize)(async () => { + const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; + switch (mode == null ? void 0 : mode.toLowerCase()) { + case "auto": + return resolveNodeDefaultsModeAuto(region); + case "in-region": + case "cross-region": + case "mobile": + case "standard": + case "legacy": + return Promise.resolve(mode == null ? void 0 : mode.toLocaleLowerCase()); + case void 0: + return Promise.resolve("legacy"); default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + throw new Error( + `Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}` + ); } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); + }), "resolveDefaultsModeConfig"); + var resolveNodeDefaultsModeAuto = /* @__PURE__ */ __name(async (clientRegion) => { + if (clientRegion) { + const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; + const inferredRegion = await inferPhysicalRegion(); + if (!inferredRegion) { + return "standard"; + } + if (resolvedRegion === inferredRegion) { + return "in-region"; + } else { + return "cross-region"; + } } - const contents = (0, smithy_client_7.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_7.take)(data, { - deviceCode: smithy_client_7.expectString, - expiresIn: smithy_client_7.expectInt32, - interval: smithy_client_7.expectInt32, - userCode: smithy_client_7.expectString, - verificationUri: smithy_client_7.expectString, - verificationUriComplete: smithy_client_7.expectString - }); - Object.assign(contents, doc); - return contents; - }; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return "standard"; + }, "resolveNodeDefaultsModeAuto"); + var inferPhysicalRegion = /* @__PURE__ */ __name(async () => { + if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) { + return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV]; } - }; - var throwDefaultError = (0, smithy_client_7.withBaseException)(SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new ExpiredTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InternalServerException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InvalidClientException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InvalidGrantException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InvalidRequestException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new InvalidScopeException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new SlowDownException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new UnauthorizedClientException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_7.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_7.take)(data, { - error: smithy_client_7.expectString, - error_description: smithy_client_7.expectString - }); - Object.assign(contents, doc); - const exception = new UnsupportedGrantTypeException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); - }; - var deserializeMetadata = (output) => { - var _a, _b; - return { - httpStatusCode: output.statusCode, - requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }; - }; - var collectBodyString = (streamBody, context) => (0, smithy_client_7.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - var _a; - const value = await parseBody(errorBody, context); - value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; - return value; - }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; - } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; + if (!process.env[ENV_IMDS_DISABLED]) { + try { + const { getInstanceMetadataEndpoint, httpRequest } = await Promise.resolve().then(() => __toESM2(require_dist_cjs37())); + const endpoint = await getInstanceMetadataEndpoint(); + return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString(); + } catch (e) { } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); - } - }; - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_6.Command { - constructor(input) { - super(); - this.input = input; - } - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return se_CreateTokenCommand(input, context); - } - deserialize(output, context) { - return de_CreateTokenCommand(output, context); - } - }; - exports2.CreateTokenCommand = CreateTokenCommand; - var middleware_endpoint_3 = require_dist_cjs29(); - var middleware_serde_2 = require_dist_cjs28(); - var smithy_client_9 = require_dist_cjs38(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_9.Command { - constructor(input) { - super(); - this.input = input; - } - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_2.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_3.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return se_RegisterClientCommand(input, context); - } - deserialize(output, context) { - return de_RegisterClientCommand(output, context); - } - }; - var middleware_endpoint_4 = require_dist_cjs29(); - var middleware_serde_3 = require_dist_cjs28(); - var smithy_client_10 = require_dist_cjs38(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_10.Command { - constructor(input) { - super(); - this.input = input; - } - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_3.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_4.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return se_StartDeviceAuthorizationCommand(input, context); - } - deserialize(output, context) { - return de_StartDeviceAuthorizationCommand(output, context); } - }; - var commands = { - CreateTokenCommand, - RegisterClientCommand, - StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient { - }; - (0, smithy_client_5.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants2 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.REFRESH_MESSAGE = exports2.EXPIRE_WINDOW_MS = void 0; - exports2.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports2.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; + }, "inferPhysicalRegion"); } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js -var require_getSsoOidcClient = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js +var require_runtimeConfig = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSsoOidcClient = void 0; - var client_sso_oidc_node_1 = require_client_sso_oidc_node(); - var ssoOidcClientsHash = {}; - var getSsoOidcClient = (ssoRegion) => { - if (ssoOidcClientsHash[ssoRegion]) { - return ssoOidcClientsHash[ssoRegion]; - } - const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion }); - ssoOidcClientsHash[ssoRegion] = ssoOidcClient; - return ssoOidcClient; + exports2.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package2()); + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var util_user_agent_node_1 = require_dist_cjs39(); + var config_resolver_1 = require_dist_cjs11(); + var hash_node_1 = require_dist_cjs40(); + var middleware_retry_1 = require_dist_cjs34(); + var node_config_provider_1 = require_dist_cjs26(); + var node_http_handler_1 = require_dist_cjs19(); + var util_body_length_node_1 = require_dist_cjs41(); + var util_retry_1 = require_dist_cjs31(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared(); + var smithy_client_1 = require_dist_cjs33(); + var util_defaults_mode_node_1 = require_dist_cjs42(); + var smithy_client_2 = require_dist_cjs33(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + (0, core_1.emitWarningIfUnsupportedVersion)(process.version); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; }; - exports2.getSsoOidcClient = getSsoOidcClient; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js -var require_getNewSsoOidcToken = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getNewSsoOidcToken = void 0; - var client_sso_oidc_node_1 = require_client_sso_oidc_node(); - var getSsoOidcClient_1 = require_getSsoOidcClient(); - var getNewSsoOidcToken = (ssoToken, ssoRegion) => { - const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({ - clientId: ssoToken.clientId, - clientSecret: ssoToken.clientSecret, - refreshToken: ssoToken.refreshToken, - grantType: "refresh_token" - })); - }; - exports2.getNewSsoOidcToken = getNewSsoOidcToken; + exports2.getRuntimeConfig = getRuntimeConfig; } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js -var require_validateTokenExpiry = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js"(exports2) { +// ../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +var require_dist_cjs43 = __commonJS({ + "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.validateTokenExpiry = void 0; - var property_provider_1 = require_dist_cjs6(); - var constants_1 = require_constants2(); - var validateTokenExpiry = (token) => { - if (token.expiration && token.expiration.getTime() < Date.now()) { - throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false); - } + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - exports2.validateTokenExpiry = validateTokenExpiry; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js -var require_validateTokenKey = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.validateTokenKey = void 0; - var property_provider_1 = require_dist_cjs6(); - var constants_1 = require_constants2(); - var validateTokenKey = (key, value, forRefresh = false) => { - if (typeof value === "undefined") { - throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${constants_1.REFRESH_MESSAGE}`, false); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - exports2.validateTokenKey = validateTokenKey; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js -var require_writeSSOTokenToFile = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.writeSSOTokenToFile = void 0; - var shared_ini_file_loader_1 = require_dist_cjs23(); - var fs_1 = require("fs"); - var { writeFile } = fs_1.promises; - var writeSSOTokenToFile = (id, ssoToken) => { - const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id); - const tokenString = JSON.stringify(ssoToken, null, 2); - return writeFile(tokenFilepath, tokenString); - }; - exports2.writeSSOTokenToFile = writeSSOTokenToFile; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js -var require_fromSso = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromSso = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs23(); - var constants_1 = require_constants2(); - var getNewSsoOidcToken_1 = require_getNewSsoOidcToken(); - var validateTokenExpiry_1 = require_validateTokenExpiry(); - var validateTokenKey_1 = require_validateTokenKey(); - var writeSSOTokenToFile_1 = require_writeSSOTokenToFile(); - var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0); - var fromSso = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); - const profile = profiles[profileName]; - if (!profile) { - throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); - } else if (!profile["sso_session"]) { - throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); - } - const ssoSessionName = profile["sso_session"]; - const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); - const ssoSession = ssoSessions[ssoSessionName]; - if (!ssoSession) { - throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false); - } - for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { - if (!ssoSession[ssoSessionRequiredKey]) { - throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS, + NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS, + REGION_ENV_NAME: () => REGION_ENV_NAME, + REGION_INI_NAME: () => REGION_INI_NAME, + getAwsRegionExtensionConfiguration: () => getAwsRegionExtensionConfiguration, + resolveAwsRegionExtensionConfiguration: () => resolveAwsRegionExtensionConfiguration, + resolveRegionConfig: () => resolveRegionConfig + }); + module2.exports = __toCommonJS2(src_exports); + var getAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + let runtimeConfigRegion = /* @__PURE__ */ __name(async () => { + if (runtimeConfig.region === void 0) { + throw new Error("Region is missing from runtimeConfig"); } - } - const ssoStartUrl = ssoSession["sso_start_url"]; - const ssoRegion = ssoSession["sso_region"]; - let ssoToken; - try { - ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName); - } catch (e) { - throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false); - } - (0, validateTokenKey_1.validateTokenKey)("accessToken", ssoToken.accessToken); - (0, validateTokenKey_1.validateTokenKey)("expiresAt", ssoToken.expiresAt); - const { accessToken, expiresAt } = ssoToken; - const existingToken = { token: accessToken, expiration: new Date(expiresAt) }; - if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) { - return existingToken; - } - if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1e3) { - (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); - return existingToken; - } - (0, validateTokenKey_1.validateTokenKey)("clientId", ssoToken.clientId, true); - (0, validateTokenKey_1.validateTokenKey)("clientSecret", ssoToken.clientSecret, true); - (0, validateTokenKey_1.validateTokenKey)("refreshToken", ssoToken.refreshToken, true); - try { - lastRefreshAttemptTime.setTime(Date.now()); - const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion); - (0, validateTokenKey_1.validateTokenKey)("accessToken", newSsoOidcToken.accessToken); - (0, validateTokenKey_1.validateTokenKey)("expiresIn", newSsoOidcToken.expiresIn); - const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); - try { - await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, { - ...ssoToken, - accessToken: newSsoOidcToken.accessToken, - expiresAt: newTokenExpiration.toISOString(), - refreshToken: newSsoOidcToken.refreshToken - }); - } catch (error) { + const region = runtimeConfig.region; + if (typeof region === "string") { + return region; } - return { - token: newSsoOidcToken.accessToken, - expiration: newTokenExpiration - }; - } catch (error) { - (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); - return existingToken; + return region(); + }, "runtimeConfigRegion"); + return { + setRegion(region) { + runtimeConfigRegion = region; + }, + region() { + return runtimeConfigRegion; + } + }; + }, "getAwsRegionExtensionConfiguration"); + var resolveAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((awsRegionExtensionConfiguration) => { + return { + region: awsRegionExtensionConfiguration.region() + }; + }, "resolveAwsRegionExtensionConfiguration"); + var REGION_ENV_NAME = "AWS_REGION"; + var REGION_INI_NAME = "region"; + var NODE_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[REGION_ENV_NAME], + configFileSelector: (profile) => profile[REGION_INI_NAME], + default: () => { + throw new Error("Region is missing"); } }; - exports2.fromSso = fromSso; + var NODE_REGION_CONFIG_FILE_OPTIONS = { + preferredFile: "credentials" + }; + var isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")), "isFipsRegion"); + var getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region, "getRealRegion"); + var resolveRegionConfig = /* @__PURE__ */ __name((input) => { + const { region, useFipsEndpoint } = input; + if (!region) { + throw new Error("Region is missing"); + } + return { + ...input, + region: async () => { + if (typeof region === "string") { + return getRealRegion(region); + } + const providedRegion = await region(); + return getRealRegion(providedRegion); + }, + useFipsEndpoint: async () => { + const providedRegion = typeof region === "string" ? region : await region(); + if (isFipsRegion(providedRegion)) { + return true; + } + return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); + } + }; + }, "resolveRegionConfig"); } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js -var require_fromStatic = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js +var require_dist_cjs44 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromStatic = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromStatic = ({ token }) => async () => { - if (!token || !token.token) { - throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false); + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return token; + return to; }; - exports2.fromStatic = fromStatic; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js -var require_nodeProvider = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.nodeProvider = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromSso_1 = require_fromSso(); - var nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => { - throw new property_provider_1.TokenProviderError("Could not load token from any providers", false); - }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0); - exports2.nodeProvider = nodeProvider; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_client_sso_oidc_node(), exports2); - tslib_1.__exportStar(require_fromSso(), exports2); - tslib_1.__exportStar(require_fromStatic(), exports2); - tslib_1.__exportStar(require_nodeProvider(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js -var require_resolveSSOCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveSSOCredentials = void 0; - var client_sso_1 = require_dist_cjs49(); - var token_providers_1 = require_dist_cjs50(); - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs23(); - var SHOULD_FAIL_CREDENTIAL_CHAIN = false; - var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile }) => { - let token; - const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; - if (ssoSession) { - try { - const _token = await (0, token_providers_1.fromSso)({ profile })(); - token = { - accessToken: _token.token, - expiresAt: new Date(_token.expiration).toISOString() - }; - } catch (e) { - throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - } else { - try { - token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl); - } catch (e) { - throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + GetRoleCredentialsCommand: () => GetRoleCredentialsCommand, + GetRoleCredentialsRequestFilterSensitiveLog: () => GetRoleCredentialsRequestFilterSensitiveLog, + GetRoleCredentialsResponseFilterSensitiveLog: () => GetRoleCredentialsResponseFilterSensitiveLog, + InvalidRequestException: () => InvalidRequestException, + ListAccountRolesCommand: () => ListAccountRolesCommand, + ListAccountRolesRequestFilterSensitiveLog: () => ListAccountRolesRequestFilterSensitiveLog, + ListAccountsCommand: () => ListAccountsCommand, + ListAccountsRequestFilterSensitiveLog: () => ListAccountsRequestFilterSensitiveLog, + LogoutCommand: () => LogoutCommand, + LogoutRequestFilterSensitiveLog: () => LogoutRequestFilterSensitiveLog, + ResourceNotFoundException: () => ResourceNotFoundException, + RoleCredentialsFilterSensitiveLog: () => RoleCredentialsFilterSensitiveLog, + SSO: () => SSO, + SSOClient: () => SSOClient, + SSOServiceException: () => SSOServiceException, + TooManyRequestsException: () => TooManyRequestsException, + UnauthorizedException: () => UnauthorizedException, + __Client: () => import_smithy_client4.Client, + paginateListAccountRoles: () => paginateListAccountRoles, + paginateListAccounts: () => paginateListAccounts + }); + module2.exports = __toCommonJS2(src_exports); + var import_middleware_host_header = require_dist_cjs3(); + var import_middleware_logger = require_dist_cjs4(); + var import_middleware_recursion_detection = require_dist_cjs5(); + var import_middleware_user_agent = require_dist_cjs8(); + var import_config_resolver = require_dist_cjs11(); + var import_core3 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var import_middleware_content_length = require_dist_cjs23(); + var import_middleware_endpoint = require_dist_cjs29(); + var import_middleware_retry = require_dist_cjs34(); + var import_httpAuthSchemeProvider = require_httpAuthSchemeProvider2(); + var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "awsssoportal" + }; + }, "resolveClientEndpointParameters"); + var commonParams = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + var import_runtimeConfig = require_runtimeConfig(); + var import_region_config_resolver = require_dist_cjs43(); + var import_protocol_http8 = require_dist_cjs2(); + var import_smithy_client4 = require_dist_cjs33(); + var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; } + }; + }, "getHttpAuthExtensionConfiguration"); + var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => { + return { + httpAuthSchemes: config.httpAuthSchemes(), + httpAuthSchemeProvider: config.httpAuthSchemeProvider(), + credentials: config.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial"); + var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = { + ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_smithy_client4.getDefaultExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_protocol_http8.getHttpHandlerExtensionConfiguration)(runtimeConfig)), + ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)) + }; + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return { + ...runtimeConfig, + ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), + ...(0, import_smithy_client4.resolveDefaultRuntimeConfig)(extensionConfiguration), + ...(0, import_protocol_http8.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), + ...resolveHttpAuthRuntimeConfig(extensionConfiguration) + }; + }, "resolveRuntimeExtensions"); + var _SSOClient = class _SSOClient extends import_smithy_client4.Client { + constructor(...[configuration]) { + const _config_0 = (0, import_runtimeConfig.getRuntimeConfig)(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_1); + const _config_3 = (0, import_middleware_retry.resolveRetryConfig)(_config_2); + const _config_4 = (0, import_config_resolver.resolveRegionConfig)(_config_3); + const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_5); + const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6); + const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []); + super(_config_8); + this.config = _config_8; + this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_retry.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_content_length.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use( + (0, import_core3.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, { + httpAuthSchemeParametersProvider: import_httpAuthSchemeProvider.defaultSSOHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: async (config) => new import_core3.DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config.credentials + }) + }) + ); + this.middlewareStack.use((0, import_core3.getHttpSigningPlugin)(this.config)); } - if (new Date(token.expiresAt).getTime() - Date.now() <= 0) { - throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - const { accessToken } = token; - const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion }); - let ssoResp; - try { - ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({ - accountId: ssoAccountId, - roleName: ssoRoleName, - accessToken - })); - } catch (e) { - throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN); + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ + destroy() { + super.destroy(); } - const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp; - if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { - throw new property_provider_1.CredentialsProviderError("SSO returns an invalid temporary credential.", SHOULD_FAIL_CREDENTIAL_CHAIN); + }; + __name(_SSOClient, "SSOClient"); + var SSOClient = _SSOClient; + var import_middleware_serde2 = require_dist_cjs12(); + var _SSOServiceException = class _SSOServiceException2 extends import_smithy_client4.ServiceException { + /** + * @internal + */ + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOServiceException2.prototype); } - return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) }; }; - exports2.resolveSSOCredentials = resolveSSOCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js -var require_validateSsoProfile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.validateSsoProfile = void 0; - var property_provider_1 = require_dist_cjs6(); - var validateSsoProfile = (profile) => { - const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; - if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { - throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")} -Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false); + __name(_SSOServiceException, "SSOServiceException"); + var SSOServiceException = _SSOServiceException; + var _InvalidRequestException = class _InvalidRequestException2 extends SSOServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException2.prototype); } - return profile; }; - exports2.validateSsoProfile = validateSsoProfile; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js -var require_fromSSO = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromSSO = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs23(); - var isSsoProfile_1 = require_isSsoProfile(); - var resolveSSOCredentials_1 = require_resolveSSOCredentials(); - var validateSsoProfile_1 = require_validateSsoProfile(); - var fromSSO = (init = {}) => async () => { - const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init; - const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); - if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - const profile = profiles[profileName]; - if (!profile) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`); - } - if (!(0, isSsoProfile_1.isSsoProfile)(profile)) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`); - } - if (profile === null || profile === void 0 ? void 0 : profile.sso_session) { - const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); - const session = ssoSessions[profile.sso_session]; - const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; - if (ssoRegion && ssoRegion !== session.sso_region) { - throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false); - } - if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { - throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false); - } - profile.sso_region = session.sso_region; - profile.sso_start_url = session.sso_start_url; - } - const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile); - return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ - ssoStartUrl: sso_start_url, - ssoSession: sso_session, - ssoAccountId: sso_account_id, - ssoRegion: sso_region, - ssoRoleName: sso_role_name, - ssoClient, - profile: profileName + __name(_InvalidRequestException, "InvalidRequestException"); + var InvalidRequestException = _InvalidRequestException; + var _ResourceNotFoundException = class _ResourceNotFoundException2 extends SSOServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts }); - } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { - throw new property_provider_1.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"'); - } else { - return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ - ssoStartUrl, - ssoSession, - ssoAccountId, - ssoRegion, - ssoRoleName, - ssoClient, - profile: profileName + this.name = "ResourceNotFoundException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFoundException2.prototype); + } + }; + __name(_ResourceNotFoundException, "ResourceNotFoundException"); + var ResourceNotFoundException = _ResourceNotFoundException; + var _TooManyRequestsException = class _TooManyRequestsException2 extends SSOServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "TooManyRequestsException", + $fault: "client", + ...opts + }); + this.name = "TooManyRequestsException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyRequestsException2.prototype); + } + }; + __name(_TooManyRequestsException, "TooManyRequestsException"); + var TooManyRequestsException = _TooManyRequestsException; + var _UnauthorizedException = class _UnauthorizedException2 extends SSOServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "UnauthorizedException", + $fault: "client", + ...opts }); + this.name = "UnauthorizedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedException2.prototype); + } + }; + __name(_UnauthorizedException, "UnauthorizedException"); + var UnauthorizedException = _UnauthorizedException; + var GetRoleCredentialsRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING } + }), "GetRoleCredentialsRequestFilterSensitiveLog"); + var RoleCredentialsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.secretAccessKey && { secretAccessKey: import_smithy_client4.SENSITIVE_STRING }, + ...obj.sessionToken && { sessionToken: import_smithy_client4.SENSITIVE_STRING } + }), "RoleCredentialsFilterSensitiveLog"); + var GetRoleCredentialsResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.roleCredentials && { roleCredentials: RoleCredentialsFilterSensitiveLog(obj.roleCredentials) } + }), "GetRoleCredentialsResponseFilterSensitiveLog"); + var ListAccountRolesRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING } + }), "ListAccountRolesRequestFilterSensitiveLog"); + var ListAccountsRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING } + }), "ListAccountsRequestFilterSensitiveLog"); + var LogoutRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING } + }), "LogoutRequestFilterSensitiveLog"); + var import_core22 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var se_GetRoleCredentialsCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = (0, import_smithy_client4.map)({}, isSerializableHeaderValue, { + [_xasbt]: input[_aT] + }); + b.bp("/federation/credentials"); + const query = (0, import_smithy_client4.map)({ + [_rn]: [, (0, import_smithy_client4.expectNonNull)(input[_rN], `roleName`)], + [_ai]: [, (0, import_smithy_client4.expectNonNull)(input[_aI], `accountId`)] + }); + let body; + b.m("GET").h(headers).q(query).b(body); + return b.build(); + }, "se_GetRoleCredentialsCommand"); + var se_ListAccountRolesCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = (0, import_smithy_client4.map)({}, isSerializableHeaderValue, { + [_xasbt]: input[_aT] + }); + b.bp("/assignment/roles"); + const query = (0, import_smithy_client4.map)({ + [_nt]: [, input[_nT]], + [_mr]: [() => input.maxResults !== void 0, () => input[_mR].toString()], + [_ai]: [, (0, import_smithy_client4.expectNonNull)(input[_aI], `accountId`)] + }); + let body; + b.m("GET").h(headers).q(query).b(body); + return b.build(); + }, "se_ListAccountRolesCommand"); + var se_ListAccountsCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = (0, import_smithy_client4.map)({}, isSerializableHeaderValue, { + [_xasbt]: input[_aT] + }); + b.bp("/assignment/accounts"); + const query = (0, import_smithy_client4.map)({ + [_nt]: [, input[_nT]], + [_mr]: [() => input.maxResults !== void 0, () => input[_mR].toString()] + }); + let body; + b.m("GET").h(headers).q(query).b(body); + return b.build(); + }, "se_ListAccountsCommand"); + var se_LogoutCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = (0, import_smithy_client4.map)({}, isSerializableHeaderValue, { + [_xasbt]: input[_aT] + }); + b.bp("/logout"); + let body; + b.m("POST").h(headers).b(body); + return b.build(); + }, "se_LogoutCommand"); + var de_GetRoleCredentialsCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + roleCredentials: import_smithy_client4._json + }); + Object.assign(contents, doc); + return contents; + }, "de_GetRoleCredentialsCommand"); + var de_ListAccountRolesCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + nextToken: import_smithy_client4.expectString, + roleList: import_smithy_client4._json + }); + Object.assign(contents, doc); + return contents; + }, "de_ListAccountRolesCommand"); + var de_ListAccountsCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + accountList: import_smithy_client4._json, + nextToken: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + return contents; + }, "de_ListAccountsCommand"); + var de_LogoutCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + await (0, import_smithy_client4.collectBody)(output.body, context); + return contents; + }, "de_LogoutCommand"); + var de_CommandError = /* @__PURE__ */ __name(async (output, context) => { + const parsedOutput = { + ...output, + body: await (0, import_core22.parseJsonErrorBody)(output.body, context) + }; + const errorCode = (0, import_core22.loadRestJsonErrorCode)(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); } + }, "de_CommandError"); + var throwDefaultError = (0, import_smithy_client4.withBaseException)(SSOServiceException); + var de_InvalidRequestExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + message: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidRequestExceptionRes"); + var de_ResourceNotFoundExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + message: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new ResourceNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_ResourceNotFoundExceptionRes"); + var de_TooManyRequestsExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + message: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new TooManyRequestsException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_TooManyRequestsExceptionRes"); + var de_UnauthorizedExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + message: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new UnauthorizedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_UnauthorizedExceptionRes"); + var deserializeMetadata = /* @__PURE__ */ __name((output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }), "deserializeMetadata"); + var isSerializableHeaderValue = /* @__PURE__ */ __name((value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0), "isSerializableHeaderValue"); + var _aI = "accountId"; + var _aT = "accessToken"; + var _ai = "account_id"; + var _mR = "maxResults"; + var _mr = "max_result"; + var _nT = "nextToken"; + var _nt = "next_token"; + var _rN = "roleName"; + var _rn = "role_name"; + var _xasbt = "x-amz-sso_bearer_token"; + var _GetRoleCredentialsCommand = class _GetRoleCredentialsCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("SWBPortalService", "GetRoleCredentials", {}).n("SSOClient", "GetRoleCredentialsCommand").f(GetRoleCredentialsRequestFilterSensitiveLog, GetRoleCredentialsResponseFilterSensitiveLog).ser(se_GetRoleCredentialsCommand).de(de_GetRoleCredentialsCommand).build() { + }; + __name(_GetRoleCredentialsCommand, "GetRoleCredentialsCommand"); + var GetRoleCredentialsCommand = _GetRoleCredentialsCommand; + var _ListAccountRolesCommand = class _ListAccountRolesCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("SWBPortalService", "ListAccountRoles", {}).n("SSOClient", "ListAccountRolesCommand").f(ListAccountRolesRequestFilterSensitiveLog, void 0).ser(se_ListAccountRolesCommand).de(de_ListAccountRolesCommand).build() { + }; + __name(_ListAccountRolesCommand, "ListAccountRolesCommand"); + var ListAccountRolesCommand = _ListAccountRolesCommand; + var _ListAccountsCommand = class _ListAccountsCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("SWBPortalService", "ListAccounts", {}).n("SSOClient", "ListAccountsCommand").f(ListAccountsRequestFilterSensitiveLog, void 0).ser(se_ListAccountsCommand).de(de_ListAccountsCommand).build() { + }; + __name(_ListAccountsCommand, "ListAccountsCommand"); + var ListAccountsCommand = _ListAccountsCommand; + var _LogoutCommand = class _LogoutCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("SWBPortalService", "Logout", {}).n("SSOClient", "LogoutCommand").f(LogoutRequestFilterSensitiveLog, void 0).ser(se_LogoutCommand).de(de_LogoutCommand).build() { + }; + __name(_LogoutCommand, "LogoutCommand"); + var LogoutCommand = _LogoutCommand; + var commands = { + GetRoleCredentialsCommand, + ListAccountRolesCommand, + ListAccountsCommand, + LogoutCommand + }; + var _SSO = class _SSO extends SSOClient { }; - exports2.fromSSO = fromSSO; + __name(_SSO, "SSO"); + var SSO = _SSO; + (0, import_smithy_client4.createAggregatedClient)(commands, SSO); + var paginateListAccountRoles = (0, import_core3.createPaginator)(SSOClient, ListAccountRolesCommand, "nextToken", "nextToken", "maxResults"); + var paginateListAccounts = (0, import_core3.createPaginator)(SSOClient, ListAccountsCommand, "nextToken", "nextToken", "maxResults"); } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js -var require_types2 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/auth/httpAuthSchemeProvider.js +var require_httpAuthSchemeProvider3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/auth/httpAuthSchemeProvider.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.resolveHttpAuthSchemeConfig = exports2.defaultSSOOIDCHttpAuthSchemeProvider = exports2.defaultSSOOIDCHttpAuthSchemeParametersProvider = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var util_middleware_1 = require_dist_cjs10(); + var defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => { + return { + operation: (0, util_middleware_1.getSmithyContext)(context).operation, + region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }; + exports2.defaultSSOOIDCHttpAuthSchemeParametersProvider = defaultSSOOIDCHttpAuthSchemeParametersProvider; + function createAwsAuthSigv4HttpAuthOption(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "sso-oauth", + region: authParameters.region + }, + propertiesExtractor: (config, context) => ({ + signingProperties: { + config, + context + } + }) + }; + } + function createSmithyApiNoAuthHttpAuthOption(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; + } + var defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => { + const options = []; + switch (authParameters.operation) { + case "CreateToken": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "RegisterClient": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "StartDeviceAuthorization": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + default: { + options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); + } + } + return options; + }; + exports2.defaultSSOOIDCHttpAuthSchemeProvider = defaultSSOOIDCHttpAuthSchemeProvider; + var resolveHttpAuthSchemeConfig = (config) => { + const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config); + return { + ...config_0 + }; + }; + exports2.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig; } }); -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json +var require_package3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports2, module2) { + module2.exports = { + name: "@aws-sdk/client-sso-oidc", + description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", + version: "3.632.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "node ../../scripts/compilation/inline client-sso-oidc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.629.0", + "@aws-sdk/credential-provider-node": "3.632.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.632.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.632.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + tslib: "^2.6.2" + }, + devDependencies: { + "@tsconfig/node16": "16.1.3", + "@types/node": "^16.18.96", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typescript: "~4.9.5" + }, + engines: { + node: ">=16.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + peerDependencies: { + "@aws-sdk/client-sts": "^3.632.0" + }, + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sso-oidc" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js +var require_ruleset2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromSSO(), exports2); - tslib_1.__exportStar(require_isSsoProfile(), exports2); - tslib_1.__exportStar(require_types2(), exports2); - tslib_1.__exportStar(require_validateSsoProfile(), exports2); + exports2.ruleSet = void 0; + var u = "required"; + var v = "fn"; + var w = "argv"; + var x = "ref"; + var a = true; + var b = "isSet"; + var c = "booleanEquals"; + var d = "error"; + var e = "endpoint"; + var f = "tree"; + var g = "PartitionResult"; + var h = "getAttr"; + var i = { [u]: false, "type": "String" }; + var j = { [u]: true, "default": false, "type": "Boolean" }; + var k = { [x]: "Endpoint" }; + var l = { [v]: c, [w]: [{ [x]: "UseFIPS" }, true] }; + var m = { [v]: c, [w]: [{ [x]: "UseDualStack" }, true] }; + var n = {}; + var o = { [v]: h, [w]: [{ [x]: g }, "supportsFIPS"] }; + var p = { [x]: g }; + var q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, "supportsDualStack"] }] }; + var r = [l]; + var s = [m]; + var t = [{ [x]: "Region" }]; + var _data = { version: "1.0", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: "aws.partition", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: "stringEquals", [w]: [{ [v]: h, [w]: [p, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://oidc.{Region}.amazonaws.com", properties: n, headers: n }, type: e }, { endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] }; + exports2.ruleSet = _data; } }); -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js -var require_resolveSsoCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveSsoCredentials = exports2.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs51(); - var credential_provider_sso_2 = require_dist_cjs51(); - Object.defineProperty(exports2, "isSsoProfile", { enumerable: true, get: function() { - return credential_provider_sso_2.isSsoProfile; - } }); - var resolveSsoCredentials = (data) => { - const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data); - return (0, credential_provider_sso_1.fromSSO)({ - ssoStartUrl: sso_start_url, - ssoAccountId: sso_account_id, - ssoSession: sso_session, - ssoRegion: sso_region, - ssoRoleName: sso_role_name - })(); + exports2.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs7(); + var util_endpoints_2 = require_dist_cjs6(); + var ruleset_1 = require_ruleset2(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); }; - exports2.resolveSsoCredentials = resolveSsoCredentials; + exports2.defaultEndpointResolver = defaultEndpointResolver; + util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions; } }); -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js -var require_resolveStaticCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveStaticCredentials = exports2.isStaticCredsProfile = void 0; - var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1; - exports2.isStaticCredsProfile = isStaticCredsProfile; - var resolveStaticCredentials = (profile) => Promise.resolve({ - accessKeyId: profile.aws_access_key_id, - secretAccessKey: profile.aws_secret_access_key, - sessionToken: profile.aws_session_token - }); - exports2.resolveStaticCredentials = resolveStaticCredentials; + exports2.getRuntimeConfig = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var core_2 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var smithy_client_1 = require_dist_cjs33(); + var url_parser_1 = require_dist_cjs28(); + var util_base64_1 = require_dist_cjs16(); + var util_utf8_1 = require_dist_cjs15(); + var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider3(); + var endpointResolver_1 = require_endpointResolver2(); + var getRuntimeConfig = (config) => { + return { + apiVersion: "2019-06-10", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + extensions: config?.extensions ?? [], + httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOOIDCHttpAuthSchemeProvider, + httpAuthSchemes: config?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), + signer: new core_1.AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), + signer: new core_2.NoAuthSigner() + } + ], + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SSO OIDC", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }; + }; + exports2.getRuntimeConfig = getRuntimeConfig; } }); -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js -var require_fromWebToken = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromWebToken = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromWebToken = (init) => () => { - const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity } = init; - if (!roleAssumerWithWebIdentity) { - throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity, but no role assumption callback was provided.`, false); - } - return roleAssumerWithWebIdentity({ - RoleArn: roleArn, - RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`, - WebIdentityToken: webIdentityToken, - ProviderId: providerId, - PolicyArns: policyArns, - Policy: policy, - DurationSeconds: durationSeconds - }); - }; - exports2.fromWebToken = fromWebToken; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js -var require_fromTokenFile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromTokenFile = void 0; - var property_provider_1 = require_dist_cjs6(); - var fs_1 = require("fs"); - var fromWebToken_1 = require_fromWebToken(); - var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; - var ENV_ROLE_ARN = "AWS_ROLE_ARN"; - var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; - var fromTokenFile = (init = {}) => async () => { - var _a, _b, _c; - const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE]; - const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN]; - const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME]; - if (!webIdentityTokenFile || !roleArn) { - throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified"); - } - return (0, fromWebToken_1.fromWebToken)({ - ...init, - webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }), - roleArn, - roleSessionName - })(); - }; - exports2.fromTokenFile = fromTokenFile; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromTokenFile(), exports2); - tslib_1.__exportStar(require_fromWebToken(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js -var require_resolveWebIdentityCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveWebIdentityCredentials = exports2.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs52(); - var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; - exports2.isWebIdentityProfile = isWebIdentityProfile; - var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ - webIdentityTokenFile: profile.web_identity_token_file, - roleArn: profile.role_arn, - roleSessionName: profile.role_session_name, - roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity - })(); - exports2.resolveWebIdentityCredentials = resolveWebIdentityCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js -var require_resolveProfileData = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveProfileData = void 0; - var property_provider_1 = require_dist_cjs6(); - var resolveAssumeRoleCredentials_1 = require_resolveAssumeRoleCredentials(); - var resolveProcessCredentials_1 = require_resolveProcessCredentials2(); - var resolveSsoCredentials_1 = require_resolveSsoCredentials(); - var resolveStaticCredentials_1 = require_resolveStaticCredentials(); - var resolveWebIdentityCredentials_1 = require_resolveWebIdentityCredentials(); - var resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => { - const data = profiles[profileName]; - if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { - return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); - } - if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) { - return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles); - } - if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { - return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); - } - if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) { - return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options); - } - if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) { - return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName); - } - if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) { - return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data); - } - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`); - }; - exports2.resolveProfileData = resolveProfileData; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js -var require_fromIni = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fromIni = void 0; - var shared_ini_file_loader_1 = require_dist_cjs23(); - var resolveProfileData_1 = require_resolveProfileData(); - var fromIni = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init); - }; - exports2.fromIni = fromIni; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromIni(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js -var require_remoteProvider = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.remoteProvider = exports2.ENV_IMDS_DISABLED = void 0; - var credential_provider_imds_1 = require_dist_cjs42(); - var property_provider_1 = require_dist_cjs6(); - exports2.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; - var remoteProvider = (init) => { - if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) { - return (0, credential_provider_imds_1.fromContainerMetadata)(init); - } - if (process.env[exports2.ENV_IMDS_DISABLED]) { - return async () => { - throw new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"); - }; - } - return (0, credential_provider_imds_1.fromInstanceMetadata)(init); - }; - exports2.remoteProvider = remoteProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js -var require_defaultProvider = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.defaultProvider = void 0; - var credential_provider_env_1 = require_dist_cjs41(); - var credential_provider_ini_1 = require_dist_cjs53(); - var credential_provider_process_1 = require_dist_cjs43(); - var credential_provider_sso_1 = require_dist_cjs51(); - var credential_provider_web_identity_1 = require_dist_cjs52(); - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs23(); - var remoteProvider_1 = require_remoteProvider(); - var defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()], (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => { - throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false); - }), (credentials) => credentials.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, (credentials) => credentials.expiration !== void 0); - exports2.defaultProvider = defaultProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_defaultProvider(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ruleSet = void 0; - var F = "required"; - var G = "type"; - var H = "fn"; - var I = "argv"; - var J = "ref"; - var a = false; - var b = true; - var c = "booleanEquals"; - var d = "tree"; - var e = "stringEquals"; - var f = "sigv4"; - var g = "sts"; - var h = "us-east-1"; - var i = "endpoint"; - var j = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; - var k = "error"; - var l = "getAttr"; - var m = { [F]: false, [G]: "String" }; - var n = { [F]: true, "default": false, [G]: "Boolean" }; - var o = { [J]: "Endpoint" }; - var p = { [H]: "isSet", [I]: [{ [J]: "Region" }] }; - var q = { [J]: "Region" }; - var r = { [H]: "aws.partition", [I]: [q], "assign": "PartitionResult" }; - var s = { [J]: "UseFIPS" }; - var t = { [J]: "UseDualStack" }; - var u = { "url": "https://sts.amazonaws.com", "properties": { "authSchemes": [{ "name": f, "signingName": g, "signingRegion": h }] }, "headers": {} }; - var v = {}; - var w = { "conditions": [{ [H]: e, [I]: [q, "aws-global"] }], [i]: u, [G]: i }; - var x = { [H]: c, [I]: [s, true] }; - var y = { [H]: c, [I]: [t, true] }; - var z = { [H]: c, [I]: [true, { [H]: l, [I]: [{ [J]: "PartitionResult" }, "supportsFIPS"] }] }; - var A = { [J]: "PartitionResult" }; - var B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, "supportsDualStack"] }] }; - var C = [{ [H]: "isSet", [I]: [o] }]; - var D = [x]; - var E = [y]; - var _data = { version: "1.0", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: "UseGlobalEndpoint" }, b] }, { [H]: "not", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], [G]: d, rules: [{ conditions: [{ [H]: e, [I]: [q, "ap-northeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-south-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-2"] }], endpoint: u, [G]: i }, w, { conditions: [{ [H]: e, [I]: [q, "ca-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-north-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-3"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "sa-east-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, h] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-east-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-2"] }], endpoint: u, [G]: i }, { endpoint: { url: j, properties: { authSchemes: [{ name: f, signingName: g, signingRegion: "{Region}" }] }, headers: v }, [G]: i }] }, { conditions: C, [G]: d, rules: [{ conditions: D, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G]: k }, { conditions: E, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: i }] }, { conditions: [p], [G]: d, rules: [{ conditions: [r], [G]: d, rules: [{ conditions: [x, y], [G]: d, rules: [{ conditions: [z, B], [G]: d, rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G]: k }] }, { conditions: D, [G]: d, rules: [{ conditions: [z], [G]: d, rules: [{ conditions: [{ [H]: e, [I]: ["aws-us-gov", { [H]: l, [I]: [A, "name"] }] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v, headers: v }, [G]: i }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v, headers: v }, [G]: i }] }, { error: "FIPS is enabled but this partition does not support FIPS", [G]: k }] }, { conditions: E, [G]: d, rules: [{ conditions: [B], [G]: d, rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }, { error: "DualStack is enabled but this partition does not support DualStack", [G]: k }] }, w, { endpoint: { url: j, properties: v, headers: v }, [G]: i }] }] }, { error: "Invalid Configuration: Missing Region", [G]: k }] }; - exports2.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs17(); - var ruleset_1 = require_ruleset2(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports2.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs38(); - var url_parser_1 = require_dist_cjs26(); - var util_base64_1 = require_dist_cjs34(); - var util_utf8_1 = require_dist_cjs10(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2011-06-15", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - extensions: config?.extensions ?? [], - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "STS", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports2.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js +var require_runtimeConfig2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package2()); - var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs54(); - var util_user_agent_node_1 = require_dist_cjs44(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs45(); - var middleware_retry_1 = require_dist_cjs39(); - var node_config_provider_1 = require_dist_cjs24(); - var node_http_handler_1 = require_dist_cjs36(); - var util_body_length_node_1 = require_dist_cjs46(); + var package_json_1 = tslib_1.__importDefault(require_package3()); + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var credential_provider_node_1 = require_dist_cjs52(); + var util_user_agent_node_1 = require_dist_cjs39(); + var config_resolver_1 = require_dist_cjs11(); + var hash_node_1 = require_dist_cjs40(); + var middleware_retry_1 = require_dist_cjs34(); + var node_config_provider_1 = require_dist_cjs26(); + var node_http_handler_1 = require_dist_cjs19(); + var util_body_length_node_1 = require_dist_cjs41(); var util_retry_1 = require_dist_cjs31(); var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs38(); - var util_defaults_mode_node_1 = require_dist_cjs47(); - var smithy_client_2 = require_dist_cjs38(); + var smithy_client_1 = require_dist_cjs33(); + var util_defaults_mode_node_1 = require_dist_cjs42(); + var smithy_client_2 = require_dist_cjs33(); var getRuntimeConfig = (config) => { (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + (0, core_1.emitWarningIfUnsupportedVersion)(process.version); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + credentialDefaultProvider: config?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider, defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider), retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE @@ -16610,686 +14534,1749 @@ var require_runtimeConfig2 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeExtensions.js -var require_runtimeExtensions2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeExtensions.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js +var require_dist_cjs45 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.resolveRuntimeExtensions = void 0; - var region_config_resolver_1 = require_dist_cjs48(); - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); - var asPartial = (t) => t; - var resolveRuntimeExtensions = (runtimeConfig, extensions) => { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + AccessDeniedException: () => AccessDeniedException, + AuthorizationPendingException: () => AuthorizationPendingException, + CreateTokenCommand: () => CreateTokenCommand, + CreateTokenRequestFilterSensitiveLog: () => CreateTokenRequestFilterSensitiveLog, + CreateTokenResponseFilterSensitiveLog: () => CreateTokenResponseFilterSensitiveLog, + CreateTokenWithIAMCommand: () => CreateTokenWithIAMCommand, + CreateTokenWithIAMRequestFilterSensitiveLog: () => CreateTokenWithIAMRequestFilterSensitiveLog, + CreateTokenWithIAMResponseFilterSensitiveLog: () => CreateTokenWithIAMResponseFilterSensitiveLog, + ExpiredTokenException: () => ExpiredTokenException, + InternalServerException: () => InternalServerException, + InvalidClientException: () => InvalidClientException, + InvalidClientMetadataException: () => InvalidClientMetadataException, + InvalidGrantException: () => InvalidGrantException, + InvalidRedirectUriException: () => InvalidRedirectUriException, + InvalidRequestException: () => InvalidRequestException, + InvalidRequestRegionException: () => InvalidRequestRegionException, + InvalidScopeException: () => InvalidScopeException, + RegisterClientCommand: () => RegisterClientCommand, + RegisterClientResponseFilterSensitiveLog: () => RegisterClientResponseFilterSensitiveLog, + SSOOIDC: () => SSOOIDC, + SSOOIDCClient: () => SSOOIDCClient, + SSOOIDCServiceException: () => SSOOIDCServiceException, + SlowDownException: () => SlowDownException, + StartDeviceAuthorizationCommand: () => StartDeviceAuthorizationCommand, + StartDeviceAuthorizationRequestFilterSensitiveLog: () => StartDeviceAuthorizationRequestFilterSensitiveLog, + UnauthorizedClientException: () => UnauthorizedClientException, + UnsupportedGrantTypeException: () => UnsupportedGrantTypeException, + __Client: () => import_smithy_client4.Client + }); + module2.exports = __toCommonJS2(src_exports); + var import_middleware_host_header = require_dist_cjs3(); + var import_middleware_logger = require_dist_cjs4(); + var import_middleware_recursion_detection = require_dist_cjs5(); + var import_middleware_user_agent = require_dist_cjs8(); + var import_config_resolver = require_dist_cjs11(); + var import_core3 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var import_middleware_content_length = require_dist_cjs23(); + var import_middleware_endpoint = require_dist_cjs29(); + var import_middleware_retry = require_dist_cjs34(); + var import_httpAuthSchemeProvider = require_httpAuthSchemeProvider3(); + var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "sso-oauth" + }; + }, "resolveClientEndpointParameters"); + var commonParams = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + var import_runtimeConfig = require_runtimeConfig2(); + var import_region_config_resolver = require_dist_cjs43(); + var import_protocol_http8 = require_dist_cjs2(); + var import_smithy_client4 = require_dist_cjs33(); + var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => { + return { + httpAuthSchemes: config.httpAuthSchemes(), + httpAuthSchemeProvider: config.httpAuthSchemeProvider(), + credentials: config.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial"); + var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => { const extensionConfiguration = { - ...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)), - ...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)), - ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)) + ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_smithy_client4.getDefaultExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_protocol_http8.getHttpHandlerExtensionConfiguration)(runtimeConfig)), + ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)) }; extensions.forEach((extension) => extension.configure(extensionConfiguration)); return { ...runtimeConfig, - ...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), - ...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration), - ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration) + ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), + ...(0, import_smithy_client4.resolveDefaultRuntimeConfig)(extensionConfiguration), + ...(0, import_protocol_http8.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), + ...resolveHttpAuthRuntimeConfig(extensionConfiguration) }; - }; - exports2.resolveRuntimeExtensions = resolveRuntimeExtensions; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js -var require_STSClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.STSClient = exports2.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_sdk_sts_1 = require_dist_cjs40(); - var middleware_user_agent_1 = require_dist_cjs18(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_retry_1 = require_dist_cjs39(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig2(); - var runtimeExtensions_1 = require_runtimeExtensions2(); - var STSClient = class _STSClient extends smithy_client_1.Client { + }, "resolveRuntimeExtensions"); + var _SSOOIDCClient = class _SSOOIDCClient extends import_smithy_client4.Client { constructor(...[configuration]) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: _STSClient }); - const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); - const _config_8 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_7, configuration?.extensions || []); + const _config_0 = (0, import_runtimeConfig.getRuntimeConfig)(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_1); + const _config_3 = (0, import_middleware_retry.resolveRetryConfig)(_config_2); + const _config_4 = (0, import_config_resolver.resolveRegionConfig)(_config_3); + const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_5); + const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6); + const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []); super(_config_8); this.config = _config_8; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_retry.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_content_length.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use( + (0, import_core3.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, { + httpAuthSchemeParametersProvider: import_httpAuthSchemeProvider.defaultSSOOIDCHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: async (config) => new import_core3.DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config.credentials + }) + }) + ); + this.middlewareStack.use((0, import_core3.getHttpSigningPlugin)(this.config)); } + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ destroy() { super.destroy(); } }; - exports2.STSClient = STSClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js -var require_AssumeRoleWithSAMLCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AssumeRoleWithSAMLCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleWithSAMLCommand = class _AssumeRoleWithSAMLCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + __name(_SSOOIDCClient, "SSOOIDCClient"); + var SSOOIDCClient = _SSOOIDCClient; + var import_middleware_serde2 = require_dist_cjs12(); + var _SSOOIDCServiceException = class _SSOOIDCServiceException2 extends import_smithy_client4.ServiceException { + /** + * @internal + */ + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOOIDCServiceException2.prototype); } - constructor(input) { - super(); - this.input = input; + }; + __name(_SSOOIDCServiceException, "SSOOIDCServiceException"); + var SSOOIDCServiceException = _SSOOIDCServiceException; + var _AccessDeniedException = class _AccessDeniedException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "AccessDeniedException", + $fault: "client", + ...opts + }); + this.name = "AccessDeniedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AccessDeniedException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithSAMLCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleWithSAMLCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "AssumeRoleWithSAML" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + }; + __name(_AccessDeniedException, "AccessDeniedException"); + var AccessDeniedException = _AccessDeniedException; + var _AuthorizationPendingException = class _AuthorizationPendingException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "AuthorizationPendingException", + $fault: "client", + ...opts + }); + this.name = "AuthorizationPendingException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AuthorizationPendingException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleWithSAMLCommand)(input, context); + }; + __name(_AuthorizationPendingException, "AuthorizationPendingException"); + var AuthorizationPendingException = _AuthorizationPendingException; + var _ExpiredTokenException = class _ExpiredTokenException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + this.name = "ExpiredTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExpiredTokenException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleWithSAMLCommand)(output, context); + }; + __name(_ExpiredTokenException, "ExpiredTokenException"); + var ExpiredTokenException = _ExpiredTokenException; + var _InternalServerException = class _InternalServerException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts + }); + this.name = "InternalServerException"; + this.$fault = "server"; + Object.setPrototypeOf(this, _InternalServerException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } }; - exports2.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js -var require_DecodeAuthorizationMessageCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DecodeAuthorizationMessageCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_query_1 = require_Aws_query(); - var DecodeAuthorizationMessageCommand = class _DecodeAuthorizationMessageCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + __name(_InternalServerException, "InternalServerException"); + var InternalServerException = _InternalServerException; + var _InvalidClientException = class _InvalidClientException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidClientException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - constructor(input) { - super(); - this.input = input; + }; + __name(_InvalidClientException, "InvalidClientException"); + var InvalidClientException = _InvalidClientException; + var _InvalidGrantException = class _InvalidGrantException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidGrantException", + $fault: "client", + ...opts + }); + this.name = "InvalidGrantException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidGrantException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DecodeAuthorizationMessageCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "DecodeAuthorizationMessageCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "DecodeAuthorizationMessage" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + }; + __name(_InvalidGrantException, "InvalidGrantException"); + var InvalidGrantException = _InvalidGrantException; + var _InvalidRequestException = class _InvalidRequestException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - serialize(input, context) { - return (0, Aws_query_1.se_DecodeAuthorizationMessageCommand)(input, context); + }; + __name(_InvalidRequestException, "InvalidRequestException"); + var InvalidRequestException = _InvalidRequestException; + var _InvalidScopeException = class _InvalidScopeException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidScopeException", + $fault: "client", + ...opts + }); + this.name = "InvalidScopeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidScopeException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - deserialize(output, context) { - return (0, Aws_query_1.de_DecodeAuthorizationMessageCommand)(output, context); + }; + __name(_InvalidScopeException, "InvalidScopeException"); + var InvalidScopeException = _InvalidScopeException; + var _SlowDownException = class _SlowDownException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "SlowDownException", + $fault: "client", + ...opts + }); + this.name = "SlowDownException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _SlowDownException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } }; - exports2.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js -var require_GetAccessKeyInfoCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetAccessKeyInfoCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_query_1 = require_Aws_query(); - var GetAccessKeyInfoCommand = class _GetAccessKeyInfoCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + __name(_SlowDownException, "SlowDownException"); + var SlowDownException = _SlowDownException; + var _UnauthorizedClientException = class _UnauthorizedClientException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "UnauthorizedClientException", + $fault: "client", + ...opts + }); + this.name = "UnauthorizedClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedClientException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - constructor(input) { - super(); - this.input = input; + }; + __name(_UnauthorizedClientException, "UnauthorizedClientException"); + var UnauthorizedClientException = _UnauthorizedClientException; + var _UnsupportedGrantTypeException = class _UnsupportedGrantTypeException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "UnsupportedGrantTypeException", + $fault: "client", + ...opts + }); + this.name = "UnsupportedGrantTypeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnsupportedGrantTypeException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetAccessKeyInfoCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetAccessKeyInfoCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "GetAccessKeyInfo" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + }; + __name(_UnsupportedGrantTypeException, "UnsupportedGrantTypeException"); + var UnsupportedGrantTypeException = _UnsupportedGrantTypeException; + var _InvalidRequestRegionException = class _InvalidRequestRegionException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidRequestRegionException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestRegionException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestRegionException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + this.endpoint = opts.endpoint; + this.region = opts.region; } - serialize(input, context) { - return (0, Aws_query_1.se_GetAccessKeyInfoCommand)(input, context); + }; + __name(_InvalidRequestRegionException, "InvalidRequestRegionException"); + var InvalidRequestRegionException = _InvalidRequestRegionException; + var _InvalidClientMetadataException = class _InvalidClientMetadataException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidClientMetadataException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientMetadataException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientMetadataException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } - deserialize(output, context) { - return (0, Aws_query_1.de_GetAccessKeyInfoCommand)(output, context); + }; + __name(_InvalidClientMetadataException, "InvalidClientMetadataException"); + var InvalidClientMetadataException = _InvalidClientMetadataException; + var _InvalidRedirectUriException = class _InvalidRedirectUriException2 extends SSOOIDCServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidRedirectUriException", + $fault: "client", + ...opts + }); + this.name = "InvalidRedirectUriException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRedirectUriException2.prototype); + this.error = opts.error; + this.error_description = opts.error_description; } }; - exports2.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js -var require_GetCallerIdentityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetCallerIdentityCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_query_1 = require_Aws_query(); - var GetCallerIdentityCommand = class _GetCallerIdentityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + __name(_InvalidRedirectUriException, "InvalidRedirectUriException"); + var InvalidRedirectUriException = _InvalidRedirectUriException; + var CreateTokenRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.clientSecret && { clientSecret: import_smithy_client4.SENSITIVE_STRING }, + ...obj.refreshToken && { refreshToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.codeVerifier && { codeVerifier: import_smithy_client4.SENSITIVE_STRING } + }), "CreateTokenRequestFilterSensitiveLog"); + var CreateTokenResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.refreshToken && { refreshToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.idToken && { idToken: import_smithy_client4.SENSITIVE_STRING } + }), "CreateTokenResponseFilterSensitiveLog"); + var CreateTokenWithIAMRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.refreshToken && { refreshToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.assertion && { assertion: import_smithy_client4.SENSITIVE_STRING }, + ...obj.subjectToken && { subjectToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.codeVerifier && { codeVerifier: import_smithy_client4.SENSITIVE_STRING } + }), "CreateTokenWithIAMRequestFilterSensitiveLog"); + var CreateTokenWithIAMResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.refreshToken && { refreshToken: import_smithy_client4.SENSITIVE_STRING }, + ...obj.idToken && { idToken: import_smithy_client4.SENSITIVE_STRING } + }), "CreateTokenWithIAMResponseFilterSensitiveLog"); + var RegisterClientResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.clientSecret && { clientSecret: import_smithy_client4.SENSITIVE_STRING } + }), "RegisterClientResponseFilterSensitiveLog"); + var StartDeviceAuthorizationRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.clientSecret && { clientSecret: import_smithy_client4.SENSITIVE_STRING } + }), "StartDeviceAuthorizationRequestFilterSensitiveLog"); + var import_core22 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var se_CreateTokenCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = { + "content-type": "application/json" + }; + b.bp("/token"); + let body; + body = JSON.stringify( + (0, import_smithy_client4.take)(input, { + clientId: [], + clientSecret: [], + code: [], + codeVerifier: [], + deviceCode: [], + grantType: [], + redirectUri: [], + refreshToken: [], + scope: (_) => (0, import_smithy_client4._json)(_) + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); + }, "se_CreateTokenCommand"); + var se_CreateTokenWithIAMCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = { + "content-type": "application/json" + }; + b.bp("/token"); + const query = (0, import_smithy_client4.map)({ + [_ai]: [, "t"] + }); + let body; + body = JSON.stringify( + (0, import_smithy_client4.take)(input, { + assertion: [], + clientId: [], + code: [], + codeVerifier: [], + grantType: [], + redirectUri: [], + refreshToken: [], + requestedTokenType: [], + scope: (_) => (0, import_smithy_client4._json)(_), + subjectToken: [], + subjectTokenType: [] + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); + }, "se_CreateTokenWithIAMCommand"); + var se_RegisterClientCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = { + "content-type": "application/json" + }; + b.bp("/client/register"); + let body; + body = JSON.stringify( + (0, import_smithy_client4.take)(input, { + clientName: [], + clientType: [], + entitledApplicationArn: [], + grantTypes: (_) => (0, import_smithy_client4._json)(_), + issuerUrl: [], + redirectUris: (_) => (0, import_smithy_client4._json)(_), + scopes: (_) => (0, import_smithy_client4._json)(_) + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); + }, "se_RegisterClientCommand"); + var se_StartDeviceAuthorizationCommand = /* @__PURE__ */ __name(async (input, context) => { + const b = (0, import_core3.requestBuilder)(input, context); + const headers = { + "content-type": "application/json" + }; + b.bp("/device_authorization"); + let body; + body = JSON.stringify( + (0, import_smithy_client4.take)(input, { + clientId: [], + clientSecret: [], + startUrl: [] + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); + }, "se_StartDeviceAuthorizationCommand"); + var de_CreateTokenCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + accessToken: import_smithy_client4.expectString, + expiresIn: import_smithy_client4.expectInt32, + idToken: import_smithy_client4.expectString, + refreshToken: import_smithy_client4.expectString, + tokenType: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + return contents; + }, "de_CreateTokenCommand"); + var de_CreateTokenWithIAMCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetCallerIdentityCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetCallerIdentityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "GetCallerIdentity" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + accessToken: import_smithy_client4.expectString, + expiresIn: import_smithy_client4.expectInt32, + idToken: import_smithy_client4.expectString, + issuedTokenType: import_smithy_client4.expectString, + refreshToken: import_smithy_client4.expectString, + scope: import_smithy_client4._json, + tokenType: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + return contents; + }, "de_CreateTokenWithIAMCommand"); + var de_RegisterClientCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_query_1.se_GetCallerIdentityCommand)(input, context); + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + authorizationEndpoint: import_smithy_client4.expectString, + clientId: import_smithy_client4.expectString, + clientIdIssuedAt: import_smithy_client4.expectLong, + clientSecret: import_smithy_client4.expectString, + clientSecretExpiresAt: import_smithy_client4.expectLong, + tokenEndpoint: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + return contents; + }, "de_RegisterClientCommand"); + var de_StartDeviceAuthorizationCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_query_1.de_GetCallerIdentityCommand)(output, context); + const contents = (0, import_smithy_client4.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.expectObject)(await (0, import_core22.parseJsonBody)(output.body, context)), "body"); + const doc = (0, import_smithy_client4.take)(data, { + deviceCode: import_smithy_client4.expectString, + expiresIn: import_smithy_client4.expectInt32, + interval: import_smithy_client4.expectInt32, + userCode: import_smithy_client4.expectString, + verificationUri: import_smithy_client4.expectString, + verificationUriComplete: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + return contents; + }, "de_StartDeviceAuthorizationCommand"); + var de_CommandError = /* @__PURE__ */ __name(async (output, context) => { + const parsedOutput = { + ...output, + body: await (0, import_core22.parseJsonErrorBody)(output.body, context) + }; + const errorCode = (0, import_core22.loadRestJsonErrorCode)(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssooidc#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "AuthorizationPendingException": + case "com.amazonaws.ssooidc#AuthorizationPendingException": + throw await de_AuthorizationPendingExceptionRes(parsedOutput, context); + case "ExpiredTokenException": + case "com.amazonaws.ssooidc#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidGrantException": + case "com.amazonaws.ssooidc#InvalidGrantException": + throw await de_InvalidGrantExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + case "UnsupportedGrantTypeException": + case "com.amazonaws.ssooidc#UnsupportedGrantTypeException": + throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context); + case "InvalidRequestRegionException": + case "com.amazonaws.ssooidc#InvalidRequestRegionException": + throw await de_InvalidRequestRegionExceptionRes(parsedOutput, context); + case "InvalidClientMetadataException": + case "com.amazonaws.ssooidc#InvalidClientMetadataException": + throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); + case "InvalidRedirectUriException": + case "com.amazonaws.ssooidc#InvalidRedirectUriException": + throw await de_InvalidRedirectUriExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); } + }, "de_CommandError"); + var throwDefaultError = (0, import_smithy_client4.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_AccessDeniedExceptionRes"); + var de_AuthorizationPendingExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_AuthorizationPendingExceptionRes"); + var de_ExpiredTokenExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_ExpiredTokenExceptionRes"); + var de_InternalServerExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InternalServerException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InternalServerExceptionRes"); + var de_InvalidClientExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidClientExceptionRes"); + var de_InvalidClientMetadataExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientMetadataException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidClientMetadataExceptionRes"); + var de_InvalidGrantExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidGrantException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidGrantExceptionRes"); + var de_InvalidRedirectUriExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRedirectUriException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidRedirectUriExceptionRes"); + var de_InvalidRequestExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidRequestExceptionRes"); + var de_InvalidRequestRegionExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + endpoint: import_smithy_client4.expectString, + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString, + region: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRequestRegionException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidRequestRegionExceptionRes"); + var de_InvalidScopeExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidScopeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_InvalidScopeExceptionRes"); + var de_SlowDownExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new SlowDownException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_SlowDownExceptionRes"); + var de_UnauthorizedClientExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new UnauthorizedClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_UnauthorizedClientExceptionRes"); + var de_UnsupportedGrantTypeExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const contents = (0, import_smithy_client4.map)({}); + const data = parsedOutput.body; + const doc = (0, import_smithy_client4.take)(data, { + error: import_smithy_client4.expectString, + error_description: import_smithy_client4.expectString + }); + Object.assign(contents, doc); + const exception = new UnsupportedGrantTypeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, import_smithy_client4.decorateServiceException)(exception, parsedOutput.body); + }, "de_UnsupportedGrantTypeExceptionRes"); + var deserializeMetadata = /* @__PURE__ */ __name((output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }), "deserializeMetadata"); + var _ai = "aws_iam"; + var _CreateTokenCommand = class _CreateTokenCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSSOOIDCService", "CreateToken", {}).n("SSOOIDCClient", "CreateTokenCommand").f(CreateTokenRequestFilterSensitiveLog, CreateTokenResponseFilterSensitiveLog).ser(se_CreateTokenCommand).de(de_CreateTokenCommand).build() { + }; + __name(_CreateTokenCommand, "CreateTokenCommand"); + var CreateTokenCommand = _CreateTokenCommand; + var _CreateTokenWithIAMCommand = class _CreateTokenWithIAMCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSSOOIDCService", "CreateTokenWithIAM", {}).n("SSOOIDCClient", "CreateTokenWithIAMCommand").f(CreateTokenWithIAMRequestFilterSensitiveLog, CreateTokenWithIAMResponseFilterSensitiveLog).ser(se_CreateTokenWithIAMCommand).de(de_CreateTokenWithIAMCommand).build() { + }; + __name(_CreateTokenWithIAMCommand, "CreateTokenWithIAMCommand"); + var CreateTokenWithIAMCommand = _CreateTokenWithIAMCommand; + var _RegisterClientCommand = class _RegisterClientCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSSOOIDCService", "RegisterClient", {}).n("SSOOIDCClient", "RegisterClientCommand").f(void 0, RegisterClientResponseFilterSensitiveLog).ser(se_RegisterClientCommand).de(de_RegisterClientCommand).build() { + }; + __name(_RegisterClientCommand, "RegisterClientCommand"); + var RegisterClientCommand = _RegisterClientCommand; + var _StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSSOOIDCService", "StartDeviceAuthorization", {}).n("SSOOIDCClient", "StartDeviceAuthorizationCommand").f(StartDeviceAuthorizationRequestFilterSensitiveLog, void 0).ser(se_StartDeviceAuthorizationCommand).de(de_StartDeviceAuthorizationCommand).build() { }; - exports2.GetCallerIdentityCommand = GetCallerIdentityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js -var require_GetFederationTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetFederationTokenCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var GetFederationTokenCommand = class _GetFederationTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetFederationTokenCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetFederationTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "GetFederationToken" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_GetFederationTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_GetFederationTokenCommand)(output, context); - } + __name(_StartDeviceAuthorizationCommand, "StartDeviceAuthorizationCommand"); + var StartDeviceAuthorizationCommand = _StartDeviceAuthorizationCommand; + var commands = { + CreateTokenCommand, + CreateTokenWithIAMCommand, + RegisterClientCommand, + StartDeviceAuthorizationCommand + }; + var _SSOOIDC = class _SSOOIDC extends SSOOIDCClient { }; - exports2.GetFederationTokenCommand = GetFederationTokenCommand; + __name(_SSOOIDC, "SSOOIDC"); + var SSOOIDC = _SSOOIDC; + (0, import_smithy_client4.createAggregatedClient)(commands, SSOOIDC); } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js -var require_GetSessionTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js"(exports2) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js +var require_dist_cjs46 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetSessionTokenCommand = exports2.$Command = void 0; - var middleware_signing_1 = require_dist_cjs15(); - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var GetSessionTokenCommand = class _GetSessionTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - constructor(input) { - super(); - this.input = input; + return to; + }; + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + fromSso: () => fromSso, + fromStatic: () => fromStatic, + nodeProvider: () => nodeProvider + }); + module2.exports = __toCommonJS2(src_exports); + var EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; + var ssoOidcClientsHash = {}; + var getSsoOidcClient = /* @__PURE__ */ __name(async (ssoRegion) => { + const { SSOOIDCClient } = await Promise.resolve().then(() => __toESM2(require_dist_cjs45())); + if (ssoOidcClientsHash[ssoRegion]) { + return ssoOidcClientsHash[ssoRegion]; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetSessionTokenCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetSessionTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSSecurityTokenServiceV20110615", - operation: "GetSessionToken" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const ssoOidcClient = new SSOOIDCClient({ region: ssoRegion }); + ssoOidcClientsHash[ssoRegion] = ssoOidcClient; + return ssoOidcClient; + }, "getSsoOidcClient"); + var getNewSsoOidcToken = /* @__PURE__ */ __name(async (ssoToken, ssoRegion) => { + const { CreateTokenCommand } = await Promise.resolve().then(() => __toESM2(require_dist_cjs45())); + const ssoOidcClient = await getSsoOidcClient(ssoRegion); + return ssoOidcClient.send( + new CreateTokenCommand({ + clientId: ssoToken.clientId, + clientSecret: ssoToken.clientSecret, + refreshToken: ssoToken.refreshToken, + grantType: "refresh_token" + }) + ); + }, "getNewSsoOidcToken"); + var import_property_provider2 = require_dist_cjs24(); + var validateTokenExpiry = /* @__PURE__ */ __name((token) => { + if (token.expiration && token.expiration.getTime() < Date.now()) { + throw new import_property_provider2.TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false); } - serialize(input, context) { - return (0, Aws_query_1.se_GetSessionTokenCommand)(input, context); + }, "validateTokenExpiry"); + var validateTokenKey = /* @__PURE__ */ __name((key, value, forRefresh = false) => { + if (typeof value === "undefined") { + throw new import_property_provider2.TokenProviderError( + `Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${REFRESH_MESSAGE}`, + false + ); } - deserialize(output, context) { - return (0, Aws_query_1.de_GetSessionTokenCommand)(output, context); + }, "validateTokenKey"); + var import_shared_ini_file_loader = require_dist_cjs25(); + var import_fs = require("fs"); + var { writeFile } = import_fs.promises; + var writeSSOTokenToFile = /* @__PURE__ */ __name((id, ssoToken) => { + const tokenFilepath = (0, import_shared_ini_file_loader.getSSOTokenFilepath)(id); + const tokenString = JSON.stringify(ssoToken, null, 2); + return writeFile(tokenFilepath, tokenString); + }, "writeSSOTokenToFile"); + var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0); + var fromSso = /* @__PURE__ */ __name((init = {}) => async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/token-providers - fromSso"); + const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init); + const profileName = (0, import_shared_ini_file_loader.getProfileName)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new import_property_provider2.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); + } else if (!profile["sso_session"]) { + throw new import_property_provider2.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); } - }; - exports2.GetSessionTokenCommand = GetSessionTokenCommand; + const ssoSessionName = profile["sso_session"]; + const ssoSessions = await (0, import_shared_ini_file_loader.loadSsoSessionData)(init); + const ssoSession = ssoSessions[ssoSessionName]; + if (!ssoSession) { + throw new import_property_provider2.TokenProviderError( + `Sso session '${ssoSessionName}' could not be found in shared credentials file.`, + false + ); + } + for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { + if (!ssoSession[ssoSessionRequiredKey]) { + throw new import_property_provider2.TokenProviderError( + `Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, + false + ); + } + } + const ssoStartUrl = ssoSession["sso_start_url"]; + const ssoRegion = ssoSession["sso_region"]; + let ssoToken; + try { + ssoToken = await (0, import_shared_ini_file_loader.getSSOTokenFromFile)(ssoSessionName); + } catch (e) { + throw new import_property_provider2.TokenProviderError( + `The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, + false + ); + } + validateTokenKey("accessToken", ssoToken.accessToken); + validateTokenKey("expiresAt", ssoToken.expiresAt); + const { accessToken, expiresAt } = ssoToken; + const existingToken = { token: accessToken, expiration: new Date(expiresAt) }; + if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) { + return existingToken; + } + if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1e3) { + validateTokenExpiry(existingToken); + return existingToken; + } + validateTokenKey("clientId", ssoToken.clientId, true); + validateTokenKey("clientSecret", ssoToken.clientSecret, true); + validateTokenKey("refreshToken", ssoToken.refreshToken, true); + try { + lastRefreshAttemptTime.setTime(Date.now()); + const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion); + validateTokenKey("accessToken", newSsoOidcToken.accessToken); + validateTokenKey("expiresIn", newSsoOidcToken.expiresIn); + const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); + try { + await writeSSOTokenToFile(ssoSessionName, { + ...ssoToken, + accessToken: newSsoOidcToken.accessToken, + expiresAt: newTokenExpiration.toISOString(), + refreshToken: newSsoOidcToken.refreshToken + }); + } catch (error) { + } + return { + token: newSsoOidcToken.accessToken, + expiration: newTokenExpiration + }; + } catch (error) { + validateTokenExpiry(existingToken); + return existingToken; + } + }, "fromSso"); + var fromStatic = /* @__PURE__ */ __name(({ token, logger }) => async () => { + logger == null ? void 0 : logger.debug("@aws-sdk/token-providers - fromStatic"); + if (!token || !token.token) { + throw new import_property_provider2.TokenProviderError(`Please pass a valid token to fromStatic`, false); + } + return token; + }, "fromStatic"); + var nodeProvider = /* @__PURE__ */ __name((init = {}) => (0, import_property_provider2.memoize)( + (0, import_property_provider2.chain)(fromSso(init), async () => { + throw new import_property_provider2.TokenProviderError("Could not load token from any providers", false); + }), + (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, + (token) => token.expiration !== void 0 + ), "nodeProvider"); } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js -var require_STS = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js"(exports2) { +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +var require_dist_cjs47 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.STS = void 0; - var smithy_client_1 = require_dist_cjs38(); - var AssumeRoleCommand_1 = require_AssumeRoleCommand(); - var AssumeRoleWithSAMLCommand_1 = require_AssumeRoleWithSAMLCommand(); - var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); - var DecodeAuthorizationMessageCommand_1 = require_DecodeAuthorizationMessageCommand(); - var GetAccessKeyInfoCommand_1 = require_GetAccessKeyInfoCommand(); - var GetCallerIdentityCommand_1 = require_GetCallerIdentityCommand(); - var GetFederationTokenCommand_1 = require_GetFederationTokenCommand(); - var GetSessionTokenCommand_1 = require_GetSessionTokenCommand(); - var STSClient_1 = require_STSClient(); - var commands = { - AssumeRoleCommand: AssumeRoleCommand_1.AssumeRoleCommand, - AssumeRoleWithSAMLCommand: AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand, - AssumeRoleWithWebIdentityCommand: AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand, - DecodeAuthorizationMessageCommand: DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand, - GetAccessKeyInfoCommand: GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand, - GetCallerIdentityCommand: GetCallerIdentityCommand_1.GetCallerIdentityCommand, - GetFederationTokenCommand: GetFederationTokenCommand_1.GetFederationTokenCommand, - GetSessionTokenCommand: GetSessionTokenCommand_1.GetSessionTokenCommand + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __esm2 = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; }; - var STS = class extends STSClient_1.STSClient { + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - exports2.STS = STS; - (0, smithy_client_1.createAggregatedClient)(commands, STS); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AssumeRoleCommand(), exports2); - tslib_1.__exportStar(require_AssumeRoleWithSAMLCommand(), exports2); - tslib_1.__exportStar(require_AssumeRoleWithWebIdentityCommand(), exports2); - tslib_1.__exportStar(require_DecodeAuthorizationMessageCommand(), exports2); - tslib_1.__exportStar(require_GetAccessKeyInfoCommand(), exports2); - tslib_1.__exportStar(require_GetCallerIdentityCommand(), exports2); - tslib_1.__exportStar(require_GetFederationTokenCommand(), exports2); - tslib_1.__exportStar(require_GetSessionTokenCommand(), exports2); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var loadSso_exports = {}; + __export2(loadSso_exports, { + GetRoleCredentialsCommand: () => import_client_sso.GetRoleCredentialsCommand, + SSOClient: () => import_client_sso.SSOClient + }); + var import_client_sso; + var init_loadSso = __esm2({ + "src/loadSso.ts"() { + "use strict"; + import_client_sso = require_dist_cjs44(); + } + }); + var src_exports = {}; + __export2(src_exports, { + fromSSO: () => fromSSO, + isSsoProfile: () => isSsoProfile, + validateSsoProfile: () => validateSsoProfile + }); + module2.exports = __toCommonJS2(src_exports); + var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile"); + var import_token_providers = require_dist_cjs46(); + var import_property_provider2 = require_dist_cjs24(); + var import_shared_ini_file_loader = require_dist_cjs25(); + var SHOULD_FAIL_CREDENTIAL_CHAIN = false; + var resolveSSOCredentials = /* @__PURE__ */ __name(async ({ + ssoStartUrl, + ssoSession, + ssoAccountId, + ssoRegion, + ssoRoleName, + ssoClient, + clientConfig, + profile, + logger + }) => { + let token; + const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; + if (ssoSession) { + try { + const _token = await (0, import_token_providers.fromSso)({ profile })(); + token = { + accessToken: _token.token, + expiresAt: new Date(_token.expiration).toISOString() + }; + } catch (e) { + throw new import_property_provider2.CredentialsProviderError(e.message, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + } else { + try { + token = await (0, import_shared_ini_file_loader.getSSOTokenFromFile)(ssoStartUrl); + } catch (e) { + throw new import_property_provider2.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + } + if (new Date(token.expiresAt).getTime() - Date.now() <= 0) { + throw new import_property_provider2.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + const { accessToken } = token; + const { SSOClient: SSOClient2, GetRoleCredentialsCommand: GetRoleCredentialsCommand2 } = await Promise.resolve().then(() => (init_loadSso(), loadSso_exports)); + const sso = ssoClient || new SSOClient2( + Object.assign({}, clientConfig ?? {}, { + region: (clientConfig == null ? void 0 : clientConfig.region) ?? ssoRegion + }) + ); + let ssoResp; + try { + ssoResp = await sso.send( + new GetRoleCredentialsCommand2({ + accountId: ssoAccountId, + roleName: ssoRoleName, + accessToken + }) + ); + } catch (e) { + throw new import_property_provider2.CredentialsProviderError(e, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + const { + roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {} + } = ssoResp; + if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { + throw new import_property_provider2.CredentialsProviderError("SSO returns an invalid temporary credential.", { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + return { + accessKeyId, + secretAccessKey, + sessionToken, + expiration: new Date(expiration), + ...credentialScope && { credentialScope }, + ...accountId && { accountId } + }; + }, "resolveSSOCredentials"); + var validateSsoProfile = /* @__PURE__ */ __name((profile, logger) => { + const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; + if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { + throw new import_property_provider2.CredentialsProviderError( + `Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join( + ", " + )} +Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, + { tryNextLink: false, logger } + ); + } + return profile; + }, "validateSsoProfile"); + var fromSSO = /* @__PURE__ */ __name((init = {}) => async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-sso - fromSSO"); + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init; + const { ssoClient } = init; + const profileName = (0, import_shared_ini_file_loader.getProfileName)(init); + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new import_property_provider2.CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger }); + } + if (!isSsoProfile(profile)) { + throw new import_property_provider2.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, { + logger: init.logger + }); + } + if (profile == null ? void 0 : profile.sso_session) { + const ssoSessions = await (0, import_shared_ini_file_loader.loadSsoSessionData)(init); + const session = ssoSessions[profile.sso_session]; + const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; + if (ssoRegion && ssoRegion !== session.sso_region) { + throw new import_property_provider2.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, { + tryNextLink: false, + logger: init.logger + }); + } + if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { + throw new import_property_provider2.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, { + tryNextLink: false, + logger: init.logger + }); + } + profile.sso_region = session.sso_region; + profile.sso_start_url = session.sso_start_url; + } + const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile( + profile, + init.logger + ); + return resolveSSOCredentials({ + ssoStartUrl: sso_start_url, + ssoSession: sso_session, + ssoAccountId: sso_account_id, + ssoRegion: sso_region, + ssoRoleName: sso_role_name, + ssoClient, + clientConfig: init.clientConfig, + profile: profileName + }); + } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { + throw new import_property_provider2.CredentialsProviderError( + 'Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', + { tryNextLink: false, logger: init.logger } + ); + } else { + return resolveSSOCredentials({ + ssoStartUrl, + ssoSession, + ssoAccountId, + ssoRegion, + ssoRoleName, + ssoClient, + clientConfig: init.clientConfig, + profile: profileName + }); + } + }, "fromSSO"); } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js +var require_httpAuthSchemeProvider4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_0(), exports2); + exports2.resolveHttpAuthSchemeConfig = exports2.resolveStsAuthConfig = exports2.defaultSTSHttpAuthSchemeProvider = exports2.defaultSTSHttpAuthSchemeParametersProvider = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var util_middleware_1 = require_dist_cjs10(); + var STSClient_1 = require_STSClient(); + var defaultSTSHttpAuthSchemeParametersProvider = async (config, context, input) => { + return { + operation: (0, util_middleware_1.getSmithyContext)(context).operation, + region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }; + exports2.defaultSTSHttpAuthSchemeParametersProvider = defaultSTSHttpAuthSchemeParametersProvider; + function createAwsAuthSigv4HttpAuthOption(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "sts", + region: authParameters.region + }, + propertiesExtractor: (config, context) => ({ + signingProperties: { + config, + context + } + }) + }; + } + function createSmithyApiNoAuthHttpAuthOption(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; + } + var defaultSTSHttpAuthSchemeProvider = (authParameters) => { + const options = []; + switch (authParameters.operation) { + case "AssumeRoleWithSAML": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + case "AssumeRoleWithWebIdentity": { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + default: { + options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); + } + } + return options; + }; + exports2.defaultSTSHttpAuthSchemeProvider = defaultSTSHttpAuthSchemeProvider; + var resolveStsAuthConfig = (input) => ({ + ...input, + stsClientCtor: STSClient_1.STSClient + }); + exports2.resolveStsAuthConfig = resolveStsAuthConfig; + var resolveHttpAuthSchemeConfig = (config) => { + const config_0 = (0, exports2.resolveStsAuthConfig)(config); + const config_1 = (0, core_1.resolveAwsSdkSigV4Config)(config_0); + return { + ...config_1 + }; + }; + exports2.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js -var require_defaultRoleAssumers = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decorateDefaultCredentialProvider = exports2.getDefaultRoleAssumerWithWebIdentity = exports2.getDefaultRoleAssumer = void 0; - var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var STSClient_1 = require_STSClient(); - var getCustomizableStsClientCtor = (baseCtor, customizations) => { - if (!customizations) - return baseCtor; - else - return class CustomizableSTSClient extends baseCtor { - constructor(config) { - super(config); - for (const customization of customizations) { - this.middlewareStack.use(customization); - } - } - }; + exports2.commonParams = exports2.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + useGlobalEndpoint: options.useGlobalEndpoint ?? false, + defaultSigningName: "sts" + }; + }; + exports2.resolveClientEndpointParameters = resolveClientEndpointParameters; + exports2.commonParams = { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } }; - var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); - exports2.getDefaultRoleAssumer = getDefaultRoleAssumer; - var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); - exports2.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; - var decorateDefaultCredentialProvider = (provider) => (input) => provider({ - roleAssumer: (0, exports2.getDefaultRoleAssumer)(input), - roleAssumerWithWebIdentity: (0, exports2.getDefaultRoleAssumerWithWebIdentity)(input), - ...input - }); - exports2.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; } }); -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs55 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.STSServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_STSClient(), exports2); - tslib_1.__exportStar(require_STS(), exports2); - tslib_1.__exportStar(require_commands2(), exports2); - tslib_1.__exportStar(require_models2(), exports2); - tslib_1.__exportStar(require_defaultRoleAssumers(), exports2); - var STSServiceException_1 = require_STSServiceException(); - Object.defineProperty(exports2, "STSServiceException", { enumerable: true, get: function() { - return STSServiceException_1.STSServiceException; - } }); +// ../../../node_modules/@aws-sdk/client-sts/package.json +var require_package4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/package.json"(exports2, module2) { + module2.exports = { + name: "@aws-sdk/client-sts", + description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", + version: "3.632.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "node ../../scripts/compilation/inline client-sts", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "rimraf ./dist-types tsconfig.types.tsbuildinfo && tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sts", + test: "yarn test:unit", + "test:unit": "jest" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.632.0", + "@aws-sdk/core": "3.629.0", + "@aws-sdk/credential-provider-node": "3.632.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.632.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.632.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + tslib: "^2.6.2" + }, + devDependencies: { + "@tsconfig/node16": "16.1.3", + "@types/node": "^16.18.96", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typescript: "~4.9.5" + }, + engines: { + node: ">=16.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sts" + } + }; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js var require_ruleset3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports2) { + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ruleSet = void 0; - var r = "required"; - var s = "fn"; - var t = "argv"; - var u = "ref"; - var a = "isSet"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = "PartitionResult"; - var f = { [r]: false, "type": "String" }; - var g = { [r]: true, "default": false, "type": "Boolean" }; - var h = { [u]: "Endpoint" }; - var i = { [s]: "booleanEquals", [t]: [{ [u]: "UseFIPS" }, true] }; - var j = { [s]: "booleanEquals", [t]: [{ [u]: "UseDualStack" }, true] }; - var k = {}; - var l = { [u]: "Region" }; - var m = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsFIPS"] }] }; - var n = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsDualStack"] }] }; - var o = [i]; - var p = [j]; - var q = [l]; - var _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [s]: a, [t]: [h] }], type: b, rules: [{ conditions: o, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { conditions: p, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }, { conditions: [{ [s]: a, [t]: q }], type: b, rules: [{ conditions: [{ [s]: "aws.partition", [t]: q, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [m, n], type: b, rules: [{ endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ conditions: [{ [s]: "stringEquals", [t]: [l, "us-gov-west-1"] }], endpoint: { url: "https://states.us-gov-west-1.amazonaws.com", properties: k, headers: k }, type: d }, { endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://states.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }; + var F = "required"; + var G = "type"; + var H = "fn"; + var I = "argv"; + var J = "ref"; + var a = false; + var b = true; + var c = "booleanEquals"; + var d = "stringEquals"; + var e = "sigv4"; + var f = "sts"; + var g = "us-east-1"; + var h = "endpoint"; + var i = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; + var j = "tree"; + var k = "error"; + var l = "getAttr"; + var m = { [F]: false, [G]: "String" }; + var n = { [F]: true, "default": false, [G]: "Boolean" }; + var o = { [J]: "Endpoint" }; + var p = { [H]: "isSet", [I]: [{ [J]: "Region" }] }; + var q = { [J]: "Region" }; + var r = { [H]: "aws.partition", [I]: [q], "assign": "PartitionResult" }; + var s = { [J]: "UseFIPS" }; + var t = { [J]: "UseDualStack" }; + var u = { "url": "https://sts.amazonaws.com", "properties": { "authSchemes": [{ "name": e, "signingName": f, "signingRegion": g }] }, "headers": {} }; + var v = {}; + var w = { "conditions": [{ [H]: d, [I]: [q, "aws-global"] }], [h]: u, [G]: h }; + var x = { [H]: c, [I]: [s, true] }; + var y = { [H]: c, [I]: [t, true] }; + var z = { [H]: l, [I]: [{ [J]: "PartitionResult" }, "supportsFIPS"] }; + var A = { [J]: "PartitionResult" }; + var B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, "supportsDualStack"] }] }; + var C = [{ [H]: "isSet", [I]: [o] }]; + var D = [x]; + var E = [y]; + var _data = { version: "1.0", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: "UseGlobalEndpoint" }, b] }, { [H]: "not", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], rules: [{ conditions: [{ [H]: d, [I]: [q, "ap-northeast-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "ap-south-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "ap-southeast-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "ap-southeast-2"] }], endpoint: u, [G]: h }, w, { conditions: [{ [H]: d, [I]: [q, "ca-central-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "eu-central-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "eu-north-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "eu-west-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "eu-west-2"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "eu-west-3"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "sa-east-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, g] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "us-east-2"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "us-west-1"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, "us-west-2"] }], endpoint: u, [G]: h }, { endpoint: { url: i, properties: { authSchemes: [{ name: e, signingName: f, signingRegion: "{Region}" }] }, headers: v }, [G]: h }], [G]: j }, { conditions: C, rules: [{ conditions: D, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G]: k }, { conditions: E, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: h }], [G]: j }, { conditions: [p], rules: [{ conditions: [r], rules: [{ conditions: [x, y], rules: [{ conditions: [{ [H]: c, [I]: [b, z] }, B], rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: h }], [G]: j }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G]: k }], [G]: j }, { conditions: D, rules: [{ conditions: [{ [H]: c, [I]: [z, b] }], rules: [{ conditions: [{ [H]: d, [I]: [{ [H]: l, [I]: [A, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v, headers: v }, [G]: h }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v, headers: v }, [G]: h }], [G]: j }, { error: "FIPS is enabled but this partition does not support FIPS", [G]: k }], [G]: j }, { conditions: E, rules: [{ conditions: [B], rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: h }], [G]: j }, { error: "DualStack is enabled but this partition does not support DualStack", [G]: k }], [G]: j }, w, { endpoint: { url: i, properties: v, headers: v }, [G]: h }], [G]: j }], [G]: j }, { error: "Invalid Configuration: Missing Region", [G]: k }] }; exports2.ruleSet = _data; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js var require_endpointResolver3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports2) { + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs17(); + var util_endpoints_1 = require_dist_cjs7(); + var util_endpoints_2 = require_dist_cjs6(); var ruleset_1 = require_ruleset3(); var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + return (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, logger: context.logger }); }; exports2.defaultEndpointResolver = defaultEndpointResolver; + util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js var require_runtimeConfig_shared3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports2) { + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs38(); - var url_parser_1 = require_dist_cjs26(); - var util_base64_1 = require_dist_cjs34(); - var util_utf8_1 = require_dist_cjs10(); + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var core_2 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var smithy_client_1 = require_dist_cjs33(); + var url_parser_1 = require_dist_cjs28(); + var util_base64_1 = require_dist_cjs16(); + var util_utf8_1 = require_dist_cjs15(); + var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider4(); var endpointResolver_1 = require_endpointResolver3(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2016-11-23", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - extensions: config?.extensions ?? [], - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SFN", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); + var getRuntimeConfig = (config) => { + return { + apiVersion: "2011-06-15", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + extensions: config?.extensions ?? [], + httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeProvider, + httpAuthSchemes: config?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), + signer: new core_1.AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), + signer: new core_2.NoAuthSigner() + } + ], + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "STS", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }; + }; exports2.getRuntimeConfig = getRuntimeConfig; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js var require_runtimeConfig3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports2) { + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs55(); - var credential_provider_node_1 = require_dist_cjs54(); - var util_user_agent_node_1 = require_dist_cjs44(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs45(); - var middleware_retry_1 = require_dist_cjs39(); - var node_config_provider_1 = require_dist_cjs24(); - var node_http_handler_1 = require_dist_cjs36(); - var util_body_length_node_1 = require_dist_cjs46(); + var package_json_1 = tslib_1.__importDefault(require_package4()); + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var credential_provider_node_1 = require_dist_cjs52(); + var util_user_agent_node_1 = require_dist_cjs39(); + var config_resolver_1 = require_dist_cjs11(); + var core_2 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var hash_node_1 = require_dist_cjs40(); + var middleware_retry_1 = require_dist_cjs34(); + var node_config_provider_1 = require_dist_cjs26(); + var node_http_handler_1 = require_dist_cjs19(); + var util_body_length_node_1 = require_dist_cjs41(); var util_retry_1 = require_dist_cjs31(); var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); - var smithy_client_1 = require_dist_cjs38(); - var util_defaults_mode_node_1 = require_dist_cjs47(); - var smithy_client_2 = require_dist_cjs38(); + var smithy_client_1 = require_dist_cjs33(); + var util_defaults_mode_node_1 = require_dist_cjs42(); + var smithy_client_2 = require_dist_cjs33(); var getRuntimeConfig = (config) => { (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + (0, core_1.emitWarningIfUnsupportedVersion)(process.version); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + credentialDefaultProvider: config?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider, defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + httpAuthSchemes: config?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await (0, credential_provider_node_1.defaultProvider)(idProps?.__config || {})()), + signer: new core_1.AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), + signer: new core_2.NoAuthSigner() + } + ], maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider), retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE @@ -17304,5573 +16291,5551 @@ var require_runtimeConfig3 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeExtensions.js -var require_runtimeExtensions3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeExtensions.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthExtensionConfiguration.js +var require_httpAuthExtensionConfiguration = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthExtensionConfiguration.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.resolveHttpAuthRuntimeConfig = exports2.getHttpAuthExtensionConfiguration = void 0; + var getHttpAuthExtensionConfiguration = (runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }; + exports2.getHttpAuthExtensionConfiguration = getHttpAuthExtensionConfiguration; + var resolveHttpAuthRuntimeConfig = (config) => { + return { + httpAuthSchemes: config.httpAuthSchemes(), + httpAuthSchemeProvider: config.httpAuthSchemeProvider(), + credentials: config.credentials() + }; + }; + exports2.resolveHttpAuthRuntimeConfig = resolveHttpAuthRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeExtensions.js +var require_runtimeExtensions = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeExtensions.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveRuntimeExtensions = void 0; - var region_config_resolver_1 = require_dist_cjs48(); + var region_config_resolver_1 = require_dist_cjs43(); var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); + var smithy_client_1 = require_dist_cjs33(); + var httpAuthExtensionConfiguration_1 = require_httpAuthExtensionConfiguration(); var asPartial = (t) => t; var resolveRuntimeExtensions = (runtimeConfig, extensions) => { const extensionConfiguration = { ...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)), ...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)), - ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)) + ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, httpAuthExtensionConfiguration_1.getHttpAuthExtensionConfiguration)(runtimeConfig)) }; extensions.forEach((extension) => extension.configure(extensionConfiguration)); return { ...runtimeConfig, ...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), ...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration), - ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration) + ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), + ...(0, httpAuthExtensionConfiguration_1.resolveHttpAuthRuntimeConfig)(extensionConfiguration) }; }; exports2.resolveRuntimeExtensions = resolveRuntimeExtensions; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js -var require_SFNClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js +var require_STSClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SFNClient = exports2.__Client = void 0; + exports2.STSClient = exports2.__Client = void 0; var middleware_host_header_1 = require_dist_cjs3(); var middleware_logger_1 = require_dist_cjs4(); var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_signing_1 = require_dist_cjs15(); - var middleware_user_agent_1 = require_dist_cjs18(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); + var middleware_user_agent_1 = require_dist_cjs8(); + var config_resolver_1 = require_dist_cjs11(); + var core_1 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var middleware_content_length_1 = require_dist_cjs23(); var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_retry_1 = require_dist_cjs39(); - var smithy_client_1 = require_dist_cjs38(); + var middleware_retry_1 = require_dist_cjs34(); + var smithy_client_1 = require_dist_cjs33(); Object.defineProperty(exports2, "__Client", { enumerable: true, get: function() { return smithy_client_1.Client; } }); + var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider4(); var EndpointParameters_1 = require_EndpointParameters(); var runtimeConfig_1 = require_runtimeConfig3(); - var runtimeExtensions_1 = require_runtimeExtensions3(); - var SFNClient = class extends smithy_client_1.Client { + var runtimeExtensions_1 = require_runtimeExtensions(); + var STSClient2 = class extends smithy_client_1.Client { constructor(...[configuration]) { const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_2 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_1); + const _config_3 = (0, middleware_retry_1.resolveRetryConfig)(_config_2); + const _config_4 = (0, config_resolver_1.resolveRegionConfig)(_config_3); const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5); - const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); + const _config_6 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_5); + const _config_7 = (0, httpAuthSchemeProvider_1.resolveHttpAuthSchemeConfig)(_config_6); const _config_8 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_7, configuration?.extensions || []); super(_config_8); this.config = _config_8; + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + this.middlewareStack.use((0, core_1.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, { + httpAuthSchemeParametersProvider: httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: async (config) => new core_1.DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config.credentials + }) + })); + this.middlewareStack.use((0, core_1.getHttpSigningPlugin)(this.config)); } destroy() { super.destroy(); } }; - exports2.SFNClient = SFNClient; + exports2.STSClient = STSClient2; } }); -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js -var require_SFNServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js"(exports2) { +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js +var require_dist_cjs48 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SFNServiceException = exports2.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SFNServiceException = class _SFNServiceException extends smithy_client_1.ServiceException { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + AssumeRoleCommand: () => AssumeRoleCommand, + AssumeRoleResponseFilterSensitiveLog: () => AssumeRoleResponseFilterSensitiveLog, + AssumeRoleWithSAMLCommand: () => AssumeRoleWithSAMLCommand, + AssumeRoleWithSAMLRequestFilterSensitiveLog: () => AssumeRoleWithSAMLRequestFilterSensitiveLog, + AssumeRoleWithSAMLResponseFilterSensitiveLog: () => AssumeRoleWithSAMLResponseFilterSensitiveLog, + AssumeRoleWithWebIdentityCommand: () => AssumeRoleWithWebIdentityCommand, + AssumeRoleWithWebIdentityRequestFilterSensitiveLog: () => AssumeRoleWithWebIdentityRequestFilterSensitiveLog, + AssumeRoleWithWebIdentityResponseFilterSensitiveLog: () => AssumeRoleWithWebIdentityResponseFilterSensitiveLog, + ClientInputEndpointParameters: () => import_EndpointParameters9.ClientInputEndpointParameters, + CredentialsFilterSensitiveLog: () => CredentialsFilterSensitiveLog, + DecodeAuthorizationMessageCommand: () => DecodeAuthorizationMessageCommand, + ExpiredTokenException: () => ExpiredTokenException, + GetAccessKeyInfoCommand: () => GetAccessKeyInfoCommand, + GetCallerIdentityCommand: () => GetCallerIdentityCommand, + GetFederationTokenCommand: () => GetFederationTokenCommand, + GetFederationTokenResponseFilterSensitiveLog: () => GetFederationTokenResponseFilterSensitiveLog, + GetSessionTokenCommand: () => GetSessionTokenCommand, + GetSessionTokenResponseFilterSensitiveLog: () => GetSessionTokenResponseFilterSensitiveLog, + IDPCommunicationErrorException: () => IDPCommunicationErrorException, + IDPRejectedClaimException: () => IDPRejectedClaimException, + InvalidAuthorizationMessageException: () => InvalidAuthorizationMessageException, + InvalidIdentityTokenException: () => InvalidIdentityTokenException, + MalformedPolicyDocumentException: () => MalformedPolicyDocumentException, + PackedPolicyTooLargeException: () => PackedPolicyTooLargeException, + RegionDisabledException: () => RegionDisabledException, + STS: () => STS, + STSServiceException: () => STSServiceException, + decorateDefaultCredentialProvider: () => decorateDefaultCredentialProvider, + getDefaultRoleAssumer: () => getDefaultRoleAssumer2, + getDefaultRoleAssumerWithWebIdentity: () => getDefaultRoleAssumerWithWebIdentity2 + }); + module2.exports = __toCommonJS2(src_exports); + __reExport(src_exports, require_STSClient(), module2.exports); + var import_middleware_endpoint = require_dist_cjs29(); + var import_middleware_serde2 = require_dist_cjs12(); + var import_EndpointParameters = require_EndpointParameters(); + var import_smithy_client4 = require_dist_cjs33(); + var _STSServiceException = class _STSServiceException2 extends import_smithy_client4.ServiceException { + /** + * @internal + */ constructor(options) { super(options); - Object.setPrototypeOf(this, _SFNServiceException.prototype); + Object.setPrototypeOf(this, _STSServiceException2.prototype); } }; - exports2.SFNServiceException = SFNServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ExecutionStartedEventDetailsFilterSensitiveLog = exports2.ExecutionFailedEventDetailsFilterSensitiveLog = exports2.ExecutionAbortedEventDetailsFilterSensitiveLog = exports2.GetActivityTaskOutputFilterSensitiveLog = exports2.DescribeStateMachineForExecutionOutputFilterSensitiveLog = exports2.DescribeStateMachineAliasOutputFilterSensitiveLog = exports2.DescribeStateMachineOutputFilterSensitiveLog = exports2.DescribeExecutionOutputFilterSensitiveLog = exports2.CreateStateMachineAliasInputFilterSensitiveLog = exports2.CreateStateMachineInputFilterSensitiveLog = exports2.ActivityTimedOutEventDetailsFilterSensitiveLog = exports2.ActivitySucceededEventDetailsFilterSensitiveLog = exports2.ActivityScheduleFailedEventDetailsFilterSensitiveLog = exports2.ActivityScheduledEventDetailsFilterSensitiveLog = exports2.ActivityFailedEventDetailsFilterSensitiveLog = exports2.MissingRequiredParameter = exports2.SyncExecutionStatus = exports2.InvalidExecutionInput = exports2.ExecutionLimitExceeded = exports2.ExecutionAlreadyExists = exports2.InvalidOutput = exports2.TaskTimedOut = exports2.TaskDoesNotExist = exports2.InvalidToken = exports2.HistoryEventType = exports2.StateMachineDoesNotExist = exports2.StateMachineStatus = exports2.MapRunStatus = exports2.ExecutionDoesNotExist = exports2.ExecutionStatus = exports2.ServiceQuotaExceededException = exports2.ResourceNotFound = exports2.ValidationException = exports2.ValidationExceptionReason = exports2.StateMachineTypeNotSupported = exports2.StateMachineLimitExceeded = exports2.StateMachineDeleting = exports2.StateMachineAlreadyExists = exports2.InvalidTracingConfiguration = exports2.InvalidLoggingConfiguration = exports2.InvalidDefinition = exports2.InvalidArn = exports2.StateMachineType = exports2.LogLevel = exports2.ConflictException = exports2.TooManyTags = exports2.InvalidName = exports2.ActivityWorkerLimitExceeded = exports2.ActivityLimitExceeded = exports2.ActivityDoesNotExist = void 0; - exports2.UpdateStateMachineAliasInputFilterSensitiveLog = exports2.UpdateStateMachineInputFilterSensitiveLog = exports2.StopExecutionInputFilterSensitiveLog = exports2.StartSyncExecutionOutputFilterSensitiveLog = exports2.StartSyncExecutionInputFilterSensitiveLog = exports2.StartExecutionInputFilterSensitiveLog = exports2.SendTaskSuccessInputFilterSensitiveLog = exports2.SendTaskFailureInputFilterSensitiveLog = exports2.PublishStateMachineVersionInputFilterSensitiveLog = exports2.GetExecutionHistoryOutputFilterSensitiveLog = exports2.HistoryEventFilterSensitiveLog = exports2.TaskTimedOutEventDetailsFilterSensitiveLog = exports2.TaskSucceededEventDetailsFilterSensitiveLog = exports2.TaskSubmittedEventDetailsFilterSensitiveLog = exports2.TaskSubmitFailedEventDetailsFilterSensitiveLog = exports2.TaskStartFailedEventDetailsFilterSensitiveLog = exports2.TaskScheduledEventDetailsFilterSensitiveLog = exports2.TaskFailedEventDetailsFilterSensitiveLog = exports2.StateExitedEventDetailsFilterSensitiveLog = exports2.StateEnteredEventDetailsFilterSensitiveLog = exports2.MapRunFailedEventDetailsFilterSensitiveLog = exports2.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = exports2.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = exports2.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = exports2.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = exports2.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = exports2.LambdaFunctionFailedEventDetailsFilterSensitiveLog = exports2.ExecutionTimedOutEventDetailsFilterSensitiveLog = exports2.ExecutionSucceededEventDetailsFilterSensitiveLog = void 0; - var smithy_client_1 = require_dist_cjs38(); - var SFNServiceException_1 = require_SFNServiceException(); - var ActivityDoesNotExist = class _ActivityDoesNotExist extends SFNServiceException_1.SFNServiceException { + __name(_STSServiceException, "STSServiceException"); + var STSServiceException = _STSServiceException; + var _ExpiredTokenException = class _ExpiredTokenException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "ActivityDoesNotExist", + name: "ExpiredTokenException", $fault: "client", ...opts }); - this.name = "ActivityDoesNotExist"; + this.name = "ExpiredTokenException"; this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityDoesNotExist.prototype); + Object.setPrototypeOf(this, _ExpiredTokenException2.prototype); } }; - exports2.ActivityDoesNotExist = ActivityDoesNotExist; - var ActivityLimitExceeded = class _ActivityLimitExceeded extends SFNServiceException_1.SFNServiceException { + __name(_ExpiredTokenException, "ExpiredTokenException"); + var ExpiredTokenException = _ExpiredTokenException; + var _MalformedPolicyDocumentException = class _MalformedPolicyDocumentException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "ActivityLimitExceeded", + name: "MalformedPolicyDocumentException", $fault: "client", ...opts }); - this.name = "ActivityLimitExceeded"; + this.name = "MalformedPolicyDocumentException"; this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityLimitExceeded.prototype); + Object.setPrototypeOf(this, _MalformedPolicyDocumentException2.prototype); } }; - exports2.ActivityLimitExceeded = ActivityLimitExceeded; - var ActivityWorkerLimitExceeded = class _ActivityWorkerLimitExceeded extends SFNServiceException_1.SFNServiceException { + __name(_MalformedPolicyDocumentException, "MalformedPolicyDocumentException"); + var MalformedPolicyDocumentException = _MalformedPolicyDocumentException; + var _PackedPolicyTooLargeException = class _PackedPolicyTooLargeException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "ActivityWorkerLimitExceeded", + name: "PackedPolicyTooLargeException", $fault: "client", ...opts }); - this.name = "ActivityWorkerLimitExceeded"; + this.name = "PackedPolicyTooLargeException"; this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityWorkerLimitExceeded.prototype); + Object.setPrototypeOf(this, _PackedPolicyTooLargeException2.prototype); } }; - exports2.ActivityWorkerLimitExceeded = ActivityWorkerLimitExceeded; - var InvalidName = class _InvalidName extends SFNServiceException_1.SFNServiceException { + __name(_PackedPolicyTooLargeException, "PackedPolicyTooLargeException"); + var PackedPolicyTooLargeException = _PackedPolicyTooLargeException; + var _RegionDisabledException = class _RegionDisabledException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "InvalidName", + name: "RegionDisabledException", $fault: "client", ...opts }); - this.name = "InvalidName"; + this.name = "RegionDisabledException"; this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidName.prototype); + Object.setPrototypeOf(this, _RegionDisabledException2.prototype); } }; - exports2.InvalidName = InvalidName; - var TooManyTags = class _TooManyTags extends SFNServiceException_1.SFNServiceException { + __name(_RegionDisabledException, "RegionDisabledException"); + var RegionDisabledException = _RegionDisabledException; + var _IDPRejectedClaimException = class _IDPRejectedClaimException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "TooManyTags", + name: "IDPRejectedClaimException", $fault: "client", ...opts }); - this.name = "TooManyTags"; + this.name = "IDPRejectedClaimException"; this.$fault = "client"; - Object.setPrototypeOf(this, _TooManyTags.prototype); - this.resourceName = opts.resourceName; + Object.setPrototypeOf(this, _IDPRejectedClaimException2.prototype); } }; - exports2.TooManyTags = TooManyTags; - var ConflictException = class _ConflictException extends SFNServiceException_1.SFNServiceException { + __name(_IDPRejectedClaimException, "IDPRejectedClaimException"); + var IDPRejectedClaimException = _IDPRejectedClaimException; + var _InvalidIdentityTokenException = class _InvalidIdentityTokenException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "ConflictException", + name: "InvalidIdentityTokenException", $fault: "client", ...opts }); - this.name = "ConflictException"; + this.name = "InvalidIdentityTokenException"; this.$fault = "client"; - Object.setPrototypeOf(this, _ConflictException.prototype); + Object.setPrototypeOf(this, _InvalidIdentityTokenException2.prototype); } }; - exports2.ConflictException = ConflictException; - exports2.LogLevel = { - ALL: "ALL", - ERROR: "ERROR", - FATAL: "FATAL", - OFF: "OFF" - }; - exports2.StateMachineType = { - EXPRESS: "EXPRESS", - STANDARD: "STANDARD" - }; - var InvalidArn = class _InvalidArn extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidArn", - $fault: "client", - ...opts - }); - this.name = "InvalidArn"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidArn.prototype); - } - }; - exports2.InvalidArn = InvalidArn; - var InvalidDefinition = class _InvalidDefinition extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidDefinition", - $fault: "client", - ...opts - }); - this.name = "InvalidDefinition"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidDefinition.prototype); - } - }; - exports2.InvalidDefinition = InvalidDefinition; - var InvalidLoggingConfiguration = class _InvalidLoggingConfiguration extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidLoggingConfiguration", - $fault: "client", - ...opts - }); - this.name = "InvalidLoggingConfiguration"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidLoggingConfiguration.prototype); - } - }; - exports2.InvalidLoggingConfiguration = InvalidLoggingConfiguration; - var InvalidTracingConfiguration = class _InvalidTracingConfiguration extends SFNServiceException_1.SFNServiceException { + __name(_InvalidIdentityTokenException, "InvalidIdentityTokenException"); + var InvalidIdentityTokenException = _InvalidIdentityTokenException; + var _IDPCommunicationErrorException = class _IDPCommunicationErrorException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "InvalidTracingConfiguration", + name: "IDPCommunicationErrorException", $fault: "client", ...opts }); - this.name = "InvalidTracingConfiguration"; + this.name = "IDPCommunicationErrorException"; this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidTracingConfiguration.prototype); + Object.setPrototypeOf(this, _IDPCommunicationErrorException2.prototype); } }; - exports2.InvalidTracingConfiguration = InvalidTracingConfiguration; - var StateMachineAlreadyExists = class _StateMachineAlreadyExists extends SFNServiceException_1.SFNServiceException { + __name(_IDPCommunicationErrorException, "IDPCommunicationErrorException"); + var IDPCommunicationErrorException = _IDPCommunicationErrorException; + var _InvalidAuthorizationMessageException = class _InvalidAuthorizationMessageException2 extends STSServiceException { + /** + * @internal + */ constructor(opts) { super({ - name: "StateMachineAlreadyExists", + name: "InvalidAuthorizationMessageException", $fault: "client", ...opts }); - this.name = "StateMachineAlreadyExists"; + this.name = "InvalidAuthorizationMessageException"; this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineAlreadyExists.prototype); + Object.setPrototypeOf(this, _InvalidAuthorizationMessageException2.prototype); } }; - exports2.StateMachineAlreadyExists = StateMachineAlreadyExists; - var StateMachineDeleting = class _StateMachineDeleting extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineDeleting", - $fault: "client", - ...opts - }); - this.name = "StateMachineDeleting"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineDeleting.prototype); + __name(_InvalidAuthorizationMessageException, "InvalidAuthorizationMessageException"); + var InvalidAuthorizationMessageException = _InvalidAuthorizationMessageException; + var CredentialsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.SecretAccessKey && { SecretAccessKey: import_smithy_client4.SENSITIVE_STRING } + }), "CredentialsFilterSensitiveLog"); + var AssumeRoleResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) } + }), "AssumeRoleResponseFilterSensitiveLog"); + var AssumeRoleWithSAMLRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.SAMLAssertion && { SAMLAssertion: import_smithy_client4.SENSITIVE_STRING } + }), "AssumeRoleWithSAMLRequestFilterSensitiveLog"); + var AssumeRoleWithSAMLResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) } + }), "AssumeRoleWithSAMLResponseFilterSensitiveLog"); + var AssumeRoleWithWebIdentityRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.WebIdentityToken && { WebIdentityToken: import_smithy_client4.SENSITIVE_STRING } + }), "AssumeRoleWithWebIdentityRequestFilterSensitiveLog"); + var AssumeRoleWithWebIdentityResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) } + }), "AssumeRoleWithWebIdentityResponseFilterSensitiveLog"); + var GetFederationTokenResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) } + }), "GetFederationTokenResponseFilterSensitiveLog"); + var GetSessionTokenResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) } + }), "GetSessionTokenResponseFilterSensitiveLog"); + var import_core3 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var import_protocol_http8 = require_dist_cjs2(); + var se_AssumeRoleCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleRequest(input, context), + [_A]: _AR, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_AssumeRoleCommand"); + var se_AssumeRoleWithSAMLCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithSAMLRequest(input, context), + [_A]: _ARWSAML, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_AssumeRoleWithSAMLCommand"); + var se_AssumeRoleWithWebIdentityCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithWebIdentityRequest(input, context), + [_A]: _ARWWI, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_AssumeRoleWithWebIdentityCommand"); + var se_DecodeAuthorizationMessageCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_DecodeAuthorizationMessageRequest(input, context), + [_A]: _DAM, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DecodeAuthorizationMessageCommand"); + var se_GetAccessKeyInfoCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetAccessKeyInfoRequest(input, context), + [_A]: _GAKI, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetAccessKeyInfoCommand"); + var se_GetCallerIdentityCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetCallerIdentityRequest(input, context), + [_A]: _GCI, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetCallerIdentityCommand"); + var se_GetFederationTokenCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetFederationTokenRequest(input, context), + [_A]: _GFT, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetFederationTokenCommand"); + var se_GetSessionTokenCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetSessionTokenRequest(input, context), + [_A]: _GST, + [_V]: _ + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetSessionTokenCommand"); + var de_AssumeRoleCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.StateMachineDeleting = StateMachineDeleting; - var StateMachineLimitExceeded = class _StateMachineLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineLimitExceeded", - $fault: "client", - ...opts - }); - this.name = "StateMachineLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineLimitExceeded.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_AssumeRoleResponse(data.AssumeRoleResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_AssumeRoleCommand"); + var de_AssumeRoleWithSAMLCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.StateMachineLimitExceeded = StateMachineLimitExceeded; - var StateMachineTypeNotSupported = class _StateMachineTypeNotSupported extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineTypeNotSupported", - $fault: "client", - ...opts - }); - this.name = "StateMachineTypeNotSupported"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineTypeNotSupported.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_AssumeRoleWithSAMLCommand"); + var de_AssumeRoleWithWebIdentityCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.StateMachineTypeNotSupported = StateMachineTypeNotSupported; - exports2.ValidationExceptionReason = { - API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", - CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", - INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", - MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER" - }; - var ValidationException = class _ValidationException extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ValidationException", - $fault: "client", - ...opts - }); - this.name = "ValidationException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ValidationException.prototype); - this.reason = opts.reason; + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_AssumeRoleWithWebIdentityCommand"); + var de_DecodeAuthorizationMessageCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ValidationException = ValidationException; - var ResourceNotFound = class _ResourceNotFound extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ResourceNotFound", - $fault: "client", - ...opts - }); - this.name = "ResourceNotFound"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ResourceNotFound.prototype); - this.resourceName = opts.resourceName; + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DecodeAuthorizationMessageCommand"); + var de_GetAccessKeyInfoCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ResourceNotFound = ResourceNotFound; - var ServiceQuotaExceededException = class _ServiceQuotaExceededException extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ServiceQuotaExceededException", - $fault: "client", - ...opts - }); - this.name = "ServiceQuotaExceededException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ServiceQuotaExceededException.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetAccessKeyInfoCommand"); + var de_GetCallerIdentityCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ServiceQuotaExceededException = ServiceQuotaExceededException; - exports2.ExecutionStatus = { - ABORTED: "ABORTED", - FAILED: "FAILED", - RUNNING: "RUNNING", - SUCCEEDED: "SUCCEEDED", - TIMED_OUT: "TIMED_OUT" - }; - var ExecutionDoesNotExist = class _ExecutionDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "ExecutionDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionDoesNotExist.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetCallerIdentityCommand"); + var de_GetFederationTokenCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ExecutionDoesNotExist = ExecutionDoesNotExist; - exports2.MapRunStatus = { - ABORTED: "ABORTED", - FAILED: "FAILED", - RUNNING: "RUNNING", - SUCCEEDED: "SUCCEEDED" - }; - exports2.StateMachineStatus = { - ACTIVE: "ACTIVE", - DELETING: "DELETING" - }; - var StateMachineDoesNotExist = class _StateMachineDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "StateMachineDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineDoesNotExist.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetFederationTokenCommand"); + var de_GetSessionTokenCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.StateMachineDoesNotExist = StateMachineDoesNotExist; - exports2.HistoryEventType = { - ActivityFailed: "ActivityFailed", - ActivityScheduleFailed: "ActivityScheduleFailed", - ActivityScheduled: "ActivityScheduled", - ActivityStarted: "ActivityStarted", - ActivitySucceeded: "ActivitySucceeded", - ActivityTimedOut: "ActivityTimedOut", - ChoiceStateEntered: "ChoiceStateEntered", - ChoiceStateExited: "ChoiceStateExited", - ExecutionAborted: "ExecutionAborted", - ExecutionFailed: "ExecutionFailed", - ExecutionStarted: "ExecutionStarted", - ExecutionSucceeded: "ExecutionSucceeded", - ExecutionTimedOut: "ExecutionTimedOut", - FailStateEntered: "FailStateEntered", - LambdaFunctionFailed: "LambdaFunctionFailed", - LambdaFunctionScheduleFailed: "LambdaFunctionScheduleFailed", - LambdaFunctionScheduled: "LambdaFunctionScheduled", - LambdaFunctionStartFailed: "LambdaFunctionStartFailed", - LambdaFunctionStarted: "LambdaFunctionStarted", - LambdaFunctionSucceeded: "LambdaFunctionSucceeded", - LambdaFunctionTimedOut: "LambdaFunctionTimedOut", - MapIterationAborted: "MapIterationAborted", - MapIterationFailed: "MapIterationFailed", - MapIterationStarted: "MapIterationStarted", - MapIterationSucceeded: "MapIterationSucceeded", - MapRunAborted: "MapRunAborted", - MapRunFailed: "MapRunFailed", - MapRunStarted: "MapRunStarted", - MapRunSucceeded: "MapRunSucceeded", - MapStateAborted: "MapStateAborted", - MapStateEntered: "MapStateEntered", - MapStateExited: "MapStateExited", - MapStateFailed: "MapStateFailed", - MapStateStarted: "MapStateStarted", - MapStateSucceeded: "MapStateSucceeded", - ParallelStateAborted: "ParallelStateAborted", - ParallelStateEntered: "ParallelStateEntered", - ParallelStateExited: "ParallelStateExited", - ParallelStateFailed: "ParallelStateFailed", - ParallelStateStarted: "ParallelStateStarted", - ParallelStateSucceeded: "ParallelStateSucceeded", - PassStateEntered: "PassStateEntered", - PassStateExited: "PassStateExited", - SucceedStateEntered: "SucceedStateEntered", - SucceedStateExited: "SucceedStateExited", - TaskFailed: "TaskFailed", - TaskScheduled: "TaskScheduled", - TaskStartFailed: "TaskStartFailed", - TaskStarted: "TaskStarted", - TaskStateAborted: "TaskStateAborted", - TaskStateEntered: "TaskStateEntered", - TaskStateExited: "TaskStateExited", - TaskSubmitFailed: "TaskSubmitFailed", - TaskSubmitted: "TaskSubmitted", - TaskSucceeded: "TaskSucceeded", - TaskTimedOut: "TaskTimedOut", - WaitStateAborted: "WaitStateAborted", - WaitStateEntered: "WaitStateEntered", - WaitStateExited: "WaitStateExited" - }; - var InvalidToken = class _InvalidToken extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidToken", - $fault: "client", - ...opts - }); - this.name = "InvalidToken"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidToken.prototype); + const data = await (0, import_core3.parseXmlBody)(output.body, context); + let contents = {}; + contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetSessionTokenCommand"); + var de_CommandError = /* @__PURE__ */ __name(async (output, context) => { + const parsedOutput = { + ...output, + body: await (0, import_core3.parseXmlErrorBody)(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + case "IDPRejectedClaim": + case "com.amazonaws.sts#IDPRejectedClaimException": + throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); + case "InvalidIdentityToken": + case "com.amazonaws.sts#InvalidIdentityTokenException": + throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); + case "IDPCommunicationError": + case "com.amazonaws.sts#IDPCommunicationErrorException": + throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context); + case "InvalidAuthorizationMessageException": + case "com.amazonaws.sts#InvalidAuthorizationMessageException": + throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); } - }; - exports2.InvalidToken = InvalidToken; - var TaskDoesNotExist = class _TaskDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "TaskDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "TaskDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TaskDoesNotExist.prototype); + }, "de_CommandError"); + var de_ExpiredTokenExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_ExpiredTokenException(body.Error, context); + const exception = new ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ExpiredTokenExceptionRes"); + var de_IDPCommunicationErrorExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPCommunicationErrorException(body.Error, context); + const exception = new IDPCommunicationErrorException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_IDPCommunicationErrorExceptionRes"); + var de_IDPRejectedClaimExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPRejectedClaimException(body.Error, context); + const exception = new IDPRejectedClaimException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_IDPRejectedClaimExceptionRes"); + var de_InvalidAuthorizationMessageExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidAuthorizationMessageException(body.Error, context); + const exception = new InvalidAuthorizationMessageException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidAuthorizationMessageExceptionRes"); + var de_InvalidIdentityTokenExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidIdentityTokenException(body.Error, context); + const exception = new InvalidIdentityTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidIdentityTokenExceptionRes"); + var de_MalformedPolicyDocumentExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_MalformedPolicyDocumentException(body.Error, context); + const exception = new MalformedPolicyDocumentException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_MalformedPolicyDocumentExceptionRes"); + var de_PackedPolicyTooLargeExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_PackedPolicyTooLargeException(body.Error, context); + const exception = new PackedPolicyTooLargeException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_PackedPolicyTooLargeExceptionRes"); + var de_RegionDisabledExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_RegionDisabledException(body.Error, context); + const exception = new RegionDisabledException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_RegionDisabledExceptionRes"); + var se_AssumeRoleRequest = /* @__PURE__ */ __name((input, context) => { + var _a2, _b, _c, _d; + const entries = {}; + if (input[_RA] != null) { + entries[_RA] = input[_RA]; } - }; - exports2.TaskDoesNotExist = TaskDoesNotExist; - var TaskTimedOut = class _TaskTimedOut extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "TaskTimedOut", - $fault: "client", - ...opts - }); - this.name = "TaskTimedOut"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TaskTimedOut.prototype); + if (input[_RSN] != null) { + entries[_RSN] = input[_RSN]; } - }; - exports2.TaskTimedOut = TaskTimedOut; - var InvalidOutput = class _InvalidOutput extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidOutput", - $fault: "client", - ...opts + if (input[_PA] != null) { + const memberEntries = se_policyDescriptorListType(input[_PA], context); + if (((_a2 = input[_PA]) == null ? void 0 : _a2.length) === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; }); - this.name = "InvalidOutput"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidOutput.prototype); } - }; - exports2.InvalidOutput = InvalidOutput; - var ExecutionAlreadyExists = class _ExecutionAlreadyExists extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionAlreadyExists", - $fault: "client", - ...opts + if (input[_P] != null) { + entries[_P] = input[_P]; + } + if (input[_DS] != null) { + entries[_DS] = input[_DS]; + } + if (input[_T] != null) { + const memberEntries = se_tagListType(input[_T], context); + if (((_b = input[_T]) == null ? void 0 : _b.length) === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; }); - this.name = "ExecutionAlreadyExists"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionAlreadyExists.prototype); } - }; - exports2.ExecutionAlreadyExists = ExecutionAlreadyExists; - var ExecutionLimitExceeded = class _ExecutionLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionLimitExceeded", - $fault: "client", - ...opts + if (input[_TTK] != null) { + const memberEntries = se_tagKeyListType(input[_TTK], context); + if (((_c = input[_TTK]) == null ? void 0 : _c.length) === 0) { + entries.TransitiveTagKeys = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TransitiveTagKeys.${key}`; + entries[loc] = value; }); - this.name = "ExecutionLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionLimitExceeded.prototype); } - }; - exports2.ExecutionLimitExceeded = ExecutionLimitExceeded; - var InvalidExecutionInput = class _InvalidExecutionInput extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidExecutionInput", - $fault: "client", - ...opts + if (input[_EI] != null) { + entries[_EI] = input[_EI]; + } + if (input[_SN] != null) { + entries[_SN] = input[_SN]; + } + if (input[_TC] != null) { + entries[_TC] = input[_TC]; + } + if (input[_SI] != null) { + entries[_SI] = input[_SI]; + } + if (input[_PC] != null) { + const memberEntries = se_ProvidedContextsListType(input[_PC], context); + if (((_d = input[_PC]) == null ? void 0 : _d.length) === 0) { + entries.ProvidedContexts = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProvidedContexts.${key}`; + entries[loc] = value; }); - this.name = "InvalidExecutionInput"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidExecutionInput.prototype); } - }; - exports2.InvalidExecutionInput = InvalidExecutionInput; - exports2.SyncExecutionStatus = { - FAILED: "FAILED", - SUCCEEDED: "SUCCEEDED", - TIMED_OUT: "TIMED_OUT" - }; - var MissingRequiredParameter = class _MissingRequiredParameter extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "MissingRequiredParameter", - $fault: "client", - ...opts + return entries; + }, "se_AssumeRoleRequest"); + var se_AssumeRoleWithSAMLRequest = /* @__PURE__ */ __name((input, context) => { + var _a2; + const entries = {}; + if (input[_RA] != null) { + entries[_RA] = input[_RA]; + } + if (input[_PAr] != null) { + entries[_PAr] = input[_PAr]; + } + if (input[_SAMLA] != null) { + entries[_SAMLA] = input[_SAMLA]; + } + if (input[_PA] != null) { + const memberEntries = se_policyDescriptorListType(input[_PA], context); + if (((_a2 = input[_PA]) == null ? void 0 : _a2.length) === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; }); - this.name = "MissingRequiredParameter"; - this.$fault = "client"; - Object.setPrototypeOf(this, _MissingRequiredParameter.prototype); } - }; - exports2.MissingRequiredParameter = MissingRequiredParameter; - var ActivityFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ActivityFailedEventDetailsFilterSensitiveLog = ActivityFailedEventDetailsFilterSensitiveLog; - var ActivityScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ActivityScheduledEventDetailsFilterSensitiveLog = ActivityScheduledEventDetailsFilterSensitiveLog; - var ActivityScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ActivityScheduleFailedEventDetailsFilterSensitiveLog = ActivityScheduleFailedEventDetailsFilterSensitiveLog; - var ActivitySucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ActivitySucceededEventDetailsFilterSensitiveLog = ActivitySucceededEventDetailsFilterSensitiveLog; - var ActivityTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ActivityTimedOutEventDetailsFilterSensitiveLog = ActivityTimedOutEventDetailsFilterSensitiveLog; - var CreateStateMachineInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } - }); - exports2.CreateStateMachineInputFilterSensitiveLog = CreateStateMachineInputFilterSensitiveLog; - var CreateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports2.CreateStateMachineAliasInputFilterSensitiveLog = CreateStateMachineAliasInputFilterSensitiveLog; - var DescribeExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING }, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.DescribeExecutionOutputFilterSensitiveLog = DescribeExecutionOutputFilterSensitiveLog; - var DescribeStateMachineOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports2.DescribeStateMachineOutputFilterSensitiveLog = DescribeStateMachineOutputFilterSensitiveLog; - var DescribeStateMachineAliasOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports2.DescribeStateMachineAliasOutputFilterSensitiveLog = DescribeStateMachineAliasOutputFilterSensitiveLog; - var DescribeStateMachineForExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING } - }); - exports2.DescribeStateMachineForExecutionOutputFilterSensitiveLog = DescribeStateMachineForExecutionOutputFilterSensitiveLog; - var GetActivityTaskOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.GetActivityTaskOutputFilterSensitiveLog = GetActivityTaskOutputFilterSensitiveLog; - var ExecutionAbortedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ExecutionAbortedEventDetailsFilterSensitiveLog = ExecutionAbortedEventDetailsFilterSensitiveLog; - var ExecutionFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ExecutionFailedEventDetailsFilterSensitiveLog = ExecutionFailedEventDetailsFilterSensitiveLog; - var ExecutionStartedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ExecutionStartedEventDetailsFilterSensitiveLog = ExecutionStartedEventDetailsFilterSensitiveLog; - var ExecutionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ExecutionSucceededEventDetailsFilterSensitiveLog = ExecutionSucceededEventDetailsFilterSensitiveLog; - var ExecutionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.ExecutionTimedOutEventDetailsFilterSensitiveLog = ExecutionTimedOutEventDetailsFilterSensitiveLog; - var LambdaFunctionFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionFailedEventDetailsFilterSensitiveLog = LambdaFunctionFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = LambdaFunctionScheduledEventDetailsFilterSensitiveLog; - var LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = LambdaFunctionStartFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = LambdaFunctionSucceededEventDetailsFilterSensitiveLog; - var LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = LambdaFunctionTimedOutEventDetailsFilterSensitiveLog; - var MapRunFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.MapRunFailedEventDetailsFilterSensitiveLog = MapRunFailedEventDetailsFilterSensitiveLog; - var StateEnteredEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StateEnteredEventDetailsFilterSensitiveLog = StateEnteredEventDetailsFilterSensitiveLog; - var StateExitedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StateExitedEventDetailsFilterSensitiveLog = StateExitedEventDetailsFilterSensitiveLog; - var TaskFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskFailedEventDetailsFilterSensitiveLog = TaskFailedEventDetailsFilterSensitiveLog; - var TaskScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.parameters && { parameters: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskScheduledEventDetailsFilterSensitiveLog = TaskScheduledEventDetailsFilterSensitiveLog; - var TaskStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskStartFailedEventDetailsFilterSensitiveLog = TaskStartFailedEventDetailsFilterSensitiveLog; - var TaskSubmitFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskSubmitFailedEventDetailsFilterSensitiveLog = TaskSubmitFailedEventDetailsFilterSensitiveLog; - var TaskSubmittedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskSubmittedEventDetailsFilterSensitiveLog = TaskSubmittedEventDetailsFilterSensitiveLog; - var TaskSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskSucceededEventDetailsFilterSensitiveLog = TaskSucceededEventDetailsFilterSensitiveLog; - var TaskTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.TaskTimedOutEventDetailsFilterSensitiveLog = TaskTimedOutEventDetailsFilterSensitiveLog; - var HistoryEventFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.activityFailedEventDetails && { - activityFailedEventDetails: (0, exports2.ActivityFailedEventDetailsFilterSensitiveLog)(obj.activityFailedEventDetails) - }, - ...obj.activityScheduleFailedEventDetails && { - activityScheduleFailedEventDetails: (0, exports2.ActivityScheduleFailedEventDetailsFilterSensitiveLog)(obj.activityScheduleFailedEventDetails) - }, - ...obj.activityScheduledEventDetails && { - activityScheduledEventDetails: (0, exports2.ActivityScheduledEventDetailsFilterSensitiveLog)(obj.activityScheduledEventDetails) - }, - ...obj.activitySucceededEventDetails && { - activitySucceededEventDetails: (0, exports2.ActivitySucceededEventDetailsFilterSensitiveLog)(obj.activitySucceededEventDetails) - }, - ...obj.activityTimedOutEventDetails && { - activityTimedOutEventDetails: (0, exports2.ActivityTimedOutEventDetailsFilterSensitiveLog)(obj.activityTimedOutEventDetails) - }, - ...obj.taskFailedEventDetails && { - taskFailedEventDetails: (0, exports2.TaskFailedEventDetailsFilterSensitiveLog)(obj.taskFailedEventDetails) - }, - ...obj.taskScheduledEventDetails && { - taskScheduledEventDetails: (0, exports2.TaskScheduledEventDetailsFilterSensitiveLog)(obj.taskScheduledEventDetails) - }, - ...obj.taskStartFailedEventDetails && { - taskStartFailedEventDetails: (0, exports2.TaskStartFailedEventDetailsFilterSensitiveLog)(obj.taskStartFailedEventDetails) - }, - ...obj.taskSubmitFailedEventDetails && { - taskSubmitFailedEventDetails: (0, exports2.TaskSubmitFailedEventDetailsFilterSensitiveLog)(obj.taskSubmitFailedEventDetails) - }, - ...obj.taskSubmittedEventDetails && { - taskSubmittedEventDetails: (0, exports2.TaskSubmittedEventDetailsFilterSensitiveLog)(obj.taskSubmittedEventDetails) - }, - ...obj.taskSucceededEventDetails && { - taskSucceededEventDetails: (0, exports2.TaskSucceededEventDetailsFilterSensitiveLog)(obj.taskSucceededEventDetails) - }, - ...obj.taskTimedOutEventDetails && { - taskTimedOutEventDetails: (0, exports2.TaskTimedOutEventDetailsFilterSensitiveLog)(obj.taskTimedOutEventDetails) - }, - ...obj.executionFailedEventDetails && { - executionFailedEventDetails: (0, exports2.ExecutionFailedEventDetailsFilterSensitiveLog)(obj.executionFailedEventDetails) - }, - ...obj.executionStartedEventDetails && { - executionStartedEventDetails: (0, exports2.ExecutionStartedEventDetailsFilterSensitiveLog)(obj.executionStartedEventDetails) - }, - ...obj.executionSucceededEventDetails && { - executionSucceededEventDetails: (0, exports2.ExecutionSucceededEventDetailsFilterSensitiveLog)(obj.executionSucceededEventDetails) - }, - ...obj.executionAbortedEventDetails && { - executionAbortedEventDetails: (0, exports2.ExecutionAbortedEventDetailsFilterSensitiveLog)(obj.executionAbortedEventDetails) - }, - ...obj.executionTimedOutEventDetails && { - executionTimedOutEventDetails: (0, exports2.ExecutionTimedOutEventDetailsFilterSensitiveLog)(obj.executionTimedOutEventDetails) - }, - ...obj.lambdaFunctionFailedEventDetails && { - lambdaFunctionFailedEventDetails: (0, exports2.LambdaFunctionFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionFailedEventDetails) - }, - ...obj.lambdaFunctionScheduleFailedEventDetails && { - lambdaFunctionScheduleFailedEventDetails: (0, exports2.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduleFailedEventDetails) - }, - ...obj.lambdaFunctionScheduledEventDetails && { - lambdaFunctionScheduledEventDetails: (0, exports2.LambdaFunctionScheduledEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduledEventDetails) - }, - ...obj.lambdaFunctionStartFailedEventDetails && { - lambdaFunctionStartFailedEventDetails: (0, exports2.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionStartFailedEventDetails) - }, - ...obj.lambdaFunctionSucceededEventDetails && { - lambdaFunctionSucceededEventDetails: (0, exports2.LambdaFunctionSucceededEventDetailsFilterSensitiveLog)(obj.lambdaFunctionSucceededEventDetails) - }, - ...obj.lambdaFunctionTimedOutEventDetails && { - lambdaFunctionTimedOutEventDetails: (0, exports2.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog)(obj.lambdaFunctionTimedOutEventDetails) - }, - ...obj.stateEnteredEventDetails && { - stateEnteredEventDetails: (0, exports2.StateEnteredEventDetailsFilterSensitiveLog)(obj.stateEnteredEventDetails) - }, - ...obj.stateExitedEventDetails && { - stateExitedEventDetails: (0, exports2.StateExitedEventDetailsFilterSensitiveLog)(obj.stateExitedEventDetails) - }, - ...obj.mapRunFailedEventDetails && { - mapRunFailedEventDetails: (0, exports2.MapRunFailedEventDetailsFilterSensitiveLog)(obj.mapRunFailedEventDetails) + if (input[_P] != null) { + entries[_P] = input[_P]; } - }); - exports2.HistoryEventFilterSensitiveLog = HistoryEventFilterSensitiveLog; - var GetExecutionHistoryOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.events && { events: obj.events.map((item) => (0, exports2.HistoryEventFilterSensitiveLog)(item)) } - }); - exports2.GetExecutionHistoryOutputFilterSensitiveLog = GetExecutionHistoryOutputFilterSensitiveLog; - var PublishStateMachineVersionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports2.PublishStateMachineVersionInputFilterSensitiveLog = PublishStateMachineVersionInputFilterSensitiveLog; - var SendTaskFailureInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.SendTaskFailureInputFilterSensitiveLog = SendTaskFailureInputFilterSensitiveLog; - var SendTaskSuccessInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.SendTaskSuccessInputFilterSensitiveLog = SendTaskSuccessInputFilterSensitiveLog; - var StartExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StartExecutionInputFilterSensitiveLog = StartExecutionInputFilterSensitiveLog; - var StartSyncExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StartSyncExecutionInputFilterSensitiveLog = StartSyncExecutionInputFilterSensitiveLog; - var StartSyncExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING }, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StartSyncExecutionOutputFilterSensitiveLog = StartSyncExecutionOutputFilterSensitiveLog; - var StopExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports2.StopExecutionInputFilterSensitiveLog = StopExecutionInputFilterSensitiveLog; - var UpdateStateMachineInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } - }); - exports2.UpdateStateMachineInputFilterSensitiveLog = UpdateStateMachineInputFilterSensitiveLog; - var UpdateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports2.UpdateStateMachineAliasInputFilterSensitiveLog = UpdateStateMachineAliasInputFilterSensitiveLog; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js -var require_Aws_json1_0 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.de_ListActivitiesCommand = exports2.de_GetExecutionHistoryCommand = exports2.de_GetActivityTaskCommand = exports2.de_DescribeStateMachineForExecutionCommand = exports2.de_DescribeStateMachineAliasCommand = exports2.de_DescribeStateMachineCommand = exports2.de_DescribeMapRunCommand = exports2.de_DescribeExecutionCommand = exports2.de_DescribeActivityCommand = exports2.de_DeleteStateMachineVersionCommand = exports2.de_DeleteStateMachineAliasCommand = exports2.de_DeleteStateMachineCommand = exports2.de_DeleteActivityCommand = exports2.de_CreateStateMachineAliasCommand = exports2.de_CreateStateMachineCommand = exports2.de_CreateActivityCommand = exports2.se_UpdateStateMachineAliasCommand = exports2.se_UpdateStateMachineCommand = exports2.se_UpdateMapRunCommand = exports2.se_UntagResourceCommand = exports2.se_TagResourceCommand = exports2.se_StopExecutionCommand = exports2.se_StartSyncExecutionCommand = exports2.se_StartExecutionCommand = exports2.se_SendTaskSuccessCommand = exports2.se_SendTaskHeartbeatCommand = exports2.se_SendTaskFailureCommand = exports2.se_PublishStateMachineVersionCommand = exports2.se_ListTagsForResourceCommand = exports2.se_ListStateMachineVersionsCommand = exports2.se_ListStateMachinesCommand = exports2.se_ListStateMachineAliasesCommand = exports2.se_ListMapRunsCommand = exports2.se_ListExecutionsCommand = exports2.se_ListActivitiesCommand = exports2.se_GetExecutionHistoryCommand = exports2.se_GetActivityTaskCommand = exports2.se_DescribeStateMachineForExecutionCommand = exports2.se_DescribeStateMachineAliasCommand = exports2.se_DescribeStateMachineCommand = exports2.se_DescribeMapRunCommand = exports2.se_DescribeExecutionCommand = exports2.se_DescribeActivityCommand = exports2.se_DeleteStateMachineVersionCommand = exports2.se_DeleteStateMachineAliasCommand = exports2.se_DeleteStateMachineCommand = exports2.se_DeleteActivityCommand = exports2.se_CreateStateMachineAliasCommand = exports2.se_CreateStateMachineCommand = exports2.se_CreateActivityCommand = void 0; - exports2.de_UpdateStateMachineAliasCommand = exports2.de_UpdateStateMachineCommand = exports2.de_UpdateMapRunCommand = exports2.de_UntagResourceCommand = exports2.de_TagResourceCommand = exports2.de_StopExecutionCommand = exports2.de_StartSyncExecutionCommand = exports2.de_StartExecutionCommand = exports2.de_SendTaskSuccessCommand = exports2.de_SendTaskHeartbeatCommand = exports2.de_SendTaskFailureCommand = exports2.de_PublishStateMachineVersionCommand = exports2.de_ListTagsForResourceCommand = exports2.de_ListStateMachineVersionsCommand = exports2.de_ListStateMachinesCommand = exports2.de_ListStateMachineAliasesCommand = exports2.de_ListMapRunsCommand = exports2.de_ListExecutionsCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs38(); - var models_0_1 = require_models_03(); - var SFNServiceException_1 = require_SFNServiceException(); - var se_CreateActivityCommand = async (input, context) => { - const headers = sharedHeaders("CreateActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_CreateActivityCommand = se_CreateActivityCommand; - var se_CreateStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("CreateStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_CreateStateMachineCommand = se_CreateStateMachineCommand; - var se_CreateStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("CreateStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_CreateStateMachineAliasCommand = se_CreateStateMachineAliasCommand; - var se_DeleteActivityCommand = async (input, context) => { - const headers = sharedHeaders("DeleteActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DeleteActivityCommand = se_DeleteActivityCommand; - var se_DeleteStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DeleteStateMachineCommand = se_DeleteStateMachineCommand; - var se_DeleteStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DeleteStateMachineAliasCommand = se_DeleteStateMachineAliasCommand; - var se_DeleteStateMachineVersionCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachineVersion"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DeleteStateMachineVersionCommand = se_DeleteStateMachineVersionCommand; - var se_DescribeActivityCommand = async (input, context) => { - const headers = sharedHeaders("DescribeActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeActivityCommand = se_DescribeActivityCommand; - var se_DescribeExecutionCommand = async (input, context) => { - const headers = sharedHeaders("DescribeExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeExecutionCommand = se_DescribeExecutionCommand; - var se_DescribeMapRunCommand = async (input, context) => { - const headers = sharedHeaders("DescribeMapRun"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeMapRunCommand = se_DescribeMapRunCommand; - var se_DescribeStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeStateMachineCommand = se_DescribeStateMachineCommand; - var se_DescribeStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeStateMachineAliasCommand = se_DescribeStateMachineAliasCommand; - var se_DescribeStateMachineForExecutionCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachineForExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_DescribeStateMachineForExecutionCommand = se_DescribeStateMachineForExecutionCommand; - var se_GetActivityTaskCommand = async (input, context) => { - const headers = sharedHeaders("GetActivityTask"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetActivityTaskCommand = se_GetActivityTaskCommand; - var se_GetExecutionHistoryCommand = async (input, context) => { - const headers = sharedHeaders("GetExecutionHistory"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_GetExecutionHistoryCommand = se_GetExecutionHistoryCommand; - var se_ListActivitiesCommand = async (input, context) => { - const headers = sharedHeaders("ListActivities"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListActivitiesCommand = se_ListActivitiesCommand; - var se_ListExecutionsCommand = async (input, context) => { - const headers = sharedHeaders("ListExecutions"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListExecutionsCommand = se_ListExecutionsCommand; - var se_ListMapRunsCommand = async (input, context) => { - const headers = sharedHeaders("ListMapRuns"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListMapRunsCommand = se_ListMapRunsCommand; - var se_ListStateMachineAliasesCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachineAliases"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListStateMachineAliasesCommand = se_ListStateMachineAliasesCommand; - var se_ListStateMachinesCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachines"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListStateMachinesCommand = se_ListStateMachinesCommand; - var se_ListStateMachineVersionsCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachineVersions"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListStateMachineVersionsCommand = se_ListStateMachineVersionsCommand; - var se_ListTagsForResourceCommand = async (input, context) => { - const headers = sharedHeaders("ListTagsForResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_ListTagsForResourceCommand = se_ListTagsForResourceCommand; - var se_PublishStateMachineVersionCommand = async (input, context) => { - const headers = sharedHeaders("PublishStateMachineVersion"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_PublishStateMachineVersionCommand = se_PublishStateMachineVersionCommand; - var se_SendTaskFailureCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskFailure"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_SendTaskFailureCommand = se_SendTaskFailureCommand; - var se_SendTaskHeartbeatCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskHeartbeat"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_SendTaskHeartbeatCommand = se_SendTaskHeartbeatCommand; - var se_SendTaskSuccessCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskSuccess"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_SendTaskSuccessCommand = se_SendTaskSuccessCommand; - var se_StartExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StartExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_StartExecutionCommand = se_StartExecutionCommand; - var se_StartSyncExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StartSyncExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - let { hostname: resolvedHostname } = await context.endpoint(); - if (context.disableHostPrefix !== true) { - resolvedHostname = "sync-" + resolvedHostname; - if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) { - throw new Error("ValidationError: prefixed hostname must be hostname compatible."); - } + if (input[_DS] != null) { + entries[_DS] = input[_DS]; } - return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); - }; - exports2.se_StartSyncExecutionCommand = se_StartSyncExecutionCommand; - var se_StopExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StopExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_StopExecutionCommand = se_StopExecutionCommand; - var se_TagResourceCommand = async (input, context) => { - const headers = sharedHeaders("TagResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_TagResourceCommand = se_TagResourceCommand; - var se_UntagResourceCommand = async (input, context) => { - const headers = sharedHeaders("UntagResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_UntagResourceCommand = se_UntagResourceCommand; - var se_UpdateMapRunCommand = async (input, context) => { - const headers = sharedHeaders("UpdateMapRun"); - let body; - body = JSON.stringify(se_UpdateMapRunInput(input, context)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_UpdateMapRunCommand = se_UpdateMapRunCommand; - var se_UpdateStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("UpdateStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_UpdateStateMachineCommand = se_UpdateStateMachineCommand; - var se_UpdateStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("UpdateStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports2.se_UpdateStateMachineAliasCommand = se_UpdateStateMachineAliasCommand; - var de_CreateActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateActivityCommandError(output, context); + return entries; + }, "se_AssumeRoleWithSAMLRequest"); + var se_AssumeRoleWithWebIdentityRequest = /* @__PURE__ */ __name((input, context) => { + var _a2; + const entries = {}; + if (input[_RA] != null) { + entries[_RA] = input[_RA]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateActivityOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_CreateActivityCommand = de_CreateActivityCommand; - var de_CreateActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityLimitExceeded": - case "com.amazonaws.sfn#ActivityLimitExceeded": - throw await de_ActivityLimitExceededRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_RSN] != null) { + entries[_RSN] = input[_RSN]; } - }; - var de_CreateStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateStateMachineCommandError(output, context); + if (input[_WIT] != null) { + entries[_WIT] = input[_WIT]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_CreateStateMachineCommand = de_CreateStateMachineCommand; - var de_CreateStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidDefinition": - case "com.amazonaws.sfn#InvalidDefinition": - throw await de_InvalidDefinitionRes(parsedOutput, context); - case "InvalidLoggingConfiguration": - case "com.amazonaws.sfn#InvalidLoggingConfiguration": - throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "InvalidTracingConfiguration": - case "com.amazonaws.sfn#InvalidTracingConfiguration": - throw await de_InvalidTracingConfigurationRes(parsedOutput, context); - case "StateMachineAlreadyExists": - case "com.amazonaws.sfn#StateMachineAlreadyExists": - throw await de_StateMachineAlreadyExistsRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineLimitExceeded": - case "com.amazonaws.sfn#StateMachineLimitExceeded": - throw await de_StateMachineLimitExceededRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_PI] != null) { + entries[_PI] = input[_PI]; } - }; - var de_CreateStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateStateMachineAliasCommandError(output, context); + if (input[_PA] != null) { + const memberEntries = se_policyDescriptorListType(input[_PA], context); + if (((_a2 = input[_PA]) == null ? void 0 : _a2.length) === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_CreateStateMachineAliasCommand = de_CreateStateMachineAliasCommand; - var de_CreateStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_P] != null) { + entries[_P] = input[_P]; } - }; - var de_DeleteActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteActivityCommandError(output, context); + if (input[_DS] != null) { + entries[_DS] = input[_DS]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DeleteActivityCommand = de_DeleteActivityCommand; - var de_DeleteActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_AssumeRoleWithWebIdentityRequest"); + var se_DecodeAuthorizationMessageRequest = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_EM] != null) { + entries[_EM] = input[_EM]; } - }; - var de_DeleteStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineCommandError(output, context); + return entries; + }, "se_DecodeAuthorizationMessageRequest"); + var se_GetAccessKeyInfoRequest = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_AKI] != null) { + entries[_AKI] = input[_AKI]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DeleteStateMachineCommand = de_DeleteStateMachineCommand; - var de_DeleteStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_GetAccessKeyInfoRequest"); + var se_GetCallerIdentityRequest = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + return entries; + }, "se_GetCallerIdentityRequest"); + var se_GetFederationTokenRequest = /* @__PURE__ */ __name((input, context) => { + var _a2, _b; + const entries = {}; + if (input[_N] != null) { + entries[_N] = input[_N]; } - }; - var de_DeleteStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineAliasCommandError(output, context); + if (input[_P] != null) { + entries[_P] = input[_P]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DeleteStateMachineAliasCommand = de_DeleteStateMachineAliasCommand; - var de_DeleteStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_PA] != null) { + const memberEntries = se_policyDescriptorListType(input[_PA], context); + if (((_a2 = input[_PA]) == null ? void 0 : _a2.length) === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); } - }; - var de_DeleteStateMachineVersionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineVersionCommandError(output, context); + if (input[_DS] != null) { + entries[_DS] = input[_DS]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DeleteStateMachineVersionCommand = de_DeleteStateMachineVersionCommand; - var de_DeleteStateMachineVersionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_T] != null) { + const memberEntries = se_tagListType(input[_T], context); + if (((_b = input[_T]) == null ? void 0 : _b.length) === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } - }; - var de_DescribeActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeActivityCommandError(output, context); + return entries; + }, "se_GetFederationTokenRequest"); + var se_GetSessionTokenRequest = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_DS] != null) { + entries[_DS] = input[_DS]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeActivityOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeActivityCommand = de_DescribeActivityCommand; - var de_DescribeActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityDoesNotExist": - case "com.amazonaws.sfn#ActivityDoesNotExist": - throw await de_ActivityDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_SN] != null) { + entries[_SN] = input[_SN]; } - }; - var de_DescribeExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeExecutionCommandError(output, context); + if (input[_TC] != null) { + entries[_TC] = input[_TC]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeExecutionCommand = de_DescribeExecutionCommand; - var de_DescribeExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_GetSessionTokenRequest"); + var se_policyDescriptorListType = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_PolicyDescriptorType(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; } - }; - var de_DescribeMapRunCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeMapRunCommandError(output, context); + return entries; + }, "se_policyDescriptorListType"); + var se_PolicyDescriptorType = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_a] != null) { + entries[_a] = input[_a]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeMapRunOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeMapRunCommand = de_DescribeMapRunCommand; - var de_DescribeMapRunCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_PolicyDescriptorType"); + var se_ProvidedContext = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_PAro] != null) { + entries[_PAro] = input[_PAro]; } - }; - var de_DescribeStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineCommandError(output, context); + if (input[_CA] != null) { + entries[_CA] = input[_CA]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeStateMachineCommand = de_DescribeStateMachineCommand; - var de_DescribeStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_ProvidedContext"); + var se_ProvidedContextsListType = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_ProvidedContext(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; } - }; - var de_DescribeStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineAliasCommandError(output, context); + return entries; + }, "se_ProvidedContextsListType"); + var se_Tag = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + if (input[_K] != null) { + entries[_K] = input[_K]; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeStateMachineAliasCommand = de_DescribeStateMachineAliasCommand; - var de_DescribeStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (input[_Va] != null) { + entries[_Va] = input[_Va]; } - }; - var de_DescribeStateMachineForExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineForExecutionCommandError(output, context); + return entries; + }, "se_Tag"); + var se_tagKeyListType = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineForExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_DescribeStateMachineForExecutionCommand = de_DescribeStateMachineForExecutionCommand; - var de_DescribeStateMachineForExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return entries; + }, "se_tagKeyListType"); + var se_tagListType = /* @__PURE__ */ __name((input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_Tag(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; } - }; - var de_GetActivityTaskCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetActivityTaskCommandError(output, context); + return entries; + }, "se_tagListType"); + var de_AssumedRoleUser = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_ARI] != null) { + contents[_ARI] = (0, import_smithy_client4.expectString)(output[_ARI]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetActivityTaskCommand = de_GetActivityTaskCommand; - var de_GetActivityTaskCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityDoesNotExist": - case "com.amazonaws.sfn#ActivityDoesNotExist": - throw await de_ActivityDoesNotExistRes(parsedOutput, context); - case "ActivityWorkerLimitExceeded": - case "com.amazonaws.sfn#ActivityWorkerLimitExceeded": - throw await de_ActivityWorkerLimitExceededRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_Ar] != null) { + contents[_Ar] = (0, import_smithy_client4.expectString)(output[_Ar]); } - }; - var de_GetExecutionHistoryCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetExecutionHistoryCommandError(output, context); + return contents; + }, "de_AssumedRoleUser"); + var de_AssumeRoleResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_C] != null) { + contents[_C] = de_Credentials(output[_C], context); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetExecutionHistoryOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_GetExecutionHistoryCommand = de_GetExecutionHistoryCommand; - var de_GetExecutionHistoryCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_ARU] != null) { + contents[_ARU] = de_AssumedRoleUser(output[_ARU], context); } - }; - var de_ListActivitiesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListActivitiesCommandError(output, context); + if (output[_PPS] != null) { + contents[_PPS] = (0, import_smithy_client4.strictParseInt32)(output[_PPS]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListActivitiesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListActivitiesCommand = de_ListActivitiesCommand; - var de_ListActivitiesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_SI] != null) { + contents[_SI] = (0, import_smithy_client4.expectString)(output[_SI]); } - }; - var de_ListExecutionsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListExecutionsCommandError(output, context); + return contents; + }, "de_AssumeRoleResponse"); + var de_AssumeRoleWithSAMLResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_C] != null) { + contents[_C] = de_Credentials(output[_C], context); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListExecutionsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListExecutionsCommand = de_ListExecutionsCommand; - var de_ListExecutionsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_ARU] != null) { + contents[_ARU] = de_AssumedRoleUser(output[_ARU], context); } - }; - var de_ListMapRunsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListMapRunsCommandError(output, context); + if (output[_PPS] != null) { + contents[_PPS] = (0, import_smithy_client4.strictParseInt32)(output[_PPS]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListMapRunsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListMapRunsCommand = de_ListMapRunsCommand; - var de_ListMapRunsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_S] != null) { + contents[_S] = (0, import_smithy_client4.expectString)(output[_S]); } - }; - var de_ListStateMachineAliasesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachineAliasesCommandError(output, context); + if (output[_ST] != null) { + contents[_ST] = (0, import_smithy_client4.expectString)(output[_ST]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachineAliasesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListStateMachineAliasesCommand = de_ListStateMachineAliasesCommand; - var de_ListStateMachineAliasesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_I] != null) { + contents[_I] = (0, import_smithy_client4.expectString)(output[_I]); } - }; - var de_ListStateMachinesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachinesCommandError(output, context); + if (output[_Au] != null) { + contents[_Au] = (0, import_smithy_client4.expectString)(output[_Au]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachinesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListStateMachinesCommand = de_ListStateMachinesCommand; - var de_ListStateMachinesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_NQ] != null) { + contents[_NQ] = (0, import_smithy_client4.expectString)(output[_NQ]); } - }; - var de_ListStateMachineVersionsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachineVersionsCommandError(output, context); + if (output[_SI] != null) { + contents[_SI] = (0, import_smithy_client4.expectString)(output[_SI]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachineVersionsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListStateMachineVersionsCommand = de_ListStateMachineVersionsCommand; - var de_ListStateMachineVersionsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return contents; + }, "de_AssumeRoleWithSAMLResponse"); + var de_AssumeRoleWithWebIdentityResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_C] != null) { + contents[_C] = de_Credentials(output[_C], context); } - }; - var de_ListTagsForResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListTagsForResourceCommandError(output, context); + if (output[_SFWIT] != null) { + contents[_SFWIT] = (0, import_smithy_client4.expectString)(output[_SFWIT]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_ListTagsForResourceCommand = de_ListTagsForResourceCommand; - var de_ListTagsForResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_ARU] != null) { + contents[_ARU] = de_AssumedRoleUser(output[_ARU], context); } - }; - var de_PublishStateMachineVersionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_PublishStateMachineVersionCommandError(output, context); + if (output[_PPS] != null) { + contents[_PPS] = (0, import_smithy_client4.strictParseInt32)(output[_PPS]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_PublishStateMachineVersionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_PublishStateMachineVersionCommand = de_PublishStateMachineVersionCommand; - var de_PublishStateMachineVersionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_Pr] != null) { + contents[_Pr] = (0, import_smithy_client4.expectString)(output[_Pr]); } - }; - var de_SendTaskFailureCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskFailureCommandError(output, context); + if (output[_Au] != null) { + contents[_Au] = (0, import_smithy_client4.expectString)(output[_Au]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_SendTaskFailureCommand = de_SendTaskFailureCommand; - var de_SendTaskFailureCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_SI] != null) { + contents[_SI] = (0, import_smithy_client4.expectString)(output[_SI]); } - }; - var de_SendTaskHeartbeatCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskHeartbeatCommandError(output, context); + return contents; + }, "de_AssumeRoleWithWebIdentityResponse"); + var de_Credentials = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_AKI] != null) { + contents[_AKI] = (0, import_smithy_client4.expectString)(output[_AKI]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_SendTaskHeartbeatCommand = de_SendTaskHeartbeatCommand; - var de_SendTaskHeartbeatCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_SAK] != null) { + contents[_SAK] = (0, import_smithy_client4.expectString)(output[_SAK]); } - }; - var de_SendTaskSuccessCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskSuccessCommandError(output, context); + if (output[_STe] != null) { + contents[_STe] = (0, import_smithy_client4.expectString)(output[_STe]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_SendTaskSuccessCommand = de_SendTaskSuccessCommand; - var de_SendTaskSuccessCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidOutput": - case "com.amazonaws.sfn#InvalidOutput": - throw await de_InvalidOutputRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_E] != null) { + contents[_E] = (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseRfc3339DateTimeWithOffset)(output[_E])); } - }; - var de_StartExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StartExecutionCommandError(output, context); + return contents; + }, "de_Credentials"); + var de_DecodeAuthorizationMessageResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_DM] != null) { + contents[_DM] = (0, import_smithy_client4.expectString)(output[_DM]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StartExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_StartExecutionCommand = de_StartExecutionCommand; - var de_StartExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionAlreadyExists": - case "com.amazonaws.sfn#ExecutionAlreadyExists": - throw await de_ExecutionAlreadyExistsRes(parsedOutput, context); - case "ExecutionLimitExceeded": - case "com.amazonaws.sfn#ExecutionLimitExceeded": - throw await de_ExecutionLimitExceededRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidExecutionInput": - case "com.amazonaws.sfn#InvalidExecutionInput": - throw await de_InvalidExecutionInputRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return contents; + }, "de_DecodeAuthorizationMessageResponse"); + var de_ExpiredTokenException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); } - }; - var de_StartSyncExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StartSyncExecutionCommandError(output, context); + return contents; + }, "de_ExpiredTokenException"); + var de_FederatedUser = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_FUI] != null) { + contents[_FUI] = (0, import_smithy_client4.expectString)(output[_FUI]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StartSyncExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_StartSyncExecutionCommand = de_StartSyncExecutionCommand; - var de_StartSyncExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidExecutionInput": - case "com.amazonaws.sfn#InvalidExecutionInput": - throw await de_InvalidExecutionInputRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_Ar] != null) { + contents[_Ar] = (0, import_smithy_client4.expectString)(output[_Ar]); } - }; - var de_StopExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StopExecutionCommandError(output, context); + return contents; + }, "de_FederatedUser"); + var de_GetAccessKeyInfoResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_Ac] != null) { + contents[_Ac] = (0, import_smithy_client4.expectString)(output[_Ac]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StopExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_StopExecutionCommand = de_StopExecutionCommand; - var de_StopExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return contents; + }, "de_GetAccessKeyInfoResponse"); + var de_GetCallerIdentityResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_UI] != null) { + contents[_UI] = (0, import_smithy_client4.expectString)(output[_UI]); } - }; - var de_TagResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_TagResourceCommandError(output, context); + if (output[_Ac] != null) { + contents[_Ac] = (0, import_smithy_client4.expectString)(output[_Ac]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_TagResourceCommand = de_TagResourceCommand; - var de_TagResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_Ar] != null) { + contents[_Ar] = (0, import_smithy_client4.expectString)(output[_Ar]); } - }; - var de_UntagResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UntagResourceCommandError(output, context); + return contents; + }, "de_GetCallerIdentityResponse"); + var de_GetFederationTokenResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_C] != null) { + contents[_C] = de_Credentials(output[_C], context); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_UntagResourceCommand = de_UntagResourceCommand; - var de_UntagResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + if (output[_FU] != null) { + contents[_FU] = de_FederatedUser(output[_FU], context); } - }; - var de_UpdateMapRunCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateMapRunCommandError(output, context); + if (output[_PPS] != null) { + contents[_PPS] = (0, import_smithy_client4.strictParseInt32)(output[_PPS]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports2.de_UpdateMapRunCommand = de_UpdateMapRunCommand; - var de_UpdateMapRunCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + return contents; + }, "de_GetFederationTokenResponse"); + var de_GetSessionTokenResponse = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_C] != null) { + contents[_C] = de_Credentials(output[_C], context); } - }; - var de_UpdateStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateStateMachineCommandError(output, context); + return contents; + }, "de_GetSessionTokenResponse"); + var de_IDPCommunicationErrorException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_UpdateStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents + return contents; + }, "de_IDPCommunicationErrorException"); + var de_IDPRejectedClaimException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_IDPRejectedClaimException"); + var de_InvalidAuthorizationMessageException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_InvalidAuthorizationMessageException"); + var de_InvalidIdentityTokenException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_InvalidIdentityTokenException"); + var de_MalformedPolicyDocumentException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_MalformedPolicyDocumentException"); + var de_PackedPolicyTooLargeException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_PackedPolicyTooLargeException"); + var de_RegionDisabledException = /* @__PURE__ */ __name((output, context) => { + const contents = {}; + if (output[_m] != null) { + contents[_m] = (0, import_smithy_client4.expectString)(output[_m]); + } + return contents; + }, "de_RegionDisabledException"); + var deserializeMetadata = /* @__PURE__ */ __name((output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }), "deserializeMetadata"); + var throwDefaultError = (0, import_smithy_client4.withBaseException)(STSServiceException); + var buildHttpRpcRequest = /* @__PURE__ */ __name(async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers }; - return response; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; + } + if (body !== void 0) { + contents.body = body; + } + return new import_protocol_http8.HttpRequest(contents); + }, "buildHttpRpcRequest"); + var SHARED_HEADERS = { + "content-type": "application/x-www-form-urlencoded" }; - exports2.de_UpdateStateMachineCommand = de_UpdateStateMachineCommand; - var de_UpdateStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidDefinition": - case "com.amazonaws.sfn#InvalidDefinition": - throw await de_InvalidDefinitionRes(parsedOutput, context); - case "InvalidLoggingConfiguration": - case "com.amazonaws.sfn#InvalidLoggingConfiguration": - throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); - case "InvalidTracingConfiguration": - case "com.amazonaws.sfn#InvalidTracingConfiguration": - throw await de_InvalidTracingConfigurationRes(parsedOutput, context); - case "MissingRequiredParameter": - case "com.amazonaws.sfn#MissingRequiredParameter": - throw await de_MissingRequiredParameterRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); + var _ = "2011-06-15"; + var _A = "Action"; + var _AKI = "AccessKeyId"; + var _AR = "AssumeRole"; + var _ARI = "AssumedRoleId"; + var _ARU = "AssumedRoleUser"; + var _ARWSAML = "AssumeRoleWithSAML"; + var _ARWWI = "AssumeRoleWithWebIdentity"; + var _Ac = "Account"; + var _Ar = "Arn"; + var _Au = "Audience"; + var _C = "Credentials"; + var _CA = "ContextAssertion"; + var _DAM = "DecodeAuthorizationMessage"; + var _DM = "DecodedMessage"; + var _DS = "DurationSeconds"; + var _E = "Expiration"; + var _EI = "ExternalId"; + var _EM = "EncodedMessage"; + var _FU = "FederatedUser"; + var _FUI = "FederatedUserId"; + var _GAKI = "GetAccessKeyInfo"; + var _GCI = "GetCallerIdentity"; + var _GFT = "GetFederationToken"; + var _GST = "GetSessionToken"; + var _I = "Issuer"; + var _K = "Key"; + var _N = "Name"; + var _NQ = "NameQualifier"; + var _P = "Policy"; + var _PA = "PolicyArns"; + var _PAr = "PrincipalArn"; + var _PAro = "ProviderArn"; + var _PC = "ProvidedContexts"; + var _PI = "ProviderId"; + var _PPS = "PackedPolicySize"; + var _Pr = "Provider"; + var _RA = "RoleArn"; + var _RSN = "RoleSessionName"; + var _S = "Subject"; + var _SAK = "SecretAccessKey"; + var _SAMLA = "SAMLAssertion"; + var _SFWIT = "SubjectFromWebIdentityToken"; + var _SI = "SourceIdentity"; + var _SN = "SerialNumber"; + var _ST = "SubjectType"; + var _STe = "SessionToken"; + var _T = "Tags"; + var _TC = "TokenCode"; + var _TTK = "TransitiveTagKeys"; + var _UI = "UserId"; + var _V = "Version"; + var _Va = "Value"; + var _WIT = "WebIdentityToken"; + var _a = "arn"; + var _m = "message"; + var buildFormUrlencodedString = /* @__PURE__ */ __name((formEntries) => Object.entries(formEntries).map(([key, value]) => (0, import_smithy_client4.extendedEncodeURIComponent)(key) + "=" + (0, import_smithy_client4.extendedEncodeURIComponent)(value)).join("&"), "buildFormUrlencodedString"); + var loadQueryErrorCode = /* @__PURE__ */ __name((output, data) => { + var _a2; + if (((_a2 = data.Error) == null ? void 0 : _a2.Code) !== void 0) { + return data.Error.Code; + } + if (output.statusCode == 404) { + return "NotFound"; } + }, "loadQueryErrorCode"); + var _AssumeRoleCommand = class _AssumeRoleCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "AssumeRole", {}).n("STSClient", "AssumeRoleCommand").f(void 0, AssumeRoleResponseFilterSensitiveLog).ser(se_AssumeRoleCommand).de(de_AssumeRoleCommand).build() { + }; + __name(_AssumeRoleCommand, "AssumeRoleCommand"); + var AssumeRoleCommand = _AssumeRoleCommand; + var import_EndpointParameters2 = require_EndpointParameters(); + var _AssumeRoleWithSAMLCommand = class _AssumeRoleWithSAMLCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters2.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithSAML", {}).n("STSClient", "AssumeRoleWithSAMLCommand").f(AssumeRoleWithSAMLRequestFilterSensitiveLog, AssumeRoleWithSAMLResponseFilterSensitiveLog).ser(se_AssumeRoleWithSAMLCommand).de(de_AssumeRoleWithSAMLCommand).build() { + }; + __name(_AssumeRoleWithSAMLCommand, "AssumeRoleWithSAMLCommand"); + var AssumeRoleWithSAMLCommand = _AssumeRoleWithSAMLCommand; + var import_EndpointParameters3 = require_EndpointParameters(); + var _AssumeRoleWithWebIdentityCommand = class _AssumeRoleWithWebIdentityCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters3.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithWebIdentity", {}).n("STSClient", "AssumeRoleWithWebIdentityCommand").f(AssumeRoleWithWebIdentityRequestFilterSensitiveLog, AssumeRoleWithWebIdentityResponseFilterSensitiveLog).ser(se_AssumeRoleWithWebIdentityCommand).de(de_AssumeRoleWithWebIdentityCommand).build() { + }; + __name(_AssumeRoleWithWebIdentityCommand, "AssumeRoleWithWebIdentityCommand"); + var AssumeRoleWithWebIdentityCommand = _AssumeRoleWithWebIdentityCommand; + var import_EndpointParameters4 = require_EndpointParameters(); + var _DecodeAuthorizationMessageCommand = class _DecodeAuthorizationMessageCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters4.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "DecodeAuthorizationMessage", {}).n("STSClient", "DecodeAuthorizationMessageCommand").f(void 0, void 0).ser(se_DecodeAuthorizationMessageCommand).de(de_DecodeAuthorizationMessageCommand).build() { + }; + __name(_DecodeAuthorizationMessageCommand, "DecodeAuthorizationMessageCommand"); + var DecodeAuthorizationMessageCommand = _DecodeAuthorizationMessageCommand; + var import_EndpointParameters5 = require_EndpointParameters(); + var _GetAccessKeyInfoCommand = class _GetAccessKeyInfoCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters5.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "GetAccessKeyInfo", {}).n("STSClient", "GetAccessKeyInfoCommand").f(void 0, void 0).ser(se_GetAccessKeyInfoCommand).de(de_GetAccessKeyInfoCommand).build() { + }; + __name(_GetAccessKeyInfoCommand, "GetAccessKeyInfoCommand"); + var GetAccessKeyInfoCommand = _GetAccessKeyInfoCommand; + var import_EndpointParameters6 = require_EndpointParameters(); + var _GetCallerIdentityCommand = class _GetCallerIdentityCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters6.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "GetCallerIdentity", {}).n("STSClient", "GetCallerIdentityCommand").f(void 0, void 0).ser(se_GetCallerIdentityCommand).de(de_GetCallerIdentityCommand).build() { + }; + __name(_GetCallerIdentityCommand, "GetCallerIdentityCommand"); + var GetCallerIdentityCommand = _GetCallerIdentityCommand; + var import_EndpointParameters7 = require_EndpointParameters(); + var _GetFederationTokenCommand = class _GetFederationTokenCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters7.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "GetFederationToken", {}).n("STSClient", "GetFederationTokenCommand").f(void 0, GetFederationTokenResponseFilterSensitiveLog).ser(se_GetFederationTokenCommand).de(de_GetFederationTokenCommand).build() { + }; + __name(_GetFederationTokenCommand, "GetFederationTokenCommand"); + var GetFederationTokenCommand = _GetFederationTokenCommand; + var import_EndpointParameters8 = require_EndpointParameters(); + var _GetSessionTokenCommand = class _GetSessionTokenCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...import_EndpointParameters8.commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSSecurityTokenServiceV20110615", "GetSessionToken", {}).n("STSClient", "GetSessionTokenCommand").f(void 0, GetSessionTokenResponseFilterSensitiveLog).ser(se_GetSessionTokenCommand).de(de_GetSessionTokenCommand).build() { }; - var de_UpdateStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateStateMachineAliasCommandError(output, context); + __name(_GetSessionTokenCommand, "GetSessionTokenCommand"); + var GetSessionTokenCommand = _GetSessionTokenCommand; + var import_STSClient = require_STSClient(); + var commands = { + AssumeRoleCommand, + AssumeRoleWithSAMLCommand, + AssumeRoleWithWebIdentityCommand, + DecodeAuthorizationMessageCommand, + GetAccessKeyInfoCommand, + GetCallerIdentityCommand, + GetFederationTokenCommand, + GetSessionTokenCommand + }; + var _STS = class _STS extends import_STSClient.STSClient { + }; + __name(_STS, "STS"); + var STS = _STS; + (0, import_smithy_client4.createAggregatedClient)(commands, STS); + var import_EndpointParameters9 = require_EndpointParameters(); + var ASSUME_ROLE_DEFAULT_REGION = "us-east-1"; + var getAccountIdFromAssumedRoleUser = /* @__PURE__ */ __name((assumedRoleUser) => { + if (typeof (assumedRoleUser == null ? void 0 : assumedRoleUser.Arn) === "string") { + const arnComponents = assumedRoleUser.Arn.split(":"); + if (arnComponents.length > 4 && arnComponents[4] !== "") { + return arnComponents[4]; + } } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_UpdateStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents + return void 0; + }, "getAccountIdFromAssumedRoleUser"); + var resolveRegion = /* @__PURE__ */ __name(async (_region, _parentRegion, credentialProviderLogger) => { + var _a2; + const region = typeof _region === "function" ? await _region() : _region; + const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion; + (_a2 = credentialProviderLogger == null ? void 0 : credentialProviderLogger.debug) == null ? void 0 : _a2.call( + credentialProviderLogger, + "@aws-sdk/client-sts::resolveRegion", + "accepting first of:", + `${region} (provider)`, + `${parentRegion} (parent client)`, + `${ASSUME_ROLE_DEFAULT_REGION} (STS default)` + ); + return region ?? parentRegion ?? ASSUME_ROLE_DEFAULT_REGION; + }, "resolveRegion"); + var getDefaultRoleAssumer = /* @__PURE__ */ __name((stsOptions, stsClientCtor) => { + let stsClient; + let closureSourceCreds; + return async (sourceCreds, params) => { + var _a2, _b, _c; + closureSourceCreds = sourceCreds; + if (!stsClient) { + const { + logger = (_a2 = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _a2.logger, + region, + requestHandler = (_b = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _b.requestHandler, + credentialProviderLogger + } = stsOptions; + const resolvedRegion = await resolveRegion( + region, + (_c = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _c.region, + credentialProviderLogger + ); + const isCompatibleRequestHandler = !isH2(requestHandler); + stsClient = new stsClientCtor({ + // A hack to make sts client uses the credential in current closure. + credentialDefaultProvider: () => async () => closureSourceCreds, + region: resolvedRegion, + requestHandler: isCompatibleRequestHandler ? requestHandler : void 0, + logger + }); + } + const { Credentials: Credentials2, AssumedRoleUser: AssumedRoleUser2 } = await stsClient.send(new AssumeRoleCommand(params)); + if (!Credentials2 || !Credentials2.AccessKeyId || !Credentials2.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); + } + const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser2); + return { + accessKeyId: Credentials2.AccessKeyId, + secretAccessKey: Credentials2.SecretAccessKey, + sessionToken: Credentials2.SessionToken, + expiration: Credentials2.Expiration, + // TODO(credentialScope): access normally when shape is updated. + ...Credentials2.CredentialScope && { credentialScope: Credentials2.CredentialScope }, + ...accountId && { accountId } + }; }; - return response; - }; - exports2.de_UpdateStateMachineAliasCommand = de_UpdateStateMachineAliasCommand; - var de_UpdateStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) + }, "getDefaultRoleAssumer"); + var getDefaultRoleAssumerWithWebIdentity = /* @__PURE__ */ __name((stsOptions, stsClientCtor) => { + let stsClient; + return async (params) => { + var _a2, _b, _c; + if (!stsClient) { + const { + logger = (_a2 = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _a2.logger, + region, + requestHandler = (_b = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _b.requestHandler, + credentialProviderLogger + } = stsOptions; + const resolvedRegion = await resolveRegion( + region, + (_c = stsOptions == null ? void 0 : stsOptions.parentClientConfig) == null ? void 0 : _c.region, + credentialProviderLogger + ); + const isCompatibleRequestHandler = !isH2(requestHandler); + stsClient = new stsClientCtor({ + region: resolvedRegion, + requestHandler: isCompatibleRequestHandler ? requestHandler : void 0, + logger + }); + } + const { Credentials: Credentials2, AssumedRoleUser: AssumedRoleUser2 } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params)); + if (!Credentials2 || !Credentials2.AccessKeyId || !Credentials2.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); + } + const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser2); + return { + accessKeyId: Credentials2.AccessKeyId, + secretAccessKey: Credentials2.SecretAccessKey, + sessionToken: Credentials2.SessionToken, + expiration: Credentials2.Expiration, + // TODO(credentialScope): access normally when shape is updated. + ...Credentials2.CredentialScope && { credentialScope: Credentials2.CredentialScope }, + ...accountId && { accountId } + }; }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ActivityDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ActivityLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ActivityWorkerLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityWorkerLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ConflictExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ConflictException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionAlreadyExistsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionAlreadyExists({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidArnRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidArn({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + }, "getDefaultRoleAssumerWithWebIdentity"); + var isH2 = /* @__PURE__ */ __name((requestHandler) => { + var _a2; + return ((_a2 = requestHandler == null ? void 0 : requestHandler.metadata) == null ? void 0 : _a2.handlerProtocol) === "h2"; + }, "isH2"); + var import_STSClient2 = require_STSClient(); + var getCustomizableStsClientCtor = /* @__PURE__ */ __name((baseCtor, customizations) => { + var _a2; + if (!customizations) + return baseCtor; + else + return _a2 = class extends baseCtor { + constructor(config) { + super(config); + for (const customization of customizations) { + this.middlewareStack.use(customization); + } + } + }, __name(_a2, "CustomizableSTSClient"), _a2; + }, "getCustomizableStsClientCtor"); + var getDefaultRoleAssumer2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(import_STSClient2.STSClient, stsPlugins)), "getDefaultRoleAssumer"); + var getDefaultRoleAssumerWithWebIdentity2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(import_STSClient2.STSClient, stsPlugins)), "getDefaultRoleAssumerWithWebIdentity"); + var decorateDefaultCredentialProvider = /* @__PURE__ */ __name((provider) => (input) => provider({ + roleAssumer: getDefaultRoleAssumer2(input), + roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity2(input), + ...input + }), "decorateDefaultCredentialProvider"); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +var require_dist_cjs49 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_InvalidDefinitionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidDefinition({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var de_InvalidExecutionInputRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidExecutionInput({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + fromProcess: () => fromProcess + }); + module2.exports = __toCommonJS2(src_exports); + var import_shared_ini_file_loader = require_dist_cjs25(); + var import_property_provider2 = require_dist_cjs24(); + var import_child_process = require("child_process"); + var import_util = require("util"); + var getValidatedProcessCredentials = /* @__PURE__ */ __name((profileName, data, profiles) => { + var _a; + if (data.Version !== 1) { + throw Error(`Profile ${profileName} credential_process did not return Version 1.`); + } + if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { + throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); + } + if (data.Expiration) { + const currentTime = /* @__PURE__ */ new Date(); + const expireTime = new Date(data.Expiration); + if (expireTime < currentTime) { + throw Error(`Profile ${profileName} credential_process returned expired credentials.`); + } + } + let accountId = data.AccountId; + if (!accountId && ((_a = profiles == null ? void 0 : profiles[profileName]) == null ? void 0 : _a.aws_account_id)) { + accountId = profiles[profileName].aws_account_id; + } + return { + accessKeyId: data.AccessKeyId, + secretAccessKey: data.SecretAccessKey, + ...data.SessionToken && { sessionToken: data.SessionToken }, + ...data.Expiration && { expiration: new Date(data.Expiration) }, + ...data.CredentialScope && { credentialScope: data.CredentialScope }, + ...accountId && { accountId } + }; + }, "getValidatedProcessCredentials"); + var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profiles, logger) => { + const profile = profiles[profileName]; + if (profiles[profileName]) { + const credentialProcess = profile["credential_process"]; + if (credentialProcess !== void 0) { + const execPromise = (0, import_util.promisify)(import_child_process.exec); + try { + const { stdout } = await execPromise(credentialProcess); + let data; + try { + data = JSON.parse(stdout.trim()); + } catch { + throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); + } + return getValidatedProcessCredentials(profileName, data, profiles); + } catch (error) { + throw new import_property_provider2.CredentialsProviderError(error.message, { logger }); + } + } else { + throw new import_property_provider2.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger }); + } + } else { + throw new import_property_provider2.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, { + logger + }); + } + }, "resolveProcessCredentials"); + var fromProcess = /* @__PURE__ */ __name((init = {}) => async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-process - fromProcess"); + const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init); + return resolveProcessCredentials((0, import_shared_ini_file_loader.getProfileName)(init), profiles, init.logger); + }, "fromProcess"); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +var require_fromWebToken = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; }; - var de_InvalidLoggingConfigurationRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidLoggingConfiguration({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.fromWebToken = void 0; + var fromWebToken2 = (init) => async () => { + init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken"); + const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init; + let { roleAssumerWithWebIdentity } = init; + if (!roleAssumerWithWebIdentity) { + const { getDefaultRoleAssumerWithWebIdentity } = await Promise.resolve().then(() => __importStar2(require_dist_cjs48())); + roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({ + ...init.clientConfig, + credentialProviderLogger: init.logger, + parentClientConfig: init.parentClientConfig + }, init.clientPlugins); + } + return roleAssumerWithWebIdentity({ + RoleArn: roleArn, + RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`, + WebIdentityToken: webIdentityToken, + ProviderId: providerId, + PolicyArns: policyArns, + Policy: policy, + DurationSeconds: durationSeconds }); - return (0, smithy_client_1.decorateServiceException)(exception, body); }; - var de_InvalidNameRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidName({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + exports2.fromWebToken = fromWebToken2; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +var require_fromTokenFile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.fromTokenFile = void 0; + var property_provider_1 = require_dist_cjs24(); + var fs_1 = require("fs"); + var fromWebToken_1 = require_fromWebToken(); + var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; + var ENV_ROLE_ARN = "AWS_ROLE_ARN"; + var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; + var fromTokenFile2 = (init = {}) => async () => { + init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile"); + const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE]; + const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN]; + const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME]; + if (!webIdentityTokenFile || !roleArn) { + throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified", { + logger: init.logger + }); + } + return (0, fromWebToken_1.fromWebToken)({ + ...init, + webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }), + roleArn, + roleSessionName + })(); }; - var de_InvalidOutputRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidOutput({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + exports2.fromTokenFile = fromTokenFile2; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +var require_dist_cjs50 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var de_InvalidTokenRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidToken({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport(src_exports, require_fromTokenFile(), module2.exports); + __reExport(src_exports, require_fromWebToken(), module2.exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +var require_dist_cjs51 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_InvalidTracingConfigurationRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidTracingConfiguration({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var de_MissingRequiredParameterRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.MissingRequiredParameter({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ResourceNotFoundRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ResourceNotFound({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ServiceQuotaExceededException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + fromIni: () => fromIni + }); + module2.exports = __toCommonJS2(src_exports); + var import_shared_ini_file_loader = require_dist_cjs25(); + var import_property_provider2 = require_dist_cjs24(); + var resolveCredentialSource = /* @__PURE__ */ __name((credentialSource, profileName, logger) => { + const sourceProvidersMap = { + EcsContainer: async (options) => { + const { fromHttp } = await Promise.resolve().then(() => __toESM2(require_dist_cjs38())); + const { fromContainerMetadata } = await Promise.resolve().then(() => __toESM2(require_dist_cjs37())); + logger == null ? void 0 : logger.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"); + return (0, import_property_provider2.chain)(fromHttp(options ?? {}), fromContainerMetadata(options)); + }, + Ec2InstanceMetadata: async (options) => { + logger == null ? void 0 : logger.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata"); + const { fromInstanceMetadata } = await Promise.resolve().then(() => __toESM2(require_dist_cjs37())); + return fromInstanceMetadata(options); + }, + Environment: async (options) => { + logger == null ? void 0 : logger.debug("@aws-sdk/credential-provider-ini - credential_source is Environment"); + const { fromEnv } = await Promise.resolve().then(() => __toESM2(require_dist_cjs36())); + return fromEnv(options); + } + }; + if (credentialSource in sourceProvidersMap) { + return sourceProvidersMap[credentialSource]; + } else { + throw new import_property_provider2.CredentialsProviderError( + `Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, + { logger } + ); + } + }, "resolveCredentialSource"); + var isAssumeRoleProfile = /* @__PURE__ */ __name((arg, { profile = "default", logger } = {}) => { + return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })); + }, "isAssumeRoleProfile"); + var isAssumeRoleWithSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => { + var _a; + const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; + if (withSourceProfile) { + (_a = logger == null ? void 0 : logger.debug) == null ? void 0 : _a.call(logger, ` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`); + } + return withSourceProfile; + }, "isAssumeRoleWithSourceProfile"); + var isCredentialSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => { + var _a; + const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; + if (withProviderProfile) { + (_a = logger == null ? void 0 : logger.debug) == null ? void 0 : _a.call(logger, ` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`); + } + return withProviderProfile; + }, "isCredentialSourceProfile"); + var resolveAssumeRoleCredentials = /* @__PURE__ */ __name(async (profileName, profiles, options, visitedProfiles = {}) => { + var _a, _b; + (_a = options.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)"); + const data = profiles[profileName]; + if (!options.roleAssumer) { + const { getDefaultRoleAssumer } = await Promise.resolve().then(() => __toESM2(require_dist_cjs48())); + options.roleAssumer = getDefaultRoleAssumer( + { + ...options.clientConfig, + credentialProviderLogger: options.logger, + parentClientConfig: options == null ? void 0 : options.parentClientConfig + }, + options.clientPlugins + ); + } + const { source_profile } = data; + if (source_profile && source_profile in visitedProfiles) { + throw new import_property_provider2.CredentialsProviderError( + `Detected a cycle attempting to resolve credentials for profile ${(0, import_shared_ini_file_loader.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), + { logger: options.logger } + ); + } + (_b = options.logger) == null ? void 0 : _b.debug( + `@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}` + ); + const sourceCredsProvider = source_profile ? resolveProfileData( + source_profile, + { + ...profiles, + [source_profile]: { + ...profiles[source_profile], + // This assigns the role_arn of the "root" profile + // to the credential_source profile so this recursive call knows + // what role to assume. + role_arn: data.role_arn ?? profiles[source_profile].role_arn + } + }, + options, + { + ...visitedProfiles, + [source_profile]: true + } + ) : (await resolveCredentialSource(data.credential_source, profileName, options.logger)(options))(); + const params = { + RoleArn: data.role_arn, + RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`, + ExternalId: data.external_id, + DurationSeconds: parseInt(data.duration_seconds || "3600", 10) + }; + const { mfa_serial } = data; + if (mfa_serial) { + if (!options.mfaCodeProvider) { + throw new import_property_provider2.CredentialsProviderError( + `Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, + { logger: options.logger, tryNextLink: false } + ); + } + params.SerialNumber = mfa_serial; + params.TokenCode = await options.mfaCodeProvider(mfa_serial); + } + const sourceCreds = await sourceCredsProvider; + return options.roleAssumer(sourceCreds, params); + }, "resolveAssumeRoleCredentials"); + var isProcessProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string", "isProcessProfile"); + var resolveProcessCredentials = /* @__PURE__ */ __name(async (options, profile) => Promise.resolve().then(() => __toESM2(require_dist_cjs49())).then( + ({ fromProcess }) => fromProcess({ + ...options, + profile + })() + ), "resolveProcessCredentials"); + var resolveSsoCredentials = /* @__PURE__ */ __name(async (profile, options = {}) => { + const { fromSSO } = await Promise.resolve().then(() => __toESM2(require_dist_cjs47())); + return fromSSO({ + profile, + logger: options.logger + })(); + }, "resolveSsoCredentials"); + var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile"); + var isStaticCredsProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1, "isStaticCredsProfile"); + var resolveStaticCredentials = /* @__PURE__ */ __name((profile, options) => { + var _a; + (_a = options == null ? void 0 : options.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials"); + return Promise.resolve({ + accessKeyId: profile.aws_access_key_id, + secretAccessKey: profile.aws_secret_access_key, + sessionToken: profile.aws_session_token, + ...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }, + ...profile.aws_account_id && { accountId: profile.aws_account_id } }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + }, "resolveStaticCredentials"); + var isWebIdentityProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1, "isWebIdentityProfile"); + var resolveWebIdentityCredentials = /* @__PURE__ */ __name(async (profile, options) => Promise.resolve().then(() => __toESM2(require_dist_cjs50())).then( + ({ fromTokenFile: fromTokenFile2 }) => fromTokenFile2({ + webIdentityTokenFile: profile.web_identity_token_file, + roleArn: profile.role_arn, + roleSessionName: profile.role_session_name, + roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity, + logger: options.logger, + parentClientConfig: options.parentClientConfig + })() + ), "resolveWebIdentityCredentials"); + var resolveProfileData = /* @__PURE__ */ __name(async (profileName, profiles, options, visitedProfiles = {}) => { + const data = profiles[profileName]; + if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) { + return resolveStaticCredentials(data, options); + } + if (isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) { + return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles); + } + if (isStaticCredsProfile(data)) { + return resolveStaticCredentials(data, options); + } + if (isWebIdentityProfile(data)) { + return resolveWebIdentityCredentials(data, options); + } + if (isProcessProfile(data)) { + return resolveProcessCredentials(options, profileName); + } + if (isSsoProfile(data)) { + return await resolveSsoCredentials(profileName, options); + } + throw new import_property_provider2.CredentialsProviderError( + `Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, + { logger: options.logger } + ); + }, "resolveProfileData"); + var fromIni = /* @__PURE__ */ __name((init = {}) => async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-ini - fromIni"); + const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init); + return resolveProfileData((0, import_shared_ini_file_loader.getProfileName)(init), profiles, init); + }, "fromIni"); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +var require_dist_cjs52 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_StateMachineAlreadyExistsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineAlreadyExists({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var de_StateMachineDeletingRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineDeleting({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + credentialsTreatedAsExpired: () => credentialsTreatedAsExpired, + credentialsWillNeedRefresh: () => credentialsWillNeedRefresh, + defaultProvider: () => defaultProvider + }); + module2.exports = __toCommonJS2(src_exports); + var import_credential_provider_env = require_dist_cjs36(); + var import_shared_ini_file_loader = require_dist_cjs25(); + var import_property_provider2 = require_dist_cjs24(); + var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + var remoteProvider = /* @__PURE__ */ __name(async (init) => { + var _a, _b; + const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await Promise.resolve().then(() => __toESM2(require_dist_cjs37())); + if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) { + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata"); + const { fromHttp } = await Promise.resolve().then(() => __toESM2(require_dist_cjs38())); + return (0, import_property_provider2.chain)(fromHttp(init), fromContainerMetadata(init)); + } + if (process.env[ENV_IMDS_DISABLED]) { + return async () => { + throw new import_property_provider2.CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init.logger }); + }; + } + (_b = init.logger) == null ? void 0 : _b.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"); + return fromInstanceMetadata(init); + }, "remoteProvider"); + var multipleCredentialSourceWarningEmitted = false; + var defaultProvider = /* @__PURE__ */ __name((init = {}) => (0, import_property_provider2.memoize)( + (0, import_property_provider2.chain)( + async () => { + var _a, _b, _c, _d; + const profile = init.profile ?? process.env[import_shared_ini_file_loader.ENV_PROFILE]; + if (profile) { + const envStaticCredentialsAreSet = process.env[import_credential_provider_env.ENV_KEY] && process.env[import_credential_provider_env.ENV_SECRET]; + if (envStaticCredentialsAreSet) { + if (!multipleCredentialSourceWarningEmitted) { + const warnFn = ((_a = init.logger) == null ? void 0 : _a.warn) && ((_c = (_b = init.logger) == null ? void 0 : _b.constructor) == null ? void 0 : _c.name) !== "NoOpLogger" ? init.logger.warn : console.warn; + warnFn( + `@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING: + Multiple credential sources detected: + Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set. + This SDK will proceed with the AWS_PROFILE value. + + However, a future version may change this behavior to prefer the ENV static credentials. + Please ensure that your environment only sets either the AWS_PROFILE or the + AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair. +` + ); + multipleCredentialSourceWarningEmitted = true; + } + } + throw new import_property_provider2.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.", { + logger: init.logger, + tryNextLink: true + }); + } + (_d = init.logger) == null ? void 0 : _d.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"); + return (0, import_credential_provider_env.fromEnv)(init)(); + }, + async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO"); + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init; + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + throw new import_property_provider2.CredentialsProviderError( + "Skipping SSO provider in default chain (inputs do not include SSO fields).", + { logger: init.logger } + ); + } + const { fromSSO } = await Promise.resolve().then(() => __toESM2(require_dist_cjs47())); + return fromSSO(init)(); + }, + async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni"); + const { fromIni } = await Promise.resolve().then(() => __toESM2(require_dist_cjs51())); + return fromIni(init)(); + }, + async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess"); + const { fromProcess } = await Promise.resolve().then(() => __toESM2(require_dist_cjs49())); + return fromProcess(init)(); + }, + async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile"); + const { fromTokenFile: fromTokenFile2 } = await Promise.resolve().then(() => __toESM2(require_dist_cjs50())); + return fromTokenFile2(init)(); + }, + async () => { + var _a; + (_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"); + return (await remoteProvider(init))(); + }, + async () => { + throw new import_property_provider2.CredentialsProviderError("Could not load credentials from any providers", { + tryNextLink: false, + logger: init.logger + }); + } + ), + credentialsTreatedAsExpired, + credentialsWillNeedRefresh + ), "defaultProvider"); + var credentialsWillNeedRefresh = /* @__PURE__ */ __name((credentials) => (credentials == null ? void 0 : credentials.expiration) !== void 0, "credentialsWillNeedRefresh"); + var credentialsTreatedAsExpired = /* @__PURE__ */ __name((credentials) => (credentials == null ? void 0 : credentials.expiration) !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, "credentialsTreatedAsExpired"); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js +var require_ruleset4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ruleSet = void 0; + var t = "required"; + var u = "fn"; + var v = "argv"; + var w = "ref"; + var a = true; + var b = "isSet"; + var c = "booleanEquals"; + var d = "error"; + var e = "endpoint"; + var f = "tree"; + var g = "PartitionResult"; + var h = { [t]: false, "type": "String" }; + var i = { [t]: true, "default": false, "type": "Boolean" }; + var j = { [w]: "Endpoint" }; + var k = { [u]: c, [v]: [{ [w]: "UseFIPS" }, true] }; + var l = { [u]: c, [v]: [{ [w]: "UseDualStack" }, true] }; + var m = {}; + var n = { [w]: "Region" }; + var o = { [u]: "getAttr", [v]: [{ [w]: g }, "supportsFIPS"] }; + var p = { [u]: c, [v]: [true, { [u]: "getAttr", [v]: [{ [w]: g }, "supportsDualStack"] }] }; + var q = [k]; + var r = [l]; + var s = [n]; + var _data = { version: "1.0", parameters: { Region: h, UseDualStack: i, UseFIPS: i, Endpoint: h }, rules: [{ conditions: [{ [u]: b, [v]: [j] }], rules: [{ conditions: q, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: r, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: j, properties: m, headers: m }, type: e }], type: f }, { conditions: [{ [u]: b, [v]: s }], rules: [{ conditions: [{ [u]: "aws.partition", [v]: s, assign: g }], rules: [{ conditions: [k, l], rules: [{ conditions: [{ [u]: c, [v]: [a, o] }, p], rules: [{ endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m, headers: m }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: q, rules: [{ conditions: [{ [u]: c, [v]: [o, a] }], rules: [{ conditions: [{ [u]: "stringEquals", [v]: [n, "us-gov-west-1"] }], endpoint: { url: "https://states.us-gov-west-1.amazonaws.com", properties: m, headers: m }, type: e }, { endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", properties: m, headers: m }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: r, rules: [{ conditions: [p], rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m, headers: m }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://states.{Region}.{PartitionResult#dnsSuffix}", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] }; + exports2.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs7(); + var util_endpoints_2 = require_dist_cjs6(); + var ruleset_1 = require_ruleset4(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger }); - return (0, smithy_client_1.decorateServiceException)(exception, body); }; - var de_StateMachineDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + exports2.defaultEndpointResolver = defaultEndpointResolver; + util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getRuntimeConfig = void 0; + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var smithy_client_1 = require_dist_cjs33(); + var url_parser_1 = require_dist_cjs28(); + var util_base64_1 = require_dist_cjs16(); + var util_utf8_1 = require_dist_cjs15(); + var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider(); + var endpointResolver_1 = require_endpointResolver4(); + var getRuntimeConfig = (config) => { + return { + apiVersion: "2016-11-23", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + extensions: config?.extensions ?? [], + httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSFNHttpAuthSchemeProvider, + httpAuthSchemes: config?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), + signer: new core_1.AwsSdkSigV4Signer() + } + ], + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SFN", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }; }; - var de_StateMachineLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + exports2.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js +var require_runtimeConfig4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package()); + var core_1 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var credential_provider_node_1 = require_dist_cjs52(); + var util_user_agent_node_1 = require_dist_cjs39(); + var config_resolver_1 = require_dist_cjs11(); + var hash_node_1 = require_dist_cjs40(); + var middleware_retry_1 = require_dist_cjs34(); + var node_config_provider_1 = require_dist_cjs26(); + var node_http_handler_1 = require_dist_cjs19(); + var util_body_length_node_1 = require_dist_cjs41(); + var util_retry_1 = require_dist_cjs31(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); + var smithy_client_1 = require_dist_cjs33(); + var util_defaults_mode_node_1 = require_dist_cjs42(); + var smithy_client_2 = require_dist_cjs33(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + (0, core_1.emitWarningIfUnsupportedVersion)(process.version); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + credentialDefaultProvider: config?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider, + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; }; - var de_StateMachineTypeNotSupportedRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineTypeNotSupported({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + exports2.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js +var require_dist_cjs53 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __name = (target, value) => __defProp2(target, "name", { value, configurable: true }); + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); }; - var de_TaskDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TaskDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; }; - var de_TaskTimedOutRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TaskTimedOut({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_TooManyTagsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TooManyTags({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var src_exports = {}; + __export2(src_exports, { + ActivityAlreadyExists: () => ActivityAlreadyExists, + ActivityDoesNotExist: () => ActivityDoesNotExist, + ActivityFailedEventDetailsFilterSensitiveLog: () => ActivityFailedEventDetailsFilterSensitiveLog, + ActivityLimitExceeded: () => ActivityLimitExceeded, + ActivityScheduleFailedEventDetailsFilterSensitiveLog: () => ActivityScheduleFailedEventDetailsFilterSensitiveLog, + ActivityScheduledEventDetailsFilterSensitiveLog: () => ActivityScheduledEventDetailsFilterSensitiveLog, + ActivitySucceededEventDetailsFilterSensitiveLog: () => ActivitySucceededEventDetailsFilterSensitiveLog, + ActivityTimedOutEventDetailsFilterSensitiveLog: () => ActivityTimedOutEventDetailsFilterSensitiveLog, + ActivityWorkerLimitExceeded: () => ActivityWorkerLimitExceeded, + ConflictException: () => ConflictException, + CreateActivityCommand: () => CreateActivityCommand, + CreateStateMachineAliasCommand: () => CreateStateMachineAliasCommand, + CreateStateMachineAliasInputFilterSensitiveLog: () => CreateStateMachineAliasInputFilterSensitiveLog, + CreateStateMachineCommand: () => CreateStateMachineCommand, + CreateStateMachineInputFilterSensitiveLog: () => CreateStateMachineInputFilterSensitiveLog, + DeleteActivityCommand: () => DeleteActivityCommand, + DeleteStateMachineAliasCommand: () => DeleteStateMachineAliasCommand, + DeleteStateMachineCommand: () => DeleteStateMachineCommand, + DeleteStateMachineVersionCommand: () => DeleteStateMachineVersionCommand, + DescribeActivityCommand: () => DescribeActivityCommand, + DescribeExecutionCommand: () => DescribeExecutionCommand, + DescribeExecutionOutputFilterSensitiveLog: () => DescribeExecutionOutputFilterSensitiveLog, + DescribeMapRunCommand: () => DescribeMapRunCommand, + DescribeStateMachineAliasCommand: () => DescribeStateMachineAliasCommand, + DescribeStateMachineAliasOutputFilterSensitiveLog: () => DescribeStateMachineAliasOutputFilterSensitiveLog, + DescribeStateMachineCommand: () => DescribeStateMachineCommand, + DescribeStateMachineForExecutionCommand: () => DescribeStateMachineForExecutionCommand, + DescribeStateMachineForExecutionOutputFilterSensitiveLog: () => DescribeStateMachineForExecutionOutputFilterSensitiveLog, + DescribeStateMachineOutputFilterSensitiveLog: () => DescribeStateMachineOutputFilterSensitiveLog, + EncryptionType: () => EncryptionType, + ExecutionAbortedEventDetailsFilterSensitiveLog: () => ExecutionAbortedEventDetailsFilterSensitiveLog, + ExecutionAlreadyExists: () => ExecutionAlreadyExists, + ExecutionDoesNotExist: () => ExecutionDoesNotExist, + ExecutionFailedEventDetailsFilterSensitiveLog: () => ExecutionFailedEventDetailsFilterSensitiveLog, + ExecutionLimitExceeded: () => ExecutionLimitExceeded, + ExecutionNotRedrivable: () => ExecutionNotRedrivable, + ExecutionRedriveFilter: () => ExecutionRedriveFilter, + ExecutionRedriveStatus: () => ExecutionRedriveStatus, + ExecutionStartedEventDetailsFilterSensitiveLog: () => ExecutionStartedEventDetailsFilterSensitiveLog, + ExecutionStatus: () => ExecutionStatus, + ExecutionSucceededEventDetailsFilterSensitiveLog: () => ExecutionSucceededEventDetailsFilterSensitiveLog, + ExecutionTimedOutEventDetailsFilterSensitiveLog: () => ExecutionTimedOutEventDetailsFilterSensitiveLog, + GetActivityTaskCommand: () => GetActivityTaskCommand, + GetActivityTaskOutputFilterSensitiveLog: () => GetActivityTaskOutputFilterSensitiveLog, + GetExecutionHistoryCommand: () => GetExecutionHistoryCommand, + GetExecutionHistoryOutputFilterSensitiveLog: () => GetExecutionHistoryOutputFilterSensitiveLog, + HistoryEventFilterSensitiveLog: () => HistoryEventFilterSensitiveLog, + HistoryEventType: () => HistoryEventType, + IncludedData: () => IncludedData, + InspectionDataFilterSensitiveLog: () => InspectionDataFilterSensitiveLog, + InspectionLevel: () => InspectionLevel, + InvalidArn: () => InvalidArn, + InvalidDefinition: () => InvalidDefinition, + InvalidEncryptionConfiguration: () => InvalidEncryptionConfiguration, + InvalidExecutionInput: () => InvalidExecutionInput, + InvalidLoggingConfiguration: () => InvalidLoggingConfiguration, + InvalidName: () => InvalidName, + InvalidOutput: () => InvalidOutput, + InvalidToken: () => InvalidToken, + InvalidTracingConfiguration: () => InvalidTracingConfiguration, + KmsAccessDeniedException: () => KmsAccessDeniedException, + KmsInvalidStateException: () => KmsInvalidStateException, + KmsKeyState: () => KmsKeyState, + KmsThrottlingException: () => KmsThrottlingException, + LambdaFunctionFailedEventDetailsFilterSensitiveLog: () => LambdaFunctionFailedEventDetailsFilterSensitiveLog, + LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog: () => LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog, + LambdaFunctionScheduledEventDetailsFilterSensitiveLog: () => LambdaFunctionScheduledEventDetailsFilterSensitiveLog, + LambdaFunctionStartFailedEventDetailsFilterSensitiveLog: () => LambdaFunctionStartFailedEventDetailsFilterSensitiveLog, + LambdaFunctionSucceededEventDetailsFilterSensitiveLog: () => LambdaFunctionSucceededEventDetailsFilterSensitiveLog, + LambdaFunctionTimedOutEventDetailsFilterSensitiveLog: () => LambdaFunctionTimedOutEventDetailsFilterSensitiveLog, + ListActivitiesCommand: () => ListActivitiesCommand, + ListExecutionsCommand: () => ListExecutionsCommand, + ListMapRunsCommand: () => ListMapRunsCommand, + ListStateMachineAliasesCommand: () => ListStateMachineAliasesCommand, + ListStateMachineVersionsCommand: () => ListStateMachineVersionsCommand, + ListStateMachinesCommand: () => ListStateMachinesCommand, + ListTagsForResourceCommand: () => ListTagsForResourceCommand, + LogLevel: () => LogLevel, + MapRunFailedEventDetailsFilterSensitiveLog: () => MapRunFailedEventDetailsFilterSensitiveLog, + MapRunStatus: () => MapRunStatus, + MissingRequiredParameter: () => MissingRequiredParameter, + PublishStateMachineVersionCommand: () => PublishStateMachineVersionCommand, + PublishStateMachineVersionInputFilterSensitiveLog: () => PublishStateMachineVersionInputFilterSensitiveLog, + RedriveExecutionCommand: () => RedriveExecutionCommand, + ResourceNotFound: () => ResourceNotFound, + SFN: () => SFN2, + SFNClient: () => SFNClient, + SFNServiceException: () => SFNServiceException, + SendTaskFailureCommand: () => SendTaskFailureCommand, + SendTaskFailureInputFilterSensitiveLog: () => SendTaskFailureInputFilterSensitiveLog, + SendTaskHeartbeatCommand: () => SendTaskHeartbeatCommand, + SendTaskSuccessCommand: () => SendTaskSuccessCommand, + SendTaskSuccessInputFilterSensitiveLog: () => SendTaskSuccessInputFilterSensitiveLog, + ServiceQuotaExceededException: () => ServiceQuotaExceededException, + StartExecutionCommand: () => StartExecutionCommand, + StartExecutionInputFilterSensitiveLog: () => StartExecutionInputFilterSensitiveLog, + StartSyncExecutionCommand: () => StartSyncExecutionCommand, + StartSyncExecutionInputFilterSensitiveLog: () => StartSyncExecutionInputFilterSensitiveLog, + StartSyncExecutionOutputFilterSensitiveLog: () => StartSyncExecutionOutputFilterSensitiveLog, + StateEnteredEventDetailsFilterSensitiveLog: () => StateEnteredEventDetailsFilterSensitiveLog, + StateExitedEventDetailsFilterSensitiveLog: () => StateExitedEventDetailsFilterSensitiveLog, + StateMachineAlreadyExists: () => StateMachineAlreadyExists, + StateMachineDeleting: () => StateMachineDeleting, + StateMachineDoesNotExist: () => StateMachineDoesNotExist, + StateMachineLimitExceeded: () => StateMachineLimitExceeded, + StateMachineStatus: () => StateMachineStatus, + StateMachineType: () => StateMachineType, + StateMachineTypeNotSupported: () => StateMachineTypeNotSupported, + StopExecutionCommand: () => StopExecutionCommand, + StopExecutionInputFilterSensitiveLog: () => StopExecutionInputFilterSensitiveLog, + SyncExecutionStatus: () => SyncExecutionStatus, + TagResourceCommand: () => TagResourceCommand, + TaskDoesNotExist: () => TaskDoesNotExist, + TaskFailedEventDetailsFilterSensitiveLog: () => TaskFailedEventDetailsFilterSensitiveLog, + TaskScheduledEventDetailsFilterSensitiveLog: () => TaskScheduledEventDetailsFilterSensitiveLog, + TaskStartFailedEventDetailsFilterSensitiveLog: () => TaskStartFailedEventDetailsFilterSensitiveLog, + TaskSubmitFailedEventDetailsFilterSensitiveLog: () => TaskSubmitFailedEventDetailsFilterSensitiveLog, + TaskSubmittedEventDetailsFilterSensitiveLog: () => TaskSubmittedEventDetailsFilterSensitiveLog, + TaskSucceededEventDetailsFilterSensitiveLog: () => TaskSucceededEventDetailsFilterSensitiveLog, + TaskTimedOut: () => TaskTimedOut, + TaskTimedOutEventDetailsFilterSensitiveLog: () => TaskTimedOutEventDetailsFilterSensitiveLog, + TestExecutionStatus: () => TestExecutionStatus, + TestStateCommand: () => TestStateCommand, + TestStateInputFilterSensitiveLog: () => TestStateInputFilterSensitiveLog, + TestStateOutputFilterSensitiveLog: () => TestStateOutputFilterSensitiveLog, + TooManyTags: () => TooManyTags, + UntagResourceCommand: () => UntagResourceCommand, + UpdateMapRunCommand: () => UpdateMapRunCommand, + UpdateStateMachineAliasCommand: () => UpdateStateMachineAliasCommand, + UpdateStateMachineAliasInputFilterSensitiveLog: () => UpdateStateMachineAliasInputFilterSensitiveLog, + UpdateStateMachineCommand: () => UpdateStateMachineCommand, + UpdateStateMachineInputFilterSensitiveLog: () => UpdateStateMachineInputFilterSensitiveLog, + ValidateStateMachineDefinitionCommand: () => ValidateStateMachineDefinitionCommand, + ValidateStateMachineDefinitionInputFilterSensitiveLog: () => ValidateStateMachineDefinitionInputFilterSensitiveLog, + ValidateStateMachineDefinitionResultCode: () => ValidateStateMachineDefinitionResultCode, + ValidateStateMachineDefinitionSeverity: () => ValidateStateMachineDefinitionSeverity, + ValidationException: () => ValidationException, + ValidationExceptionReason: () => ValidationExceptionReason, + __Client: () => import_smithy_client4.Client, + paginateGetExecutionHistory: () => paginateGetExecutionHistory, + paginateListActivities: () => paginateListActivities, + paginateListExecutions: () => paginateListExecutions, + paginateListMapRuns: () => paginateListMapRuns, + paginateListStateMachines: () => paginateListStateMachines + }); + module2.exports = __toCommonJS2(src_exports); + var import_middleware_host_header = require_dist_cjs3(); + var import_middleware_logger = require_dist_cjs4(); + var import_middleware_recursion_detection = require_dist_cjs5(); + var import_middleware_user_agent = require_dist_cjs8(); + var import_config_resolver = require_dist_cjs11(); + var import_core3 = (init_dist_es(), __toCommonJS(dist_es_exports)); + var import_middleware_content_length = require_dist_cjs23(); + var import_middleware_endpoint = require_dist_cjs29(); + var import_middleware_retry = require_dist_cjs34(); + var import_httpAuthSchemeProvider = require_httpAuthSchemeProvider(); + var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "states" + }; + }, "resolveClientEndpointParameters"); + var commonParams = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + var import_runtimeConfig = require_runtimeConfig4(); + var import_region_config_resolver = require_dist_cjs43(); + var import_protocol_http8 = require_dist_cjs2(); + var import_smithy_client4 = require_dist_cjs33(); + var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => { + return { + httpAuthSchemes: config.httpAuthSchemes(), + httpAuthSchemeProvider: config.httpAuthSchemeProvider(), + credentials: config.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial"); + var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = { + ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_smithy_client4.getDefaultExtensionConfiguration)(runtimeConfig)), + ...asPartial((0, import_protocol_http8.getHttpHandlerExtensionConfiguration)(runtimeConfig)), + ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)) + }; + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return { + ...runtimeConfig, + ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), + ...(0, import_smithy_client4.resolveDefaultRuntimeConfig)(extensionConfiguration), + ...(0, import_protocol_http8.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), + ...resolveHttpAuthRuntimeConfig(extensionConfiguration) + }; + }, "resolveRuntimeExtensions"); + var _SFNClient = class _SFNClient extends import_smithy_client4.Client { + constructor(...[configuration]) { + const _config_0 = (0, import_runtimeConfig.getRuntimeConfig)(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_1); + const _config_3 = (0, import_middleware_retry.resolveRetryConfig)(_config_2); + const _config_4 = (0, import_config_resolver.resolveRegionConfig)(_config_3); + const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_5); + const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6); + const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []); + super(_config_8); + this.config = _config_8; + this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_retry.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_content_length.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use( + (0, import_core3.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, { + httpAuthSchemeParametersProvider: import_httpAuthSchemeProvider.defaultSFNHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: async (config) => new import_core3.DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config.credentials + }) + }) + ); + this.middlewareStack.use((0, import_core3.getHttpSigningPlugin)(this.config)); + } + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ + destroy() { + super.destroy(); + } }; - var de_ValidationExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ValidationException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); + __name(_SFNClient, "SFNClient"); + var SFNClient = _SFNClient; + var import_middleware_serde2 = require_dist_cjs12(); + var import_core22 = (init_dist_es2(), __toCommonJS(dist_es_exports2)); + var import_uuid = (init_esm_node(), __toCommonJS(esm_node_exports)); + var _SFNServiceException = class _SFNServiceException2 extends import_smithy_client4.ServiceException { + /** + * @internal + */ + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SFNServiceException2.prototype); + } }; - var se_UpdateMapRunInput = (input, context) => { - return (0, smithy_client_1.take)(input, { - mapRunArn: [], - maxConcurrency: [], - toleratedFailureCount: [], - toleratedFailurePercentage: smithy_client_1.serializeFloat - }); + __name(_SFNServiceException, "SFNServiceException"); + var SFNServiceException = _SFNServiceException; + var _ActivityAlreadyExists = class _ActivityAlreadyExists2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ActivityAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "ActivityAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityAlreadyExists2.prototype); + } }; - var de_ActivityList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_ActivityListItem(entry, context); - }); - return retVal; + __name(_ActivityAlreadyExists, "ActivityAlreadyExists"); + var ActivityAlreadyExists = _ActivityAlreadyExists; + var _ActivityDoesNotExist = class _ActivityDoesNotExist2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ActivityDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ActivityDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityDoesNotExist2.prototype); + } }; - var de_ActivityListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString - }); + __name(_ActivityDoesNotExist, "ActivityDoesNotExist"); + var ActivityDoesNotExist = _ActivityDoesNotExist; + var _ActivityLimitExceeded = class _ActivityLimitExceeded2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ActivityLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityLimitExceeded2.prototype); + } }; - var de_CreateActivityOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_ActivityLimitExceeded, "ActivityLimitExceeded"); + var ActivityLimitExceeded = _ActivityLimitExceeded; + var _ActivityWorkerLimitExceeded = class _ActivityWorkerLimitExceeded2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ActivityWorkerLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityWorkerLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityWorkerLimitExceeded2.prototype); + } }; - var de_CreateStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString - }); + __name(_ActivityWorkerLimitExceeded, "ActivityWorkerLimitExceeded"); + var ActivityWorkerLimitExceeded = _ActivityWorkerLimitExceeded; + var EncryptionType = { + AWS_OWNED_KEY: "AWS_OWNED_KEY", + CUSTOMER_MANAGED_KMS_KEY: "CUSTOMER_MANAGED_KMS_KEY" }; - var de_CreateStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString - }); + var _InvalidEncryptionConfiguration = class _InvalidEncryptionConfiguration2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidEncryptionConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidEncryptionConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidEncryptionConfiguration2.prototype); + } }; - var de_DescribeActivityOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString - }); + __name(_InvalidEncryptionConfiguration, "InvalidEncryptionConfiguration"); + var InvalidEncryptionConfiguration = _InvalidEncryptionConfiguration; + var _InvalidName = class _InvalidName2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidName", + $fault: "client", + ...opts + }); + this.name = "InvalidName"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidName2.prototype); + } }; - var de_DescribeExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - cause: smithy_client_1.expectString, - error: smithy_client_1.expectString, - executionArn: smithy_client_1.expectString, - input: smithy_client_1.expectString, - inputDetails: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - output: smithy_client_1.expectString, - outputDetails: smithy_client_1._json, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - traceHeader: smithy_client_1.expectString - }); + __name(_InvalidName, "InvalidName"); + var InvalidName = _InvalidName; + var _KmsAccessDeniedException = class _KmsAccessDeniedException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "KmsAccessDeniedException", + $fault: "client", + ...opts + }); + this.name = "KmsAccessDeniedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _KmsAccessDeniedException2.prototype); + } }; - var de_DescribeMapRunOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - executionCounts: smithy_client_1._json, - itemCounts: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - maxConcurrency: smithy_client_1.expectInt32, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - toleratedFailureCount: smithy_client_1.expectLong, - toleratedFailurePercentage: smithy_client_1.limitedParseFloat32 - }); + __name(_KmsAccessDeniedException, "KmsAccessDeniedException"); + var KmsAccessDeniedException = _KmsAccessDeniedException; + var _KmsThrottlingException = class _KmsThrottlingException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "KmsThrottlingException", + $fault: "client", + ...opts + }); + this.name = "KmsThrottlingException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _KmsThrottlingException2.prototype); + } }; - var de_DescribeStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - description: smithy_client_1.expectString, - name: smithy_client_1.expectString, - routingConfiguration: smithy_client_1._json, - stateMachineAliasArn: smithy_client_1.expectString, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_KmsThrottlingException, "KmsThrottlingException"); + var KmsThrottlingException = _KmsThrottlingException; + var _TooManyTags = class _TooManyTags2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "TooManyTags", + $fault: "client", + ...opts + }); + this.name = "TooManyTags"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyTags2.prototype); + this.resourceName = opts.resourceName; + } }; - var de_DescribeStateMachineForExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - definition: smithy_client_1.expectString, - label: smithy_client_1.expectString, - loggingConfiguration: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - revisionId: smithy_client_1.expectString, - roleArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - tracingConfiguration: smithy_client_1._json, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_TooManyTags, "TooManyTags"); + var TooManyTags = _TooManyTags; + var _ConflictException = class _ConflictException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ConflictException", + $fault: "client", + ...opts + }); + this.name = "ConflictException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ConflictException2.prototype); + } }; - var de_DescribeStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - definition: smithy_client_1.expectString, - description: smithy_client_1.expectString, - label: smithy_client_1.expectString, - loggingConfiguration: smithy_client_1._json, - name: smithy_client_1.expectString, - revisionId: smithy_client_1.expectString, - roleArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - tracingConfiguration: smithy_client_1._json, - type: smithy_client_1.expectString - }); + __name(_ConflictException, "ConflictException"); + var ConflictException = _ConflictException; + var LogLevel = { + ALL: "ALL", + ERROR: "ERROR", + FATAL: "FATAL", + OFF: "OFF" }; - var de_ExecutionList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_ExecutionListItem(entry, context); - }); - return retVal; + var StateMachineType = { + EXPRESS: "EXPRESS", + STANDARD: "STANDARD" }; - var de_ExecutionListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - itemCount: smithy_client_1.expectInt32, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + var _InvalidArn = class _InvalidArn2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidArn", + $fault: "client", + ...opts + }); + this.name = "InvalidArn"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidArn2.prototype); + } }; - var de_GetExecutionHistoryOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - events: (_) => de_HistoryEventList(_, context), - nextToken: smithy_client_1.expectString - }); + __name(_InvalidArn, "InvalidArn"); + var InvalidArn = _InvalidArn; + var _InvalidDefinition = class _InvalidDefinition2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidDefinition", + $fault: "client", + ...opts + }); + this.name = "InvalidDefinition"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidDefinition2.prototype); + } }; - var de_HistoryEvent = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityFailedEventDetails: smithy_client_1._json, - activityScheduleFailedEventDetails: smithy_client_1._json, - activityScheduledEventDetails: smithy_client_1._json, - activityStartedEventDetails: smithy_client_1._json, - activitySucceededEventDetails: smithy_client_1._json, - activityTimedOutEventDetails: smithy_client_1._json, - executionAbortedEventDetails: smithy_client_1._json, - executionFailedEventDetails: smithy_client_1._json, - executionStartedEventDetails: smithy_client_1._json, - executionSucceededEventDetails: smithy_client_1._json, - executionTimedOutEventDetails: smithy_client_1._json, - id: smithy_client_1.expectLong, - lambdaFunctionFailedEventDetails: smithy_client_1._json, - lambdaFunctionScheduleFailedEventDetails: smithy_client_1._json, - lambdaFunctionScheduledEventDetails: smithy_client_1._json, - lambdaFunctionStartFailedEventDetails: smithy_client_1._json, - lambdaFunctionSucceededEventDetails: smithy_client_1._json, - lambdaFunctionTimedOutEventDetails: smithy_client_1._json, - mapIterationAbortedEventDetails: smithy_client_1._json, - mapIterationFailedEventDetails: smithy_client_1._json, - mapIterationStartedEventDetails: smithy_client_1._json, - mapIterationSucceededEventDetails: smithy_client_1._json, - mapRunFailedEventDetails: smithy_client_1._json, - mapRunStartedEventDetails: smithy_client_1._json, - mapStateStartedEventDetails: smithy_client_1._json, - previousEventId: smithy_client_1.expectLong, - stateEnteredEventDetails: smithy_client_1._json, - stateExitedEventDetails: smithy_client_1._json, - taskFailedEventDetails: smithy_client_1._json, - taskScheduledEventDetails: smithy_client_1._json, - taskStartFailedEventDetails: smithy_client_1._json, - taskStartedEventDetails: smithy_client_1._json, - taskSubmitFailedEventDetails: smithy_client_1._json, - taskSubmittedEventDetails: smithy_client_1._json, - taskSucceededEventDetails: smithy_client_1._json, - taskTimedOutEventDetails: smithy_client_1._json, - timestamp: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - type: smithy_client_1.expectString - }); + __name(_InvalidDefinition, "InvalidDefinition"); + var InvalidDefinition = _InvalidDefinition; + var _InvalidLoggingConfiguration = class _InvalidLoggingConfiguration2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidLoggingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidLoggingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidLoggingConfiguration2.prototype); + } }; - var de_HistoryEventList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_HistoryEvent(entry, context); - }); - return retVal; + __name(_InvalidLoggingConfiguration, "InvalidLoggingConfiguration"); + var InvalidLoggingConfiguration = _InvalidLoggingConfiguration; + var _InvalidTracingConfiguration = class _InvalidTracingConfiguration2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidTracingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidTracingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidTracingConfiguration2.prototype); + } }; - var de_ListActivitiesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activities: (_) => de_ActivityList(_, context), - nextToken: smithy_client_1.expectString - }); + __name(_InvalidTracingConfiguration, "InvalidTracingConfiguration"); + var InvalidTracingConfiguration = _InvalidTracingConfiguration; + var _StateMachineAlreadyExists = class _StateMachineAlreadyExists2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "StateMachineAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "StateMachineAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineAlreadyExists2.prototype); + } }; - var de_ListExecutionsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executions: (_) => de_ExecutionList(_, context), - nextToken: smithy_client_1.expectString - }); + __name(_StateMachineAlreadyExists, "StateMachineAlreadyExists"); + var StateMachineAlreadyExists = _StateMachineAlreadyExists; + var _StateMachineDeleting = class _StateMachineDeleting2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "StateMachineDeleting", + $fault: "client", + ...opts + }); + this.name = "StateMachineDeleting"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDeleting2.prototype); + } }; - var de_ListMapRunsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - mapRuns: (_) => de_MapRunList(_, context), - nextToken: smithy_client_1.expectString - }); + __name(_StateMachineDeleting, "StateMachineDeleting"); + var StateMachineDeleting = _StateMachineDeleting; + var _StateMachineLimitExceeded = class _StateMachineLimitExceeded2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "StateMachineLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "StateMachineLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineLimitExceeded2.prototype); + } }; - var de_ListStateMachineAliasesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachineAliases: (_) => de_StateMachineAliasList(_, context) - }); + __name(_StateMachineLimitExceeded, "StateMachineLimitExceeded"); + var StateMachineLimitExceeded = _StateMachineLimitExceeded; + var _StateMachineTypeNotSupported = class _StateMachineTypeNotSupported2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "StateMachineTypeNotSupported", + $fault: "client", + ...opts + }); + this.name = "StateMachineTypeNotSupported"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineTypeNotSupported2.prototype); + } }; - var de_ListStateMachinesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachines: (_) => de_StateMachineList(_, context) - }); + __name(_StateMachineTypeNotSupported, "StateMachineTypeNotSupported"); + var StateMachineTypeNotSupported = _StateMachineTypeNotSupported; + var ValidationExceptionReason = { + API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", + CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", + INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", + MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER" }; - var de_ListStateMachineVersionsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachineVersions: (_) => de_StateMachineVersionList(_, context) - }); + var _ValidationException = class _ValidationException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ValidationException", + $fault: "client", + ...opts + }); + this.name = "ValidationException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ValidationException2.prototype); + this.reason = opts.reason; + } }; - var de_MapRunList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_MapRunListItem(entry, context); - }); - return retVal; + __name(_ValidationException, "ValidationException"); + var ValidationException = _ValidationException; + var _ResourceNotFound = class _ResourceNotFound2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ResourceNotFound", + $fault: "client", + ...opts + }); + this.name = "ResourceNotFound"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFound2.prototype); + this.resourceName = opts.resourceName; + } }; - var de_MapRunListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - mapRunArn: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_ResourceNotFound, "ResourceNotFound"); + var ResourceNotFound = _ResourceNotFound; + var _ServiceQuotaExceededException = class _ServiceQuotaExceededException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts + }); + this.name = "ServiceQuotaExceededException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ServiceQuotaExceededException2.prototype); + } }; - var de_PublishStateMachineVersionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineVersionArn: smithy_client_1.expectString - }); + __name(_ServiceQuotaExceededException, "ServiceQuotaExceededException"); + var ServiceQuotaExceededException = _ServiceQuotaExceededException; + var IncludedData = { + ALL_DATA: "ALL_DATA", + METADATA_ONLY: "METADATA_ONLY" }; - var de_StartExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + var ExecutionRedriveStatus = { + NOT_REDRIVABLE: "NOT_REDRIVABLE", + REDRIVABLE: "REDRIVABLE", + REDRIVABLE_BY_MAP_RUN: "REDRIVABLE_BY_MAP_RUN" }; - var de_StartSyncExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - billingDetails: smithy_client_1._json, - cause: smithy_client_1.expectString, - error: smithy_client_1.expectString, - executionArn: smithy_client_1.expectString, - input: smithy_client_1.expectString, - inputDetails: smithy_client_1._json, - name: smithy_client_1.expectString, - output: smithy_client_1.expectString, - outputDetails: smithy_client_1._json, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - traceHeader: smithy_client_1.expectString - }); + var ExecutionStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + PENDING_REDRIVE: "PENDING_REDRIVE", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" }; - var de_StateMachineAliasList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineAliasListItem(entry, context); - }); - return retVal; + var _ExecutionDoesNotExist = class _ExecutionDoesNotExist2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ExecutionDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ExecutionDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionDoesNotExist2.prototype); + } }; - var de_StateMachineAliasListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString - }); + __name(_ExecutionDoesNotExist, "ExecutionDoesNotExist"); + var ExecutionDoesNotExist = _ExecutionDoesNotExist; + var KmsKeyState = { + CREATING: "CREATING", + DISABLED: "DISABLED", + PENDING_DELETION: "PENDING_DELETION", + PENDING_IMPORT: "PENDING_IMPORT", + UNAVAILABLE: "UNAVAILABLE" }; - var de_StateMachineList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineListItem(entry, context); - }); - return retVal; + var _KmsInvalidStateException = class _KmsInvalidStateException2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "KmsInvalidStateException", + $fault: "client", + ...opts + }); + this.name = "KmsInvalidStateException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _KmsInvalidStateException2.prototype); + this.kmsKeyState = opts.kmsKeyState; + } }; - var de_StateMachineListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - type: smithy_client_1.expectString - }); + __name(_KmsInvalidStateException, "KmsInvalidStateException"); + var KmsInvalidStateException = _KmsInvalidStateException; + var MapRunStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED" }; - var de_StateMachineVersionList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineVersionListItem(entry, context); - }); - return retVal; + var StateMachineStatus = { + ACTIVE: "ACTIVE", + DELETING: "DELETING" }; - var de_StateMachineVersionListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineVersionArn: smithy_client_1.expectString - }); + var _StateMachineDoesNotExist = class _StateMachineDoesNotExist2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "StateMachineDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "StateMachineDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDoesNotExist2.prototype); + } }; - var de_StopExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_StateMachineDoesNotExist, "StateMachineDoesNotExist"); + var StateMachineDoesNotExist = _StateMachineDoesNotExist; + var HistoryEventType = { + ActivityFailed: "ActivityFailed", + ActivityScheduleFailed: "ActivityScheduleFailed", + ActivityScheduled: "ActivityScheduled", + ActivityStarted: "ActivityStarted", + ActivitySucceeded: "ActivitySucceeded", + ActivityTimedOut: "ActivityTimedOut", + ChoiceStateEntered: "ChoiceStateEntered", + ChoiceStateExited: "ChoiceStateExited", + ExecutionAborted: "ExecutionAborted", + ExecutionFailed: "ExecutionFailed", + ExecutionRedriven: "ExecutionRedriven", + ExecutionStarted: "ExecutionStarted", + ExecutionSucceeded: "ExecutionSucceeded", + ExecutionTimedOut: "ExecutionTimedOut", + FailStateEntered: "FailStateEntered", + LambdaFunctionFailed: "LambdaFunctionFailed", + LambdaFunctionScheduleFailed: "LambdaFunctionScheduleFailed", + LambdaFunctionScheduled: "LambdaFunctionScheduled", + LambdaFunctionStartFailed: "LambdaFunctionStartFailed", + LambdaFunctionStarted: "LambdaFunctionStarted", + LambdaFunctionSucceeded: "LambdaFunctionSucceeded", + LambdaFunctionTimedOut: "LambdaFunctionTimedOut", + MapIterationAborted: "MapIterationAborted", + MapIterationFailed: "MapIterationFailed", + MapIterationStarted: "MapIterationStarted", + MapIterationSucceeded: "MapIterationSucceeded", + MapRunAborted: "MapRunAborted", + MapRunFailed: "MapRunFailed", + MapRunRedriven: "MapRunRedriven", + MapRunStarted: "MapRunStarted", + MapRunSucceeded: "MapRunSucceeded", + MapStateAborted: "MapStateAborted", + MapStateEntered: "MapStateEntered", + MapStateExited: "MapStateExited", + MapStateFailed: "MapStateFailed", + MapStateStarted: "MapStateStarted", + MapStateSucceeded: "MapStateSucceeded", + ParallelStateAborted: "ParallelStateAborted", + ParallelStateEntered: "ParallelStateEntered", + ParallelStateExited: "ParallelStateExited", + ParallelStateFailed: "ParallelStateFailed", + ParallelStateStarted: "ParallelStateStarted", + ParallelStateSucceeded: "ParallelStateSucceeded", + PassStateEntered: "PassStateEntered", + PassStateExited: "PassStateExited", + SucceedStateEntered: "SucceedStateEntered", + SucceedStateExited: "SucceedStateExited", + TaskFailed: "TaskFailed", + TaskScheduled: "TaskScheduled", + TaskStartFailed: "TaskStartFailed", + TaskStarted: "TaskStarted", + TaskStateAborted: "TaskStateAborted", + TaskStateEntered: "TaskStateEntered", + TaskStateExited: "TaskStateExited", + TaskSubmitFailed: "TaskSubmitFailed", + TaskSubmitted: "TaskSubmitted", + TaskSucceeded: "TaskSucceeded", + TaskTimedOut: "TaskTimedOut", + WaitStateAborted: "WaitStateAborted", + WaitStateEntered: "WaitStateEntered", + WaitStateExited: "WaitStateExited" }; - var de_UpdateStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + var _InvalidToken = class _InvalidToken2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidToken", + $fault: "client", + ...opts + }); + this.name = "InvalidToken"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidToken2.prototype); + } }; - var de_UpdateStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - revisionId: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); + __name(_InvalidToken, "InvalidToken"); + var InvalidToken = _InvalidToken; + var ExecutionRedriveFilter = { + NOT_REDRIVEN: "NOT_REDRIVEN", + REDRIVEN: "REDRIVEN" }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var throwDefaultError = (0, smithy_client_1.withBaseException)(SFNServiceException_1.SFNServiceException); - var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const contents = { - protocol, - hostname, - port, - method: "POST", - path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, - headers - }; - if (resolvedHostname !== void 0) { - contents.hostname = resolvedHostname; - } - if (body !== void 0) { - contents.body = body; + var _ExecutionLimitExceeded = class _ExecutionLimitExceeded2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ExecutionLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ExecutionLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionLimitExceeded2.prototype); } - return new protocol_http_1.HttpRequest(contents); }; - function sharedHeaders(operation) { - return { - "content-type": "application/x-amz-json-1.0", - "x-amz-target": `AWSStepFunctions.${operation}` - }; - } - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); + __name(_ExecutionLimitExceeded, "ExecutionLimitExceeded"); + var ExecutionLimitExceeded = _ExecutionLimitExceeded; + var _ExecutionNotRedrivable = class _ExecutionNotRedrivable2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ExecutionNotRedrivable", + $fault: "client", + ...opts + }); + this.name = "ExecutionNotRedrivable"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionNotRedrivable2.prototype); } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; - return value; }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; - } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; - } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); + __name(_ExecutionNotRedrivable, "ExecutionNotRedrivable"); + var ExecutionNotRedrivable = _ExecutionNotRedrivable; + var _TaskDoesNotExist = class _TaskDoesNotExist2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "TaskDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "TaskDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskDoesNotExist2.prototype); } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js -var require_CreateActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CreateActivityCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateActivityCommand = class _CreateActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "CreateActivity" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateActivityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateActivityCommand)(output, context); + __name(_TaskDoesNotExist, "TaskDoesNotExist"); + var TaskDoesNotExist = _TaskDoesNotExist; + var _TaskTimedOut = class _TaskTimedOut2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "TaskTimedOut", + $fault: "client", + ...opts + }); + this.name = "TaskTimedOut"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskTimedOut2.prototype); } }; - exports2.CreateActivityCommand = CreateActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js -var require_CreateStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CreateStateMachineAliasCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.CreateStateMachineAliasInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "CreateStateMachineAlias" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateStateMachineAliasCommand)(output, context); + __name(_TaskTimedOut, "TaskTimedOut"); + var TaskTimedOut = _TaskTimedOut; + var _InvalidOutput = class _InvalidOutput2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidOutput", + $fault: "client", + ...opts + }); + this.name = "InvalidOutput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidOutput2.prototype); } }; - exports2.CreateStateMachineAliasCommand = CreateStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js -var require_CreateStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CreateStateMachineCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.CreateStateMachineInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "CreateStateMachine" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateStateMachineCommand)(output, context); + __name(_InvalidOutput, "InvalidOutput"); + var InvalidOutput = _InvalidOutput; + var _ExecutionAlreadyExists = class _ExecutionAlreadyExists2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "ExecutionAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "ExecutionAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionAlreadyExists2.prototype); } }; - exports2.CreateStateMachineCommand = CreateStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js -var require_DeleteActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DeleteActivityCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteActivityCommand = class _DeleteActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DeleteActivity" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteActivityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteActivityCommand)(output, context); + __name(_ExecutionAlreadyExists, "ExecutionAlreadyExists"); + var ExecutionAlreadyExists = _ExecutionAlreadyExists; + var _InvalidExecutionInput = class _InvalidExecutionInput2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "InvalidExecutionInput", + $fault: "client", + ...opts + }); + this.name = "InvalidExecutionInput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidExecutionInput2.prototype); } }; - exports2.DeleteActivityCommand = DeleteActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js -var require_DeleteStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DeleteStateMachineAliasCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineAliasCommand = class _DeleteStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DeleteStateMachineAlias" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineAliasCommand)(output, context); + __name(_InvalidExecutionInput, "InvalidExecutionInput"); + var InvalidExecutionInput = _InvalidExecutionInput; + var SyncExecutionStatus = { + FAILED: "FAILED", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" + }; + var InspectionLevel = { + DEBUG: "DEBUG", + INFO: "INFO", + TRACE: "TRACE" + }; + var TestExecutionStatus = { + CAUGHT_ERROR: "CAUGHT_ERROR", + FAILED: "FAILED", + RETRIABLE: "RETRIABLE", + SUCCEEDED: "SUCCEEDED" + }; + var _MissingRequiredParameter = class _MissingRequiredParameter2 extends SFNServiceException { + /** + * @internal + */ + constructor(opts) { + super({ + name: "MissingRequiredParameter", + $fault: "client", + ...opts + }); + this.name = "MissingRequiredParameter"; + this.$fault = "client"; + Object.setPrototypeOf(this, _MissingRequiredParameter2.prototype); } }; - exports2.DeleteStateMachineAliasCommand = DeleteStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js -var require_DeleteStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DeleteStateMachineCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineCommand = class _DeleteStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + __name(_MissingRequiredParameter, "MissingRequiredParameter"); + var MissingRequiredParameter = _MissingRequiredParameter; + var ValidateStateMachineDefinitionSeverity = { + ERROR: "ERROR" + }; + var ValidateStateMachineDefinitionResultCode = { + FAIL: "FAIL", + OK: "OK" + }; + var ActivityFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ActivityFailedEventDetailsFilterSensitiveLog"); + var ActivityScheduledEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "ActivityScheduledEventDetailsFilterSensitiveLog"); + var ActivityScheduleFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ActivityScheduleFailedEventDetailsFilterSensitiveLog"); + var ActivitySucceededEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "ActivitySucceededEventDetailsFilterSensitiveLog"); + var ActivityTimedOutEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ActivityTimedOutEventDetailsFilterSensitiveLog"); + var CreateStateMachineInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: import_smithy_client4.SENSITIVE_STRING } + }), "CreateStateMachineInputFilterSensitiveLog"); + var CreateStateMachineAliasInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.description && { description: import_smithy_client4.SENSITIVE_STRING } + }), "CreateStateMachineAliasInputFilterSensitiveLog"); + var DescribeExecutionOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING }, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING }, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING }, + ...obj.redriveStatusReason && { redriveStatusReason: import_smithy_client4.SENSITIVE_STRING } + }), "DescribeExecutionOutputFilterSensitiveLog"); + var DescribeStateMachineOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING }, + ...obj.description && { description: import_smithy_client4.SENSITIVE_STRING } + }), "DescribeStateMachineOutputFilterSensitiveLog"); + var DescribeStateMachineAliasOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.description && { description: import_smithy_client4.SENSITIVE_STRING } + }), "DescribeStateMachineAliasOutputFilterSensitiveLog"); + var DescribeStateMachineForExecutionOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING } + }), "DescribeStateMachineForExecutionOutputFilterSensitiveLog"); + var GetActivityTaskOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "GetActivityTaskOutputFilterSensitiveLog"); + var ExecutionAbortedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ExecutionAbortedEventDetailsFilterSensitiveLog"); + var ExecutionFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ExecutionFailedEventDetailsFilterSensitiveLog"); + var ExecutionStartedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "ExecutionStartedEventDetailsFilterSensitiveLog"); + var ExecutionSucceededEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "ExecutionSucceededEventDetailsFilterSensitiveLog"); + var ExecutionTimedOutEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "ExecutionTimedOutEventDetailsFilterSensitiveLog"); + var LambdaFunctionFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionFailedEventDetailsFilterSensitiveLog"); + var LambdaFunctionScheduledEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionScheduledEventDetailsFilterSensitiveLog"); + var LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog"); + var LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionStartFailedEventDetailsFilterSensitiveLog"); + var LambdaFunctionSucceededEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionSucceededEventDetailsFilterSensitiveLog"); + var LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "LambdaFunctionTimedOutEventDetailsFilterSensitiveLog"); + var MapRunFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "MapRunFailedEventDetailsFilterSensitiveLog"); + var StateEnteredEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "StateEnteredEventDetailsFilterSensitiveLog"); + var StateExitedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "StateExitedEventDetailsFilterSensitiveLog"); + var TaskFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "TaskFailedEventDetailsFilterSensitiveLog"); + var TaskScheduledEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.parameters && { parameters: import_smithy_client4.SENSITIVE_STRING } + }), "TaskScheduledEventDetailsFilterSensitiveLog"); + var TaskStartFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "TaskStartFailedEventDetailsFilterSensitiveLog"); + var TaskSubmitFailedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "TaskSubmitFailedEventDetailsFilterSensitiveLog"); + var TaskSubmittedEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "TaskSubmittedEventDetailsFilterSensitiveLog"); + var TaskSucceededEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "TaskSucceededEventDetailsFilterSensitiveLog"); + var TaskTimedOutEventDetailsFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "TaskTimedOutEventDetailsFilterSensitiveLog"); + var HistoryEventFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.activityFailedEventDetails && { + activityFailedEventDetails: ActivityFailedEventDetailsFilterSensitiveLog(obj.activityFailedEventDetails) + }, + ...obj.activityScheduleFailedEventDetails && { + activityScheduleFailedEventDetails: ActivityScheduleFailedEventDetailsFilterSensitiveLog( + obj.activityScheduleFailedEventDetails + ) + }, + ...obj.activityScheduledEventDetails && { + activityScheduledEventDetails: ActivityScheduledEventDetailsFilterSensitiveLog(obj.activityScheduledEventDetails) + }, + ...obj.activitySucceededEventDetails && { + activitySucceededEventDetails: ActivitySucceededEventDetailsFilterSensitiveLog(obj.activitySucceededEventDetails) + }, + ...obj.activityTimedOutEventDetails && { + activityTimedOutEventDetails: ActivityTimedOutEventDetailsFilterSensitiveLog(obj.activityTimedOutEventDetails) + }, + ...obj.taskFailedEventDetails && { + taskFailedEventDetails: TaskFailedEventDetailsFilterSensitiveLog(obj.taskFailedEventDetails) + }, + ...obj.taskScheduledEventDetails && { + taskScheduledEventDetails: TaskScheduledEventDetailsFilterSensitiveLog(obj.taskScheduledEventDetails) + }, + ...obj.taskStartFailedEventDetails && { + taskStartFailedEventDetails: TaskStartFailedEventDetailsFilterSensitiveLog(obj.taskStartFailedEventDetails) + }, + ...obj.taskSubmitFailedEventDetails && { + taskSubmitFailedEventDetails: TaskSubmitFailedEventDetailsFilterSensitiveLog(obj.taskSubmitFailedEventDetails) + }, + ...obj.taskSubmittedEventDetails && { + taskSubmittedEventDetails: TaskSubmittedEventDetailsFilterSensitiveLog(obj.taskSubmittedEventDetails) + }, + ...obj.taskSucceededEventDetails && { + taskSucceededEventDetails: TaskSucceededEventDetailsFilterSensitiveLog(obj.taskSucceededEventDetails) + }, + ...obj.taskTimedOutEventDetails && { + taskTimedOutEventDetails: TaskTimedOutEventDetailsFilterSensitiveLog(obj.taskTimedOutEventDetails) + }, + ...obj.executionFailedEventDetails && { + executionFailedEventDetails: ExecutionFailedEventDetailsFilterSensitiveLog(obj.executionFailedEventDetails) + }, + ...obj.executionStartedEventDetails && { + executionStartedEventDetails: ExecutionStartedEventDetailsFilterSensitiveLog(obj.executionStartedEventDetails) + }, + ...obj.executionSucceededEventDetails && { + executionSucceededEventDetails: ExecutionSucceededEventDetailsFilterSensitiveLog( + obj.executionSucceededEventDetails + ) + }, + ...obj.executionAbortedEventDetails && { + executionAbortedEventDetails: ExecutionAbortedEventDetailsFilterSensitiveLog(obj.executionAbortedEventDetails) + }, + ...obj.executionTimedOutEventDetails && { + executionTimedOutEventDetails: ExecutionTimedOutEventDetailsFilterSensitiveLog(obj.executionTimedOutEventDetails) + }, + ...obj.lambdaFunctionFailedEventDetails && { + lambdaFunctionFailedEventDetails: LambdaFunctionFailedEventDetailsFilterSensitiveLog( + obj.lambdaFunctionFailedEventDetails + ) + }, + ...obj.lambdaFunctionScheduleFailedEventDetails && { + lambdaFunctionScheduleFailedEventDetails: LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog( + obj.lambdaFunctionScheduleFailedEventDetails + ) + }, + ...obj.lambdaFunctionScheduledEventDetails && { + lambdaFunctionScheduledEventDetails: LambdaFunctionScheduledEventDetailsFilterSensitiveLog( + obj.lambdaFunctionScheduledEventDetails + ) + }, + ...obj.lambdaFunctionStartFailedEventDetails && { + lambdaFunctionStartFailedEventDetails: LambdaFunctionStartFailedEventDetailsFilterSensitiveLog( + obj.lambdaFunctionStartFailedEventDetails + ) + }, + ...obj.lambdaFunctionSucceededEventDetails && { + lambdaFunctionSucceededEventDetails: LambdaFunctionSucceededEventDetailsFilterSensitiveLog( + obj.lambdaFunctionSucceededEventDetails + ) + }, + ...obj.lambdaFunctionTimedOutEventDetails && { + lambdaFunctionTimedOutEventDetails: LambdaFunctionTimedOutEventDetailsFilterSensitiveLog( + obj.lambdaFunctionTimedOutEventDetails + ) + }, + ...obj.stateEnteredEventDetails && { + stateEnteredEventDetails: StateEnteredEventDetailsFilterSensitiveLog(obj.stateEnteredEventDetails) + }, + ...obj.stateExitedEventDetails && { + stateExitedEventDetails: StateExitedEventDetailsFilterSensitiveLog(obj.stateExitedEventDetails) + }, + ...obj.mapRunFailedEventDetails && { + mapRunFailedEventDetails: MapRunFailedEventDetailsFilterSensitiveLog(obj.mapRunFailedEventDetails) } - constructor(input) { - super(); - this.input = input; + }), "HistoryEventFilterSensitiveLog"); + var GetExecutionHistoryOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.events && { events: obj.events.map((item) => HistoryEventFilterSensitiveLog(item)) } + }), "GetExecutionHistoryOutputFilterSensitiveLog"); + var PublishStateMachineVersionInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.description && { description: import_smithy_client4.SENSITIVE_STRING } + }), "PublishStateMachineVersionInputFilterSensitiveLog"); + var SendTaskFailureInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "SendTaskFailureInputFilterSensitiveLog"); + var SendTaskSuccessInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "SendTaskSuccessInputFilterSensitiveLog"); + var StartExecutionInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "StartExecutionInputFilterSensitiveLog"); + var StartSyncExecutionInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "StartSyncExecutionInputFilterSensitiveLog"); + var StartSyncExecutionOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING }, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING }, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING } + }), "StartSyncExecutionOutputFilterSensitiveLog"); + var StopExecutionInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING } + }), "StopExecutionInputFilterSensitiveLog"); + var TestStateInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING }, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING } + }), "TestStateInputFilterSensitiveLog"); + var InspectionDataFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.input && { input: import_smithy_client4.SENSITIVE_STRING }, + ...obj.afterInputPath && { afterInputPath: import_smithy_client4.SENSITIVE_STRING }, + ...obj.afterParameters && { afterParameters: import_smithy_client4.SENSITIVE_STRING }, + ...obj.result && { result: import_smithy_client4.SENSITIVE_STRING }, + ...obj.afterResultSelector && { afterResultSelector: import_smithy_client4.SENSITIVE_STRING }, + ...obj.afterResultPath && { afterResultPath: import_smithy_client4.SENSITIVE_STRING } + }), "InspectionDataFilterSensitiveLog"); + var TestStateOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.output && { output: import_smithy_client4.SENSITIVE_STRING }, + ...obj.error && { error: import_smithy_client4.SENSITIVE_STRING }, + ...obj.cause && { cause: import_smithy_client4.SENSITIVE_STRING }, + ...obj.inspectionData && { inspectionData: import_smithy_client4.SENSITIVE_STRING } + }), "TestStateOutputFilterSensitiveLog"); + var UpdateStateMachineInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: import_smithy_client4.SENSITIVE_STRING } + }), "UpdateStateMachineInputFilterSensitiveLog"); + var UpdateStateMachineAliasInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.description && { description: import_smithy_client4.SENSITIVE_STRING } + }), "UpdateStateMachineAliasInputFilterSensitiveLog"); + var ValidateStateMachineDefinitionInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({ + ...obj, + ...obj.definition && { definition: import_smithy_client4.SENSITIVE_STRING } + }), "ValidateStateMachineDefinitionInputFilterSensitiveLog"); + var se_CreateActivityCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("CreateActivity"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_CreateActivityCommand"); + var se_CreateStateMachineCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("CreateStateMachine"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_CreateStateMachineCommand"); + var se_CreateStateMachineAliasCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("CreateStateMachineAlias"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_CreateStateMachineAliasCommand"); + var se_DeleteActivityCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DeleteActivity"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DeleteActivityCommand"); + var se_DeleteStateMachineCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DeleteStateMachine"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DeleteStateMachineCommand"); + var se_DeleteStateMachineAliasCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineAlias"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DeleteStateMachineAliasCommand"); + var se_DeleteStateMachineVersionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineVersion"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DeleteStateMachineVersionCommand"); + var se_DescribeActivityCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeActivity"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeActivityCommand"); + var se_DescribeExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeExecution"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeExecutionCommand"); + var se_DescribeMapRunCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeMapRun"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeMapRunCommand"); + var se_DescribeStateMachineCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeStateMachine"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeStateMachineCommand"); + var se_DescribeStateMachineAliasCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineAlias"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeStateMachineAliasCommand"); + var se_DescribeStateMachineForExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineForExecution"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_DescribeStateMachineForExecutionCommand"); + var se_GetActivityTaskCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("GetActivityTask"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetActivityTaskCommand"); + var se_GetExecutionHistoryCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("GetExecutionHistory"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_GetExecutionHistoryCommand"); + var se_ListActivitiesCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListActivities"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListActivitiesCommand"); + var se_ListExecutionsCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListExecutions"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListExecutionsCommand"); + var se_ListMapRunsCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListMapRuns"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListMapRunsCommand"); + var se_ListStateMachineAliasesCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListStateMachineAliases"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListStateMachineAliasesCommand"); + var se_ListStateMachinesCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListStateMachines"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListStateMachinesCommand"); + var se_ListStateMachineVersionsCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListStateMachineVersions"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListStateMachineVersionsCommand"); + var se_ListTagsForResourceCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ListTagsForResource"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ListTagsForResourceCommand"); + var se_PublishStateMachineVersionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("PublishStateMachineVersion"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_PublishStateMachineVersionCommand"); + var se_RedriveExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("RedriveExecution"); + let body; + body = JSON.stringify(se_RedriveExecutionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_RedriveExecutionCommand"); + var se_SendTaskFailureCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("SendTaskFailure"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_SendTaskFailureCommand"); + var se_SendTaskHeartbeatCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("SendTaskHeartbeat"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_SendTaskHeartbeatCommand"); + var se_SendTaskSuccessCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("SendTaskSuccess"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_SendTaskSuccessCommand"); + var se_StartExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("StartExecution"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_StartExecutionCommand"); + var se_StartSyncExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("StartSyncExecution"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "sync-" + resolvedHostname; + if (!(0, import_protocol_http8.isValidHostname)(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DeleteStateMachine" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); + }, "se_StartSyncExecutionCommand"); + var se_StopExecutionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("StopExecution"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_StopExecutionCommand"); + var se_TagResourceCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("TagResource"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_TagResourceCommand"); + var se_TestStateCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("TestState"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "sync-" + resolvedHostname; + if (!(0, import_protocol_http8.isValidHostname)(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineCommand)(input, context); + return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); + }, "se_TestStateCommand"); + var se_UntagResourceCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("UntagResource"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_UntagResourceCommand"); + var se_UpdateMapRunCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("UpdateMapRun"); + let body; + body = JSON.stringify(se_UpdateMapRunInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_UpdateMapRunCommand"); + var se_UpdateStateMachineCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("UpdateStateMachine"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_UpdateStateMachineCommand"); + var se_UpdateStateMachineAliasCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("UpdateStateMachineAlias"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_UpdateStateMachineAliasCommand"); + var se_ValidateStateMachineDefinitionCommand = /* @__PURE__ */ __name(async (input, context) => { + const headers = sharedHeaders("ValidateStateMachineDefinition"); + let body; + body = JSON.stringify((0, import_smithy_client4._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }, "se_ValidateStateMachineDefinitionCommand"); + var de_CreateActivityCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_CreateActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_CreateActivityCommand"); + var de_CreateStateMachineCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.DeleteStateMachineCommand = DeleteStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js -var require_DeleteStateMachineVersionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DeleteStateMachineVersionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineVersionCommand = class _DeleteStateMachineVersionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_CreateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_CreateStateMachineCommand"); + var de_CreateStateMachineAliasCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineVersionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineVersionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DeleteStateMachineVersion" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_CreateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_CreateStateMachineAliasCommand"); + var de_DeleteActivityCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineVersionCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DeleteActivityCommand"); + var de_DeleteStateMachineCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineVersionCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DeleteStateMachineCommand"); + var de_DeleteStateMachineAliasCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.DeleteStateMachineVersionCommand = DeleteStateMachineVersionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js -var require_DescribeActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeActivityCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeActivityCommand = class _DescribeActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DeleteStateMachineAliasCommand"); + var de_DeleteStateMachineVersionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DeleteStateMachineVersionCommand"); + var de_DescribeActivityCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeActivity" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeActivityCommand"); + var de_DescribeExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeActivityCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeExecutionCommand"); + var de_DescribeMapRunCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeActivityCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeMapRunOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeMapRunCommand"); + var de_DescribeStateMachineCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.DescribeActivityCommand = DescribeActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js -var require_DescribeExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeExecutionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeStateMachineCommand"); + var de_DescribeStateMachineAliasCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeStateMachineAliasCommand"); + var de_DescribeStateMachineForExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeExecutionOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeExecution" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineForExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_DescribeStateMachineForExecutionCommand"); + var de_GetActivityTaskCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeExecutionCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetActivityTaskCommand"); + var de_GetExecutionHistoryCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeExecutionCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_GetExecutionHistoryOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_GetExecutionHistoryCommand"); + var de_ListActivitiesCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.DescribeExecutionCommand = DescribeExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js -var require_DescribeMapRunCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeMapRunCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeMapRunCommand = class _DescribeMapRunCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListActivitiesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListActivitiesCommand"); + var de_ListExecutionsCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListExecutionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListExecutionsCommand"); + var de_ListMapRunsCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeMapRunCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeMapRunCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeMapRun" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListMapRunsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListMapRunsCommand"); + var de_ListStateMachineAliasesCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeMapRunCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListStateMachineAliasesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListStateMachineAliasesCommand"); + var de_ListStateMachinesCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeMapRunCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListStateMachinesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListStateMachinesCommand"); + var de_ListStateMachineVersionsCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.DescribeMapRunCommand = DescribeMapRunCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js -var require_DescribeStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeStateMachineAliasCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_ListStateMachineVersionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListStateMachineVersionsCommand"); + var de_ListTagsForResourceCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ListTagsForResourceCommand"); + var de_PublishStateMachineVersionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineAliasOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeStateMachineAlias" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineAliasCommand)(output, context); - } - }; - exports2.DescribeStateMachineAliasCommand = DescribeStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js -var require_DescribeStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeStateMachineCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeStateMachine" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineCommand)(output, context); - } - }; - exports2.DescribeStateMachineCommand = DescribeStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js -var require_DescribeStateMachineForExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DescribeStateMachineForExecutionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineForExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineForExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineForExecutionOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "DescribeStateMachineForExecution" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineForExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineForExecutionCommand)(output, context); - } - }; - exports2.DescribeStateMachineForExecutionCommand = DescribeStateMachineForExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js -var require_GetActivityTaskCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetActivityTaskCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetActivityTaskCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "GetActivityTaskCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetActivityTaskOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "GetActivityTask" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_GetActivityTaskCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_GetActivityTaskCommand)(output, context); - } - }; - exports2.GetActivityTaskCommand = GetActivityTaskCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js -var require_GetExecutionHistoryCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GetExecutionHistoryCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_PublishStateMachineVersionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_PublishStateMachineVersionCommand"); + var de_RedriveExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetExecutionHistoryCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "GetExecutionHistoryCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetExecutionHistoryOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "GetExecutionHistory" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_RedriveExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_RedriveExecutionCommand"); + var de_SendTaskFailureCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_GetExecutionHistoryCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_SendTaskFailureCommand"); + var de_SendTaskHeartbeatCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_GetExecutionHistoryCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_SendTaskHeartbeatCommand"); + var de_SendTaskSuccessCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.GetExecutionHistoryCommand = GetExecutionHistoryCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js -var require_ListActivitiesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListActivitiesCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListActivitiesCommand = class _ListActivitiesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_SendTaskSuccessCommand"); + var de_StartExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_StartExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_StartExecutionCommand"); + var de_StartSyncExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListActivitiesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListActivitiesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListActivities" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_StartSyncExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_StartSyncExecutionCommand"); + var de_StopExecutionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListActivitiesCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_StopExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_StopExecutionCommand"); + var de_TagResourceCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListActivitiesCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_TagResourceCommand"); + var de_TestStateCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ListActivitiesCommand = ListActivitiesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js -var require_ListExecutionsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListExecutionsCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListExecutionsCommand = class _ListExecutionsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_TestStateCommand"); + var de_UntagResourceCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - constructor(input) { - super(); - this.input = input; + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_UntagResourceCommand"); + var de_UpdateMapRunCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListExecutionsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListExecutionsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListExecutions" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_UpdateMapRunCommand"); + var de_UpdateStateMachineCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListExecutionsCommand)(input, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_UpdateStateMachineCommand"); + var de_UpdateStateMachineAliasCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListExecutionsCommand)(output, context); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_UpdateStateMachineAliasCommand"); + var de_ValidateStateMachineDefinitionCommand = /* @__PURE__ */ __name(async (output, context) => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); } - }; - exports2.ListExecutionsCommand = ListExecutionsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js -var require_ListMapRunsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListMapRunsCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListMapRunsCommand = class _ListMapRunsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListMapRunsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListMapRunsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListMapRuns" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListMapRunsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListMapRunsCommand)(output, context); - } - }; - exports2.ListMapRunsCommand = ListMapRunsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js -var require_ListStateMachineAliasesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListStateMachineAliasesCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachineAliasesCommand = class _ListStateMachineAliasesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineAliasesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachineAliasesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListStateMachineAliases" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachineAliasesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachineAliasesCommand)(output, context); - } - }; - exports2.ListStateMachineAliasesCommand = ListStateMachineAliasesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js -var require_ListStateMachinesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListStateMachinesCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachinesCommand = class _ListStateMachinesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachinesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachinesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListStateMachines" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachinesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachinesCommand)(output, context); - } - }; - exports2.ListStateMachinesCommand = ListStateMachinesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js -var require_ListStateMachineVersionsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListStateMachineVersionsCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachineVersionsCommand = class _ListStateMachineVersionsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineVersionsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachineVersionsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListStateMachineVersions" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachineVersionsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachineVersionsCommand)(output, context); - } - }; - exports2.ListStateMachineVersionsCommand = ListStateMachineVersionsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js -var require_ListTagsForResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ListTagsForResourceCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListTagsForResourceCommand = class _ListTagsForResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListTagsForResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListTagsForResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "ListTagsForResource" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListTagsForResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListTagsForResourceCommand)(output, context); - } - }; - exports2.ListTagsForResourceCommand = ListTagsForResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js -var require_PublishStateMachineVersionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PublishStateMachineVersionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _PublishStateMachineVersionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "PublishStateMachineVersionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.PublishStateMachineVersionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "PublishStateMachineVersion" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_PublishStateMachineVersionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_PublishStateMachineVersionCommand)(output, context); - } - }; - exports2.PublishStateMachineVersionCommand = PublishStateMachineVersionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js -var require_SendTaskFailureCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SendTaskFailureCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskFailureCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskFailureCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.SendTaskFailureInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "SendTaskFailure" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskFailureCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskFailureCommand)(output, context); - } - }; - exports2.SendTaskFailureCommand = SendTaskFailureCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js -var require_SendTaskHeartbeatCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SendTaskHeartbeatCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskHeartbeatCommand = class _SendTaskHeartbeatCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskHeartbeatCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskHeartbeatCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "SendTaskHeartbeat" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskHeartbeatCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskHeartbeatCommand)(output, context); - } - }; - exports2.SendTaskHeartbeatCommand = SendTaskHeartbeatCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js -var require_SendTaskSuccessCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SendTaskSuccessCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskSuccessCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskSuccessCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.SendTaskSuccessInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "SendTaskSuccess" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskSuccessCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskSuccessCommand)(output, context); - } - }; - exports2.SendTaskSuccessCommand = SendTaskSuccessCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js -var require_StartExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StartExecutionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StartExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StartExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "StartExecution" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StartExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StartExecutionCommand)(output, context); - } - }; - exports2.StartExecutionCommand = StartExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js -var require_StartSyncExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StartSyncExecutionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartSyncExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StartSyncExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StartSyncExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.StartSyncExecutionOutputFilterSensitiveLog, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "StartSyncExecution" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StartSyncExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StartSyncExecutionCommand)(output, context); - } - }; - exports2.StartSyncExecutionCommand = StartSyncExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js -var require_StopExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StopExecutionCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StopExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StopExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StopExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "StopExecution" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StopExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StopExecutionCommand)(output, context); - } - }; - exports2.StopExecutionCommand = StopExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js -var require_TagResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.TagResourceCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var TagResourceCommand = class _TagResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _TagResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "TagResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "TagResource" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_TagResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_TagResourceCommand)(output, context); - } - }; - exports2.TagResourceCommand = TagResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js -var require_UntagResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UntagResourceCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UntagResourceCommand = class _UntagResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UntagResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UntagResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "UntagResource" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UntagResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UntagResourceCommand)(output, context); - } - }; - exports2.UntagResourceCommand = UntagResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js -var require_UpdateMapRunCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UpdateMapRunCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateMapRunCommand = class _UpdateMapRunCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateMapRunCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateMapRunCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "UpdateMapRun" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateMapRunCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateMapRunCommand)(output, context); - } - }; - exports2.UpdateMapRunCommand = UpdateMapRunCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js -var require_UpdateStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UpdateStateMachineAliasCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.UpdateStateMachineAliasInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "UpdateStateMachineAlias" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateStateMachineAliasCommand)(output, context); - } - }; - exports2.UpdateStateMachineAliasCommand = UpdateStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js -var require_UpdateStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UpdateStateMachineCommand = exports2.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs29(); - var middleware_serde_1 = require_dist_cjs28(); - var smithy_client_1 = require_dist_cjs38(); - Object.defineProperty(exports2, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var types_1 = require_dist_cjs(); - var models_0_1 = require_models_03(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.UpdateStateMachineInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _, - [types_1.SMITHY_CONTEXT_KEY]: { - service: "AWSStepFunctions", - operation: "UpdateStateMachine" - } - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + const data = await (0, import_core22.parseJsonBody)(output.body, context); + let contents = {}; + contents = (0, import_smithy_client4._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }, "de_ValidateStateMachineDefinitionCommand"); + var de_CommandError = /* @__PURE__ */ __name(async (output, context) => { + const parsedOutput = { + ...output, + body: await (0, import_core22.parseJsonErrorBody)(output.body, context) + }; + const errorCode = (0, import_core22.loadRestJsonErrorCode)(output, parsedOutput.body); + switch (errorCode) { + case "ActivityAlreadyExists": + case "com.amazonaws.sfn#ActivityAlreadyExists": + throw await de_ActivityAlreadyExistsRes(parsedOutput, context); + case "ActivityLimitExceeded": + case "com.amazonaws.sfn#ActivityLimitExceeded": + throw await de_ActivityLimitExceededRes(parsedOutput, context); + case "InvalidEncryptionConfiguration": + case "com.amazonaws.sfn#InvalidEncryptionConfiguration": + throw await de_InvalidEncryptionConfigurationRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "KmsAccessDeniedException": + case "com.amazonaws.sfn#KmsAccessDeniedException": + throw await de_KmsAccessDeniedExceptionRes(parsedOutput, context); + case "KmsThrottlingException": + case "com.amazonaws.sfn#KmsThrottlingException": + throw await de_KmsThrottlingExceptionRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidDefinition": + case "com.amazonaws.sfn#InvalidDefinition": + throw await de_InvalidDefinitionRes(parsedOutput, context); + case "InvalidLoggingConfiguration": + case "com.amazonaws.sfn#InvalidLoggingConfiguration": + throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + throw await de_InvalidTracingConfigurationRes(parsedOutput, context); + case "StateMachineAlreadyExists": + case "com.amazonaws.sfn#StateMachineAlreadyExists": + throw await de_StateMachineAlreadyExistsRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineLimitExceeded": + case "com.amazonaws.sfn#StateMachineLimitExceeded": + throw await de_StateMachineLimitExceededRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "ActivityDoesNotExist": + case "com.amazonaws.sfn#ActivityDoesNotExist": + throw await de_ActivityDoesNotExistRes(parsedOutput, context); + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "KmsInvalidStateException": + case "com.amazonaws.sfn#KmsInvalidStateException": + throw await de_KmsInvalidStateExceptionRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ActivityWorkerLimitExceeded": + case "com.amazonaws.sfn#ActivityWorkerLimitExceeded": + throw await de_ActivityWorkerLimitExceededRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ExecutionLimitExceeded": + case "com.amazonaws.sfn#ExecutionLimitExceeded": + throw await de_ExecutionLimitExceededRes(parsedOutput, context); + case "ExecutionNotRedrivable": + case "com.amazonaws.sfn#ExecutionNotRedrivable": + throw await de_ExecutionNotRedrivableRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + case "InvalidOutput": + case "com.amazonaws.sfn#InvalidOutput": + throw await de_InvalidOutputRes(parsedOutput, context); + case "ExecutionAlreadyExists": + case "com.amazonaws.sfn#ExecutionAlreadyExists": + throw await de_ExecutionAlreadyExistsRes(parsedOutput, context); + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + throw await de_InvalidExecutionInputRes(parsedOutput, context); + case "MissingRequiredParameter": + case "com.amazonaws.sfn#MissingRequiredParameter": + throw await de_MissingRequiredParameterRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateStateMachineCommand)(input, context); + }, "de_CommandError"); + var de_ActivityAlreadyExistsRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ActivityAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ActivityAlreadyExistsRes"); + var de_ActivityDoesNotExistRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ActivityDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ActivityDoesNotExistRes"); + var de_ActivityLimitExceededRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ActivityLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ActivityLimitExceededRes"); + var de_ActivityWorkerLimitExceededRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ActivityWorkerLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ActivityWorkerLimitExceededRes"); + var de_ConflictExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ConflictException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ConflictExceptionRes"); + var de_ExecutionAlreadyExistsRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ExecutionAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ExecutionAlreadyExistsRes"); + var de_ExecutionDoesNotExistRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ExecutionDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ExecutionDoesNotExistRes"); + var de_ExecutionLimitExceededRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ExecutionLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ExecutionLimitExceededRes"); + var de_ExecutionNotRedrivableRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ExecutionNotRedrivable({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ExecutionNotRedrivableRes"); + var de_InvalidArnRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidArn({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidArnRes"); + var de_InvalidDefinitionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidDefinition({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidDefinitionRes"); + var de_InvalidEncryptionConfigurationRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidEncryptionConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidEncryptionConfigurationRes"); + var de_InvalidExecutionInputRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidExecutionInput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidExecutionInputRes"); + var de_InvalidLoggingConfigurationRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidLoggingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidLoggingConfigurationRes"); + var de_InvalidNameRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidName({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidNameRes"); + var de_InvalidOutputRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidOutput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidOutputRes"); + var de_InvalidTokenRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidToken({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidTokenRes"); + var de_InvalidTracingConfigurationRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new InvalidTracingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_InvalidTracingConfigurationRes"); + var de_KmsAccessDeniedExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new KmsAccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_KmsAccessDeniedExceptionRes"); + var de_KmsInvalidStateExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new KmsInvalidStateException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_KmsInvalidStateExceptionRes"); + var de_KmsThrottlingExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new KmsThrottlingException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_KmsThrottlingExceptionRes"); + var de_MissingRequiredParameterRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new MissingRequiredParameter({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_MissingRequiredParameterRes"); + var de_ResourceNotFoundRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ResourceNotFound({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ResourceNotFoundRes"); + var de_ServiceQuotaExceededExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ServiceQuotaExceededException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ServiceQuotaExceededExceptionRes"); + var de_StateMachineAlreadyExistsRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new StateMachineAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_StateMachineAlreadyExistsRes"); + var de_StateMachineDeletingRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new StateMachineDeleting({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_StateMachineDeletingRes"); + var de_StateMachineDoesNotExistRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new StateMachineDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_StateMachineDoesNotExistRes"); + var de_StateMachineLimitExceededRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new StateMachineLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_StateMachineLimitExceededRes"); + var de_StateMachineTypeNotSupportedRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new StateMachineTypeNotSupported({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_StateMachineTypeNotSupportedRes"); + var de_TaskDoesNotExistRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new TaskDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_TaskDoesNotExistRes"); + var de_TaskTimedOutRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new TaskTimedOut({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_TaskTimedOutRes"); + var de_TooManyTagsRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new TooManyTags({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_TooManyTagsRes"); + var de_ValidationExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, import_smithy_client4._json)(body); + const exception = new ValidationException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, import_smithy_client4.decorateServiceException)(exception, body); + }, "de_ValidationExceptionRes"); + var se_RedriveExecutionInput = /* @__PURE__ */ __name((input, context) => { + return (0, import_smithy_client4.take)(input, { + clientToken: [true, (_) => _ ?? (0, import_uuid.v4)()], + executionArn: [] + }); + }, "se_RedriveExecutionInput"); + var se_UpdateMapRunInput = /* @__PURE__ */ __name((input, context) => { + return (0, import_smithy_client4.take)(input, { + mapRunArn: [], + maxConcurrency: [], + toleratedFailureCount: [], + toleratedFailurePercentage: import_smithy_client4.serializeFloat + }); + }, "se_UpdateMapRunInput"); + var de_ActivityList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ActivityListItem(entry, context); + }); + return retVal; + }, "de_ActivityList"); + var de_ActivityListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + activityArn: import_smithy_client4.expectString, + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + name: import_smithy_client4.expectString + }); + }, "de_ActivityListItem"); + var de_CreateActivityOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + activityArn: import_smithy_client4.expectString, + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_CreateActivityOutput"); + var de_CreateStateMachineAliasOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineAliasArn: import_smithy_client4.expectString + }); + }, "de_CreateStateMachineAliasOutput"); + var de_CreateStateMachineOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineArn: import_smithy_client4.expectString, + stateMachineVersionArn: import_smithy_client4.expectString + }); + }, "de_CreateStateMachineOutput"); + var de_DescribeActivityOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + activityArn: import_smithy_client4.expectString, + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + encryptionConfiguration: import_smithy_client4._json, + name: import_smithy_client4.expectString + }); + }, "de_DescribeActivityOutput"); + var de_DescribeExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + cause: import_smithy_client4.expectString, + error: import_smithy_client4.expectString, + executionArn: import_smithy_client4.expectString, + input: import_smithy_client4.expectString, + inputDetails: import_smithy_client4._json, + mapRunArn: import_smithy_client4.expectString, + name: import_smithy_client4.expectString, + output: import_smithy_client4.expectString, + outputDetails: import_smithy_client4._json, + redriveCount: import_smithy_client4.expectInt32, + redriveDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + redriveStatus: import_smithy_client4.expectString, + redriveStatusReason: import_smithy_client4.expectString, + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineAliasArn: import_smithy_client4.expectString, + stateMachineArn: import_smithy_client4.expectString, + stateMachineVersionArn: import_smithy_client4.expectString, + status: import_smithy_client4.expectString, + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + traceHeader: import_smithy_client4.expectString + }); + }, "de_DescribeExecutionOutput"); + var de_DescribeMapRunOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + executionArn: import_smithy_client4.expectString, + executionCounts: import_smithy_client4._json, + itemCounts: import_smithy_client4._json, + mapRunArn: import_smithy_client4.expectString, + maxConcurrency: import_smithy_client4.expectInt32, + redriveCount: import_smithy_client4.expectInt32, + redriveDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + status: import_smithy_client4.expectString, + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + toleratedFailureCount: import_smithy_client4.expectLong, + toleratedFailurePercentage: import_smithy_client4.limitedParseFloat32 + }); + }, "de_DescribeMapRunOutput"); + var de_DescribeStateMachineAliasOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + description: import_smithy_client4.expectString, + name: import_smithy_client4.expectString, + routingConfiguration: import_smithy_client4._json, + stateMachineAliasArn: import_smithy_client4.expectString, + updateDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_DescribeStateMachineAliasOutput"); + var de_DescribeStateMachineForExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + definition: import_smithy_client4.expectString, + encryptionConfiguration: import_smithy_client4._json, + label: import_smithy_client4.expectString, + loggingConfiguration: import_smithy_client4._json, + mapRunArn: import_smithy_client4.expectString, + name: import_smithy_client4.expectString, + revisionId: import_smithy_client4.expectString, + roleArn: import_smithy_client4.expectString, + stateMachineArn: import_smithy_client4.expectString, + tracingConfiguration: import_smithy_client4._json, + updateDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_DescribeStateMachineForExecutionOutput"); + var de_DescribeStateMachineOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + definition: import_smithy_client4.expectString, + description: import_smithy_client4.expectString, + encryptionConfiguration: import_smithy_client4._json, + label: import_smithy_client4.expectString, + loggingConfiguration: import_smithy_client4._json, + name: import_smithy_client4.expectString, + revisionId: import_smithy_client4.expectString, + roleArn: import_smithy_client4.expectString, + stateMachineArn: import_smithy_client4.expectString, + status: import_smithy_client4.expectString, + tracingConfiguration: import_smithy_client4._json, + type: import_smithy_client4.expectString + }); + }, "de_DescribeStateMachineOutput"); + var de_ExecutionList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ExecutionListItem(entry, context); + }); + return retVal; + }, "de_ExecutionList"); + var de_ExecutionListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + executionArn: import_smithy_client4.expectString, + itemCount: import_smithy_client4.expectInt32, + mapRunArn: import_smithy_client4.expectString, + name: import_smithy_client4.expectString, + redriveCount: import_smithy_client4.expectInt32, + redriveDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineAliasArn: import_smithy_client4.expectString, + stateMachineArn: import_smithy_client4.expectString, + stateMachineVersionArn: import_smithy_client4.expectString, + status: import_smithy_client4.expectString, + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_ExecutionListItem"); + var de_GetExecutionHistoryOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + events: (_) => de_HistoryEventList(_, context), + nextToken: import_smithy_client4.expectString + }); + }, "de_GetExecutionHistoryOutput"); + var de_HistoryEvent = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + activityFailedEventDetails: import_smithy_client4._json, + activityScheduleFailedEventDetails: import_smithy_client4._json, + activityScheduledEventDetails: import_smithy_client4._json, + activityStartedEventDetails: import_smithy_client4._json, + activitySucceededEventDetails: import_smithy_client4._json, + activityTimedOutEventDetails: import_smithy_client4._json, + executionAbortedEventDetails: import_smithy_client4._json, + executionFailedEventDetails: import_smithy_client4._json, + executionRedrivenEventDetails: import_smithy_client4._json, + executionStartedEventDetails: import_smithy_client4._json, + executionSucceededEventDetails: import_smithy_client4._json, + executionTimedOutEventDetails: import_smithy_client4._json, + id: import_smithy_client4.expectLong, + lambdaFunctionFailedEventDetails: import_smithy_client4._json, + lambdaFunctionScheduleFailedEventDetails: import_smithy_client4._json, + lambdaFunctionScheduledEventDetails: import_smithy_client4._json, + lambdaFunctionStartFailedEventDetails: import_smithy_client4._json, + lambdaFunctionSucceededEventDetails: import_smithy_client4._json, + lambdaFunctionTimedOutEventDetails: import_smithy_client4._json, + mapIterationAbortedEventDetails: import_smithy_client4._json, + mapIterationFailedEventDetails: import_smithy_client4._json, + mapIterationStartedEventDetails: import_smithy_client4._json, + mapIterationSucceededEventDetails: import_smithy_client4._json, + mapRunFailedEventDetails: import_smithy_client4._json, + mapRunRedrivenEventDetails: import_smithy_client4._json, + mapRunStartedEventDetails: import_smithy_client4._json, + mapStateStartedEventDetails: import_smithy_client4._json, + previousEventId: import_smithy_client4.expectLong, + stateEnteredEventDetails: import_smithy_client4._json, + stateExitedEventDetails: import_smithy_client4._json, + taskFailedEventDetails: import_smithy_client4._json, + taskScheduledEventDetails: import_smithy_client4._json, + taskStartFailedEventDetails: import_smithy_client4._json, + taskStartedEventDetails: import_smithy_client4._json, + taskSubmitFailedEventDetails: import_smithy_client4._json, + taskSubmittedEventDetails: import_smithy_client4._json, + taskSucceededEventDetails: import_smithy_client4._json, + taskTimedOutEventDetails: import_smithy_client4._json, + timestamp: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + type: import_smithy_client4.expectString + }); + }, "de_HistoryEvent"); + var de_HistoryEventList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_HistoryEvent(entry, context); + }); + return retVal; + }, "de_HistoryEventList"); + var de_ListActivitiesOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + activities: (_) => de_ActivityList(_, context), + nextToken: import_smithy_client4.expectString + }); + }, "de_ListActivitiesOutput"); + var de_ListExecutionsOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + executions: (_) => de_ExecutionList(_, context), + nextToken: import_smithy_client4.expectString + }); + }, "de_ListExecutionsOutput"); + var de_ListMapRunsOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + mapRuns: (_) => de_MapRunList(_, context), + nextToken: import_smithy_client4.expectString + }); + }, "de_ListMapRunsOutput"); + var de_ListStateMachineAliasesOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + nextToken: import_smithy_client4.expectString, + stateMachineAliases: (_) => de_StateMachineAliasList(_, context) + }); + }, "de_ListStateMachineAliasesOutput"); + var de_ListStateMachinesOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + nextToken: import_smithy_client4.expectString, + stateMachines: (_) => de_StateMachineList(_, context) + }); + }, "de_ListStateMachinesOutput"); + var de_ListStateMachineVersionsOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + nextToken: import_smithy_client4.expectString, + stateMachineVersions: (_) => de_StateMachineVersionList(_, context) + }); + }, "de_ListStateMachineVersionsOutput"); + var de_MapRunList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_MapRunListItem(entry, context); + }); + return retVal; + }, "de_MapRunList"); + var de_MapRunListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + executionArn: import_smithy_client4.expectString, + mapRunArn: import_smithy_client4.expectString, + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineArn: import_smithy_client4.expectString, + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_MapRunListItem"); + var de_PublishStateMachineVersionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineVersionArn: import_smithy_client4.expectString + }); + }, "de_PublishStateMachineVersionOutput"); + var de_RedriveExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + redriveDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_RedriveExecutionOutput"); + var de_StartExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + executionArn: import_smithy_client4.expectString, + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_StartExecutionOutput"); + var de_StartSyncExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + billingDetails: import_smithy_client4._json, + cause: import_smithy_client4.expectString, + error: import_smithy_client4.expectString, + executionArn: import_smithy_client4.expectString, + input: import_smithy_client4.expectString, + inputDetails: import_smithy_client4._json, + name: import_smithy_client4.expectString, + output: import_smithy_client4.expectString, + outputDetails: import_smithy_client4._json, + startDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineArn: import_smithy_client4.expectString, + status: import_smithy_client4.expectString, + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + traceHeader: import_smithy_client4.expectString + }); + }, "de_StartSyncExecutionOutput"); + var de_StateMachineAliasList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineAliasListItem(entry, context); + }); + return retVal; + }, "de_StateMachineAliasList"); + var de_StateMachineAliasListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineAliasArn: import_smithy_client4.expectString + }); + }, "de_StateMachineAliasListItem"); + var de_StateMachineList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineListItem(entry, context); + }); + return retVal; + }, "de_StateMachineList"); + var de_StateMachineListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + name: import_smithy_client4.expectString, + stateMachineArn: import_smithy_client4.expectString, + type: import_smithy_client4.expectString + }); + }, "de_StateMachineListItem"); + var de_StateMachineVersionList = /* @__PURE__ */ __name((output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineVersionListItem(entry, context); + }); + return retVal; + }, "de_StateMachineVersionList"); + var de_StateMachineVersionListItem = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + creationDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))), + stateMachineVersionArn: import_smithy_client4.expectString + }); + }, "de_StateMachineVersionListItem"); + var de_StopExecutionOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + stopDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_StopExecutionOutput"); + var de_UpdateStateMachineAliasOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + updateDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_UpdateStateMachineAliasOutput"); + var de_UpdateStateMachineOutput = /* @__PURE__ */ __name((output, context) => { + return (0, import_smithy_client4.take)(output, { + revisionId: import_smithy_client4.expectString, + stateMachineVersionArn: import_smithy_client4.expectString, + updateDate: (_) => (0, import_smithy_client4.expectNonNull)((0, import_smithy_client4.parseEpochTimestamp)((0, import_smithy_client4.expectNumber)(_))) + }); + }, "de_UpdateStateMachineOutput"); + var deserializeMetadata = /* @__PURE__ */ __name((output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }), "deserializeMetadata"); + var throwDefaultError = (0, import_smithy_client4.withBaseException)(SFNServiceException); + var buildHttpRpcRequest = /* @__PURE__ */ __name(async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers + }; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateStateMachineCommand)(output, context); + if (body !== void 0) { + contents.body = body; } + return new import_protocol_http8.HttpRequest(contents); + }, "buildHttpRpcRequest"); + function sharedHeaders(operation) { + return { + "content-type": "application/x-amz-json-1.0", + "x-amz-target": `AWSStepFunctions.${operation}` + }; + } + __name(sharedHeaders, "sharedHeaders"); + var _CreateActivityCommand = class _CreateActivityCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "CreateActivity", {}).n("SFNClient", "CreateActivityCommand").f(void 0, void 0).ser(se_CreateActivityCommand).de(de_CreateActivityCommand).build() { + }; + __name(_CreateActivityCommand, "CreateActivityCommand"); + var CreateActivityCommand = _CreateActivityCommand; + var _CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "CreateStateMachineAlias", {}).n("SFNClient", "CreateStateMachineAliasCommand").f(CreateStateMachineAliasInputFilterSensitiveLog, void 0).ser(se_CreateStateMachineAliasCommand).de(de_CreateStateMachineAliasCommand).build() { + }; + __name(_CreateStateMachineAliasCommand, "CreateStateMachineAliasCommand"); + var CreateStateMachineAliasCommand = _CreateStateMachineAliasCommand; + var _CreateStateMachineCommand = class _CreateStateMachineCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "CreateStateMachine", {}).n("SFNClient", "CreateStateMachineCommand").f(CreateStateMachineInputFilterSensitiveLog, void 0).ser(se_CreateStateMachineCommand).de(de_CreateStateMachineCommand).build() { + }; + __name(_CreateStateMachineCommand, "CreateStateMachineCommand"); + var CreateStateMachineCommand = _CreateStateMachineCommand; + var _DeleteActivityCommand = class _DeleteActivityCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DeleteActivity", {}).n("SFNClient", "DeleteActivityCommand").f(void 0, void 0).ser(se_DeleteActivityCommand).de(de_DeleteActivityCommand).build() { + }; + __name(_DeleteActivityCommand, "DeleteActivityCommand"); + var DeleteActivityCommand = _DeleteActivityCommand; + var _DeleteStateMachineAliasCommand = class _DeleteStateMachineAliasCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DeleteStateMachineAlias", {}).n("SFNClient", "DeleteStateMachineAliasCommand").f(void 0, void 0).ser(se_DeleteStateMachineAliasCommand).de(de_DeleteStateMachineAliasCommand).build() { + }; + __name(_DeleteStateMachineAliasCommand, "DeleteStateMachineAliasCommand"); + var DeleteStateMachineAliasCommand = _DeleteStateMachineAliasCommand; + var _DeleteStateMachineCommand = class _DeleteStateMachineCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DeleteStateMachine", {}).n("SFNClient", "DeleteStateMachineCommand").f(void 0, void 0).ser(se_DeleteStateMachineCommand).de(de_DeleteStateMachineCommand).build() { + }; + __name(_DeleteStateMachineCommand, "DeleteStateMachineCommand"); + var DeleteStateMachineCommand = _DeleteStateMachineCommand; + var _DeleteStateMachineVersionCommand = class _DeleteStateMachineVersionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DeleteStateMachineVersion", {}).n("SFNClient", "DeleteStateMachineVersionCommand").f(void 0, void 0).ser(se_DeleteStateMachineVersionCommand).de(de_DeleteStateMachineVersionCommand).build() { + }; + __name(_DeleteStateMachineVersionCommand, "DeleteStateMachineVersionCommand"); + var DeleteStateMachineVersionCommand = _DeleteStateMachineVersionCommand; + var _DescribeActivityCommand = class _DescribeActivityCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeActivity", {}).n("SFNClient", "DescribeActivityCommand").f(void 0, void 0).ser(se_DescribeActivityCommand).de(de_DescribeActivityCommand).build() { + }; + __name(_DescribeActivityCommand, "DescribeActivityCommand"); + var DescribeActivityCommand = _DescribeActivityCommand; + var _DescribeExecutionCommand = class _DescribeExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeExecution", {}).n("SFNClient", "DescribeExecutionCommand").f(void 0, DescribeExecutionOutputFilterSensitiveLog).ser(se_DescribeExecutionCommand).de(de_DescribeExecutionCommand).build() { + }; + __name(_DescribeExecutionCommand, "DescribeExecutionCommand"); + var DescribeExecutionCommand = _DescribeExecutionCommand; + var _DescribeMapRunCommand = class _DescribeMapRunCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeMapRun", {}).n("SFNClient", "DescribeMapRunCommand").f(void 0, void 0).ser(se_DescribeMapRunCommand).de(de_DescribeMapRunCommand).build() { + }; + __name(_DescribeMapRunCommand, "DescribeMapRunCommand"); + var DescribeMapRunCommand = _DescribeMapRunCommand; + var _DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeStateMachineAlias", {}).n("SFNClient", "DescribeStateMachineAliasCommand").f(void 0, DescribeStateMachineAliasOutputFilterSensitiveLog).ser(se_DescribeStateMachineAliasCommand).de(de_DescribeStateMachineAliasCommand).build() { + }; + __name(_DescribeStateMachineAliasCommand, "DescribeStateMachineAliasCommand"); + var DescribeStateMachineAliasCommand = _DescribeStateMachineAliasCommand; + var _DescribeStateMachineCommand = class _DescribeStateMachineCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeStateMachine", {}).n("SFNClient", "DescribeStateMachineCommand").f(void 0, DescribeStateMachineOutputFilterSensitiveLog).ser(se_DescribeStateMachineCommand).de(de_DescribeStateMachineCommand).build() { + }; + __name(_DescribeStateMachineCommand, "DescribeStateMachineCommand"); + var DescribeStateMachineCommand = _DescribeStateMachineCommand; + var _DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "DescribeStateMachineForExecution", {}).n("SFNClient", "DescribeStateMachineForExecutionCommand").f(void 0, DescribeStateMachineForExecutionOutputFilterSensitiveLog).ser(se_DescribeStateMachineForExecutionCommand).de(de_DescribeStateMachineForExecutionCommand).build() { + }; + __name(_DescribeStateMachineForExecutionCommand, "DescribeStateMachineForExecutionCommand"); + var DescribeStateMachineForExecutionCommand = _DescribeStateMachineForExecutionCommand; + var _GetActivityTaskCommand = class _GetActivityTaskCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "GetActivityTask", {}).n("SFNClient", "GetActivityTaskCommand").f(void 0, GetActivityTaskOutputFilterSensitiveLog).ser(se_GetActivityTaskCommand).de(de_GetActivityTaskCommand).build() { + }; + __name(_GetActivityTaskCommand, "GetActivityTaskCommand"); + var GetActivityTaskCommand = _GetActivityTaskCommand; + var _GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "GetExecutionHistory", {}).n("SFNClient", "GetExecutionHistoryCommand").f(void 0, GetExecutionHistoryOutputFilterSensitiveLog).ser(se_GetExecutionHistoryCommand).de(de_GetExecutionHistoryCommand).build() { + }; + __name(_GetExecutionHistoryCommand, "GetExecutionHistoryCommand"); + var GetExecutionHistoryCommand = _GetExecutionHistoryCommand; + var _ListActivitiesCommand = class _ListActivitiesCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListActivities", {}).n("SFNClient", "ListActivitiesCommand").f(void 0, void 0).ser(se_ListActivitiesCommand).de(de_ListActivitiesCommand).build() { + }; + __name(_ListActivitiesCommand, "ListActivitiesCommand"); + var ListActivitiesCommand = _ListActivitiesCommand; + var _ListExecutionsCommand = class _ListExecutionsCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListExecutions", {}).n("SFNClient", "ListExecutionsCommand").f(void 0, void 0).ser(se_ListExecutionsCommand).de(de_ListExecutionsCommand).build() { + }; + __name(_ListExecutionsCommand, "ListExecutionsCommand"); + var ListExecutionsCommand = _ListExecutionsCommand; + var _ListMapRunsCommand = class _ListMapRunsCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListMapRuns", {}).n("SFNClient", "ListMapRunsCommand").f(void 0, void 0).ser(se_ListMapRunsCommand).de(de_ListMapRunsCommand).build() { + }; + __name(_ListMapRunsCommand, "ListMapRunsCommand"); + var ListMapRunsCommand = _ListMapRunsCommand; + var _ListStateMachineAliasesCommand = class _ListStateMachineAliasesCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListStateMachineAliases", {}).n("SFNClient", "ListStateMachineAliasesCommand").f(void 0, void 0).ser(se_ListStateMachineAliasesCommand).de(de_ListStateMachineAliasesCommand).build() { + }; + __name(_ListStateMachineAliasesCommand, "ListStateMachineAliasesCommand"); + var ListStateMachineAliasesCommand = _ListStateMachineAliasesCommand; + var _ListStateMachinesCommand = class _ListStateMachinesCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListStateMachines", {}).n("SFNClient", "ListStateMachinesCommand").f(void 0, void 0).ser(se_ListStateMachinesCommand).de(de_ListStateMachinesCommand).build() { + }; + __name(_ListStateMachinesCommand, "ListStateMachinesCommand"); + var ListStateMachinesCommand = _ListStateMachinesCommand; + var _ListStateMachineVersionsCommand = class _ListStateMachineVersionsCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListStateMachineVersions", {}).n("SFNClient", "ListStateMachineVersionsCommand").f(void 0, void 0).ser(se_ListStateMachineVersionsCommand).de(de_ListStateMachineVersionsCommand).build() { + }; + __name(_ListStateMachineVersionsCommand, "ListStateMachineVersionsCommand"); + var ListStateMachineVersionsCommand = _ListStateMachineVersionsCommand; + var _ListTagsForResourceCommand = class _ListTagsForResourceCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ListTagsForResource", {}).n("SFNClient", "ListTagsForResourceCommand").f(void 0, void 0).ser(se_ListTagsForResourceCommand).de(de_ListTagsForResourceCommand).build() { + }; + __name(_ListTagsForResourceCommand, "ListTagsForResourceCommand"); + var ListTagsForResourceCommand = _ListTagsForResourceCommand; + var _PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "PublishStateMachineVersion", {}).n("SFNClient", "PublishStateMachineVersionCommand").f(PublishStateMachineVersionInputFilterSensitiveLog, void 0).ser(se_PublishStateMachineVersionCommand).de(de_PublishStateMachineVersionCommand).build() { + }; + __name(_PublishStateMachineVersionCommand, "PublishStateMachineVersionCommand"); + var PublishStateMachineVersionCommand = _PublishStateMachineVersionCommand; + var _RedriveExecutionCommand = class _RedriveExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "RedriveExecution", {}).n("SFNClient", "RedriveExecutionCommand").f(void 0, void 0).ser(se_RedriveExecutionCommand).de(de_RedriveExecutionCommand).build() { + }; + __name(_RedriveExecutionCommand, "RedriveExecutionCommand"); + var RedriveExecutionCommand = _RedriveExecutionCommand; + var _SendTaskFailureCommand = class _SendTaskFailureCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "SendTaskFailure", {}).n("SFNClient", "SendTaskFailureCommand").f(SendTaskFailureInputFilterSensitiveLog, void 0).ser(se_SendTaskFailureCommand).de(de_SendTaskFailureCommand).build() { + }; + __name(_SendTaskFailureCommand, "SendTaskFailureCommand"); + var SendTaskFailureCommand = _SendTaskFailureCommand; + var _SendTaskHeartbeatCommand = class _SendTaskHeartbeatCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "SendTaskHeartbeat", {}).n("SFNClient", "SendTaskHeartbeatCommand").f(void 0, void 0).ser(se_SendTaskHeartbeatCommand).de(de_SendTaskHeartbeatCommand).build() { + }; + __name(_SendTaskHeartbeatCommand, "SendTaskHeartbeatCommand"); + var SendTaskHeartbeatCommand = _SendTaskHeartbeatCommand; + var _SendTaskSuccessCommand = class _SendTaskSuccessCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "SendTaskSuccess", {}).n("SFNClient", "SendTaskSuccessCommand").f(SendTaskSuccessInputFilterSensitiveLog, void 0).ser(se_SendTaskSuccessCommand).de(de_SendTaskSuccessCommand).build() { + }; + __name(_SendTaskSuccessCommand, "SendTaskSuccessCommand"); + var SendTaskSuccessCommand = _SendTaskSuccessCommand; + var _StartExecutionCommand = class _StartExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "StartExecution", {}).n("SFNClient", "StartExecutionCommand").f(StartExecutionInputFilterSensitiveLog, void 0).ser(se_StartExecutionCommand).de(de_StartExecutionCommand).build() { + }; + __name(_StartExecutionCommand, "StartExecutionCommand"); + var StartExecutionCommand = _StartExecutionCommand; + var _StartSyncExecutionCommand = class _StartSyncExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "StartSyncExecution", {}).n("SFNClient", "StartSyncExecutionCommand").f(StartSyncExecutionInputFilterSensitiveLog, StartSyncExecutionOutputFilterSensitiveLog).ser(se_StartSyncExecutionCommand).de(de_StartSyncExecutionCommand).build() { + }; + __name(_StartSyncExecutionCommand, "StartSyncExecutionCommand"); + var StartSyncExecutionCommand = _StartSyncExecutionCommand; + var _StopExecutionCommand = class _StopExecutionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "StopExecution", {}).n("SFNClient", "StopExecutionCommand").f(StopExecutionInputFilterSensitiveLog, void 0).ser(se_StopExecutionCommand).de(de_StopExecutionCommand).build() { + }; + __name(_StopExecutionCommand, "StopExecutionCommand"); + var StopExecutionCommand = _StopExecutionCommand; + var _TagResourceCommand = class _TagResourceCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "TagResource", {}).n("SFNClient", "TagResourceCommand").f(void 0, void 0).ser(se_TagResourceCommand).de(de_TagResourceCommand).build() { + }; + __name(_TagResourceCommand, "TagResourceCommand"); + var TagResourceCommand = _TagResourceCommand; + var _TestStateCommand = class _TestStateCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "TestState", {}).n("SFNClient", "TestStateCommand").f(TestStateInputFilterSensitiveLog, TestStateOutputFilterSensitiveLog).ser(se_TestStateCommand).de(de_TestStateCommand).build() { + }; + __name(_TestStateCommand, "TestStateCommand"); + var TestStateCommand = _TestStateCommand; + var _UntagResourceCommand = class _UntagResourceCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "UntagResource", {}).n("SFNClient", "UntagResourceCommand").f(void 0, void 0).ser(se_UntagResourceCommand).de(de_UntagResourceCommand).build() { + }; + __name(_UntagResourceCommand, "UntagResourceCommand"); + var UntagResourceCommand = _UntagResourceCommand; + var _UpdateMapRunCommand = class _UpdateMapRunCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "UpdateMapRun", {}).n("SFNClient", "UpdateMapRunCommand").f(void 0, void 0).ser(se_UpdateMapRunCommand).de(de_UpdateMapRunCommand).build() { + }; + __name(_UpdateMapRunCommand, "UpdateMapRunCommand"); + var UpdateMapRunCommand = _UpdateMapRunCommand; + var _UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "UpdateStateMachineAlias", {}).n("SFNClient", "UpdateStateMachineAliasCommand").f(UpdateStateMachineAliasInputFilterSensitiveLog, void 0).ser(se_UpdateStateMachineAliasCommand).de(de_UpdateStateMachineAliasCommand).build() { + }; + __name(_UpdateStateMachineAliasCommand, "UpdateStateMachineAliasCommand"); + var UpdateStateMachineAliasCommand = _UpdateStateMachineAliasCommand; + var _UpdateStateMachineCommand = class _UpdateStateMachineCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "UpdateStateMachine", {}).n("SFNClient", "UpdateStateMachineCommand").f(UpdateStateMachineInputFilterSensitiveLog, void 0).ser(se_UpdateStateMachineCommand).de(de_UpdateStateMachineCommand).build() { + }; + __name(_UpdateStateMachineCommand, "UpdateStateMachineCommand"); + var UpdateStateMachineCommand = _UpdateStateMachineCommand; + var _ValidateStateMachineDefinitionCommand = class _ValidateStateMachineDefinitionCommand extends import_smithy_client4.Command.classBuilder().ep({ + ...commonParams + }).m(function(Command, cs, config, o) { + return [ + (0, import_middleware_serde2.getSerdePlugin)(config, this.serialize, this.deserialize), + (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()) + ]; + }).s("AWSStepFunctions", "ValidateStateMachineDefinition", {}).n("SFNClient", "ValidateStateMachineDefinitionCommand").f(ValidateStateMachineDefinitionInputFilterSensitiveLog, void 0).ser(se_ValidateStateMachineDefinitionCommand).de(de_ValidateStateMachineDefinitionCommand).build() { }; - exports2.UpdateStateMachineCommand = UpdateStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js -var require_SFN = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SFN = void 0; - var smithy_client_1 = require_dist_cjs38(); - var CreateActivityCommand_1 = require_CreateActivityCommand(); - var CreateStateMachineAliasCommand_1 = require_CreateStateMachineAliasCommand(); - var CreateStateMachineCommand_1 = require_CreateStateMachineCommand(); - var DeleteActivityCommand_1 = require_DeleteActivityCommand(); - var DeleteStateMachineAliasCommand_1 = require_DeleteStateMachineAliasCommand(); - var DeleteStateMachineCommand_1 = require_DeleteStateMachineCommand(); - var DeleteStateMachineVersionCommand_1 = require_DeleteStateMachineVersionCommand(); - var DescribeActivityCommand_1 = require_DescribeActivityCommand(); - var DescribeExecutionCommand_1 = require_DescribeExecutionCommand(); - var DescribeMapRunCommand_1 = require_DescribeMapRunCommand(); - var DescribeStateMachineAliasCommand_1 = require_DescribeStateMachineAliasCommand(); - var DescribeStateMachineCommand_1 = require_DescribeStateMachineCommand(); - var DescribeStateMachineForExecutionCommand_1 = require_DescribeStateMachineForExecutionCommand(); - var GetActivityTaskCommand_1 = require_GetActivityTaskCommand(); - var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); - var ListActivitiesCommand_1 = require_ListActivitiesCommand(); - var ListExecutionsCommand_1 = require_ListExecutionsCommand(); - var ListMapRunsCommand_1 = require_ListMapRunsCommand(); - var ListStateMachineAliasesCommand_1 = require_ListStateMachineAliasesCommand(); - var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); - var ListStateMachineVersionsCommand_1 = require_ListStateMachineVersionsCommand(); - var ListTagsForResourceCommand_1 = require_ListTagsForResourceCommand(); - var PublishStateMachineVersionCommand_1 = require_PublishStateMachineVersionCommand(); - var SendTaskFailureCommand_1 = require_SendTaskFailureCommand(); - var SendTaskHeartbeatCommand_1 = require_SendTaskHeartbeatCommand(); - var SendTaskSuccessCommand_1 = require_SendTaskSuccessCommand(); - var StartExecutionCommand_1 = require_StartExecutionCommand(); - var StartSyncExecutionCommand_1 = require_StartSyncExecutionCommand(); - var StopExecutionCommand_1 = require_StopExecutionCommand(); - var TagResourceCommand_1 = require_TagResourceCommand(); - var UntagResourceCommand_1 = require_UntagResourceCommand(); - var UpdateMapRunCommand_1 = require_UpdateMapRunCommand(); - var UpdateStateMachineAliasCommand_1 = require_UpdateStateMachineAliasCommand(); - var UpdateStateMachineCommand_1 = require_UpdateStateMachineCommand(); - var SFNClient_1 = require_SFNClient(); + __name(_ValidateStateMachineDefinitionCommand, "ValidateStateMachineDefinitionCommand"); + var ValidateStateMachineDefinitionCommand = _ValidateStateMachineDefinitionCommand; var commands = { - CreateActivityCommand: CreateActivityCommand_1.CreateActivityCommand, - CreateStateMachineCommand: CreateStateMachineCommand_1.CreateStateMachineCommand, - CreateStateMachineAliasCommand: CreateStateMachineAliasCommand_1.CreateStateMachineAliasCommand, - DeleteActivityCommand: DeleteActivityCommand_1.DeleteActivityCommand, - DeleteStateMachineCommand: DeleteStateMachineCommand_1.DeleteStateMachineCommand, - DeleteStateMachineAliasCommand: DeleteStateMachineAliasCommand_1.DeleteStateMachineAliasCommand, - DeleteStateMachineVersionCommand: DeleteStateMachineVersionCommand_1.DeleteStateMachineVersionCommand, - DescribeActivityCommand: DescribeActivityCommand_1.DescribeActivityCommand, - DescribeExecutionCommand: DescribeExecutionCommand_1.DescribeExecutionCommand, - DescribeMapRunCommand: DescribeMapRunCommand_1.DescribeMapRunCommand, - DescribeStateMachineCommand: DescribeStateMachineCommand_1.DescribeStateMachineCommand, - DescribeStateMachineAliasCommand: DescribeStateMachineAliasCommand_1.DescribeStateMachineAliasCommand, - DescribeStateMachineForExecutionCommand: DescribeStateMachineForExecutionCommand_1.DescribeStateMachineForExecutionCommand, - GetActivityTaskCommand: GetActivityTaskCommand_1.GetActivityTaskCommand, - GetExecutionHistoryCommand: GetExecutionHistoryCommand_1.GetExecutionHistoryCommand, - ListActivitiesCommand: ListActivitiesCommand_1.ListActivitiesCommand, - ListExecutionsCommand: ListExecutionsCommand_1.ListExecutionsCommand, - ListMapRunsCommand: ListMapRunsCommand_1.ListMapRunsCommand, - ListStateMachineAliasesCommand: ListStateMachineAliasesCommand_1.ListStateMachineAliasesCommand, - ListStateMachinesCommand: ListStateMachinesCommand_1.ListStateMachinesCommand, - ListStateMachineVersionsCommand: ListStateMachineVersionsCommand_1.ListStateMachineVersionsCommand, - ListTagsForResourceCommand: ListTagsForResourceCommand_1.ListTagsForResourceCommand, - PublishStateMachineVersionCommand: PublishStateMachineVersionCommand_1.PublishStateMachineVersionCommand, - SendTaskFailureCommand: SendTaskFailureCommand_1.SendTaskFailureCommand, - SendTaskHeartbeatCommand: SendTaskHeartbeatCommand_1.SendTaskHeartbeatCommand, - SendTaskSuccessCommand: SendTaskSuccessCommand_1.SendTaskSuccessCommand, - StartExecutionCommand: StartExecutionCommand_1.StartExecutionCommand, - StartSyncExecutionCommand: StartSyncExecutionCommand_1.StartSyncExecutionCommand, - StopExecutionCommand: StopExecutionCommand_1.StopExecutionCommand, - TagResourceCommand: TagResourceCommand_1.TagResourceCommand, - UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand, - UpdateMapRunCommand: UpdateMapRunCommand_1.UpdateMapRunCommand, - UpdateStateMachineCommand: UpdateStateMachineCommand_1.UpdateStateMachineCommand, - UpdateStateMachineAliasCommand: UpdateStateMachineAliasCommand_1.UpdateStateMachineAliasCommand - }; - var SFN2 = class extends SFNClient_1.SFNClient { - }; - exports2.SFN = SFN2; - (0, smithy_client_1.createAggregatedClient)(commands, SFN2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateActivityCommand(), exports2); - tslib_1.__exportStar(require_CreateStateMachineAliasCommand(), exports2); - tslib_1.__exportStar(require_CreateStateMachineCommand(), exports2); - tslib_1.__exportStar(require_DeleteActivityCommand(), exports2); - tslib_1.__exportStar(require_DeleteStateMachineAliasCommand(), exports2); - tslib_1.__exportStar(require_DeleteStateMachineCommand(), exports2); - tslib_1.__exportStar(require_DeleteStateMachineVersionCommand(), exports2); - tslib_1.__exportStar(require_DescribeActivityCommand(), exports2); - tslib_1.__exportStar(require_DescribeExecutionCommand(), exports2); - tslib_1.__exportStar(require_DescribeMapRunCommand(), exports2); - tslib_1.__exportStar(require_DescribeStateMachineAliasCommand(), exports2); - tslib_1.__exportStar(require_DescribeStateMachineCommand(), exports2); - tslib_1.__exportStar(require_DescribeStateMachineForExecutionCommand(), exports2); - tslib_1.__exportStar(require_GetActivityTaskCommand(), exports2); - tslib_1.__exportStar(require_GetExecutionHistoryCommand(), exports2); - tslib_1.__exportStar(require_ListActivitiesCommand(), exports2); - tslib_1.__exportStar(require_ListExecutionsCommand(), exports2); - tslib_1.__exportStar(require_ListMapRunsCommand(), exports2); - tslib_1.__exportStar(require_ListStateMachineAliasesCommand(), exports2); - tslib_1.__exportStar(require_ListStateMachineVersionsCommand(), exports2); - tslib_1.__exportStar(require_ListStateMachinesCommand(), exports2); - tslib_1.__exportStar(require_ListTagsForResourceCommand(), exports2); - tslib_1.__exportStar(require_PublishStateMachineVersionCommand(), exports2); - tslib_1.__exportStar(require_SendTaskFailureCommand(), exports2); - tslib_1.__exportStar(require_SendTaskHeartbeatCommand(), exports2); - tslib_1.__exportStar(require_SendTaskSuccessCommand(), exports2); - tslib_1.__exportStar(require_StartExecutionCommand(), exports2); - tslib_1.__exportStar(require_StartSyncExecutionCommand(), exports2); - tslib_1.__exportStar(require_StopExecutionCommand(), exports2); - tslib_1.__exportStar(require_TagResourceCommand(), exports2); - tslib_1.__exportStar(require_UntagResourceCommand(), exports2); - tslib_1.__exportStar(require_UpdateMapRunCommand(), exports2); - tslib_1.__exportStar(require_UpdateStateMachineAliasCommand(), exports2); - tslib_1.__exportStar(require_UpdateStateMachineCommand(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js -var require_GetExecutionHistoryPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateGetExecutionHistory = void 0; - var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new GetExecutionHistoryCommand_1.GetExecutionHistoryCommand(input), ...args); - }; - async function* paginateGetExecutionHistory(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateGetExecutionHistory = paginateGetExecutionHistory; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js -var require_Interfaces2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js -var require_ListActivitiesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListActivities = void 0; - var ListActivitiesCommand_1 = require_ListActivitiesCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListActivitiesCommand_1.ListActivitiesCommand(input), ...args); - }; - async function* paginateListActivities(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListActivities = paginateListActivities; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js -var require_ListExecutionsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListExecutions = void 0; - var ListExecutionsCommand_1 = require_ListExecutionsCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListExecutionsCommand_1.ListExecutionsCommand(input), ...args); - }; - async function* paginateListExecutions(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListExecutions = paginateListExecutions; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js -var require_ListMapRunsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListMapRuns = void 0; - var ListMapRunsCommand_1 = require_ListMapRunsCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListMapRunsCommand_1.ListMapRunsCommand(input), ...args); - }; - async function* paginateListMapRuns(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListMapRuns = paginateListMapRuns; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js -var require_ListStateMachinesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.paginateListStateMachines = void 0; - var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListStateMachinesCommand_1.ListStateMachinesCommand(input), ...args); - }; - async function* paginateListStateMachines(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports2.paginateListStateMachines = paginateListStateMachines; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js -var require_pagination3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_GetExecutionHistoryPaginator(), exports2); - tslib_1.__exportStar(require_Interfaces2(), exports2); - tslib_1.__exportStar(require_ListActivitiesPaginator(), exports2); - tslib_1.__exportStar(require_ListExecutionsPaginator(), exports2); - tslib_1.__exportStar(require_ListMapRunsPaginator(), exports2); - tslib_1.__exportStar(require_ListStateMachinesPaginator(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs56 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SFNServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SFNClient(), exports2); - tslib_1.__exportStar(require_SFN(), exports2); - tslib_1.__exportStar(require_commands3(), exports2); - tslib_1.__exportStar(require_pagination3(), exports2); - tslib_1.__exportStar(require_models3(), exports2); - var SFNServiceException_1 = require_SFNServiceException(); - Object.defineProperty(exports2, "SFNServiceException", { enumerable: true, get: function() { - return SFNServiceException_1.SFNServiceException; - } }); + CreateActivityCommand, + CreateStateMachineCommand, + CreateStateMachineAliasCommand, + DeleteActivityCommand, + DeleteStateMachineCommand, + DeleteStateMachineAliasCommand, + DeleteStateMachineVersionCommand, + DescribeActivityCommand, + DescribeExecutionCommand, + DescribeMapRunCommand, + DescribeStateMachineCommand, + DescribeStateMachineAliasCommand, + DescribeStateMachineForExecutionCommand, + GetActivityTaskCommand, + GetExecutionHistoryCommand, + ListActivitiesCommand, + ListExecutionsCommand, + ListMapRunsCommand, + ListStateMachineAliasesCommand, + ListStateMachinesCommand, + ListStateMachineVersionsCommand, + ListTagsForResourceCommand, + PublishStateMachineVersionCommand, + RedriveExecutionCommand, + SendTaskFailureCommand, + SendTaskHeartbeatCommand, + SendTaskSuccessCommand, + StartExecutionCommand, + StartSyncExecutionCommand, + StopExecutionCommand, + TagResourceCommand, + TestStateCommand, + UntagResourceCommand, + UpdateMapRunCommand, + UpdateStateMachineCommand, + UpdateStateMachineAliasCommand, + ValidateStateMachineDefinitionCommand + }; + var _SFN = class _SFN extends SFNClient { + }; + __name(_SFN, "SFN"); + var SFN2 = _SFN; + (0, import_smithy_client4.createAggregatedClient)(commands, SFN2); + var paginateGetExecutionHistory = (0, import_core3.createPaginator)(SFNClient, GetExecutionHistoryCommand, "nextToken", "nextToken", "maxResults"); + var paginateListActivities = (0, import_core3.createPaginator)(SFNClient, ListActivitiesCommand, "nextToken", "nextToken", "maxResults"); + var paginateListExecutions = (0, import_core3.createPaginator)(SFNClient, ListExecutionsCommand, "nextToken", "nextToken", "maxResults"); + var paginateListMapRuns = (0, import_core3.createPaginator)(SFNClient, ListMapRunsCommand, "nextToken", "nextToken", "maxResults"); + var paginateListStateMachines = (0, import_core3.createPaginator)(SFNClient, ListStateMachinesCommand, "nextToken", "nextToken", "maxResults"); } }); // ../../../node_modules/webidl-conversions/lib/index.js -var require_lib2 = __commonJS({ +var require_lib = __commonJS({ "../../../node_modules/webidl-conversions/lib/index.js"(exports2, module2) { "use strict"; var conversions = {}; @@ -23023,7 +21988,7 @@ var require_lib2 = __commonJS({ }); // ../../../node_modules/whatwg-url/lib/utils.js -var require_utils2 = __commonJS({ +var require_utils = __commonJS({ "../../../node_modules/whatwg-url/lib/utils.js"(exports2, module2) { "use strict"; module2.exports.mixin = function mixin(target, source) { @@ -24444,8 +23409,8 @@ var require_URL_impl = __commonJS({ var require_URL = __commonJS({ "../../../node_modules/whatwg-url/lib/URL.js"(exports2, module2) { "use strict"; - var conversions = require_lib2(); - var utils = require_utils2(); + var conversions = require_lib(); + var utils = require_utils(); var Impl = require_URL_impl(); var impl = utils.implSymbol; function URL3(url2) { @@ -28155,7 +27120,7 @@ var require_streams = __commonJS({ }); // ../../../node_modules/iconv-lite/lib/index.js -var require_lib3 = __commonJS({ +var require_lib2 = __commonJS({ "../../../node_modules/iconv-lite/lib/index.js"(exports2, module2) { "use strict"; var Buffer2 = require_safer().Buffer; @@ -28278,7 +27243,7 @@ var require_lib3 = __commonJS({ var require_encoding = __commonJS({ "../../../node_modules/encoding/lib/encoding.js"(exports2, module2) { "use strict"; - var iconvLite = require_lib3(); + var iconvLite = require_lib2(); module2.exports.convert = convert; function convert(str, to, from) { from = checkEncoding(from || "UTF-8"); @@ -28322,9 +27287,9 @@ var require_encoding = __commonJS({ } }); -// ../../../node_modules/node-fetch/lib/index.js -var require_lib4 = __commonJS({ - "../../../node_modules/node-fetch/lib/index.js"(exports2, module2) { +// node_modules/node-fetch/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/node-fetch/lib/index.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); function _interopDefault(ex) { @@ -28339,7 +27304,7 @@ var require_lib4 = __commonJS({ var Readable = Stream.Readable; var BUFFER = Symbol("buffer"); var TYPE = Symbol("type"); - var Blob = class _Blob { + var Blob2 = class _Blob { constructor() { this[TYPE] = ""; const blobParts = arguments[0]; @@ -28425,12 +27390,12 @@ var require_lib4 = __commonJS({ return blob; } }; - Object.defineProperties(Blob.prototype, { + Object.defineProperties(Blob2.prototype, { size: { enumerable: true }, type: { enumerable: true }, slice: { enumerable: true } }); - Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + Object.defineProperty(Blob2.prototype, Symbol.toStringTag, { value: "Blob", writable: false, enumerable: false, @@ -28465,7 +27430,7 @@ var require_lib4 = __commonJS({ body = null; } else if (isURLSearchParams(body)) { body = Buffer.from(body.toString()); - } else if (isBlob(body)) ; + } else if (isBlob2(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { body = Buffer.from(body); @@ -28516,7 +27481,7 @@ var require_lib4 = __commonJS({ return consumeBody.call(this).then(function(buf) { return Object.assign( // Prevent copying - new Blob([], { + new Blob2([], { type: ct.toLowerCase() }), { @@ -28600,7 +27565,7 @@ var require_lib4 = __commonJS({ if (body === null) { return Body.Promise.resolve(Buffer.alloc(0)); } - if (isBlob(body)) { + if (isBlob2(body)) { body = body.stream(); } if (Buffer.isBuffer(body)) { @@ -28696,7 +27661,7 @@ var require_lib4 = __commonJS({ } return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; } - function isBlob(obj) { + function isBlob2(obj) { return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); } function clone(instance) { @@ -28722,7 +27687,7 @@ var require_lib4 = __commonJS({ return "text/plain;charset=UTF-8"; } else if (isURLSearchParams(body)) { return "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isBlob(body)) { + } else if (isBlob2(body)) { return body.type || null; } else if (Buffer.isBuffer(body)) { return null; @@ -28742,7 +27707,7 @@ var require_lib4 = __commonJS({ const body = instance.body; if (body === null) { return 0; - } else if (isBlob(body)) { + } else if (isBlob2(body)) { return body.size; } else if (Buffer.isBuffer(body)) { return body.length; @@ -28760,7 +27725,7 @@ var require_lib4 = __commonJS({ const body = instance.body; if (body === null) { dest.end(); - } else if (isBlob(body)) { + } else if (isBlob2(body)) { body.stream().pipe(dest); } else if (Buffer.isBuffer(body)) { dest.write(body); @@ -28794,7 +27759,7 @@ var require_lib4 = __commonJS({ return void 0; } var MAP = Symbol("map"); - var Headers = class _Headers { + var Headers2 = class _Headers { /** * Headers class * @@ -28972,14 +27937,14 @@ var require_lib4 = __commonJS({ return createHeadersIterator(this, "key+value"); } }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + Headers2.prototype.entries = Headers2.prototype[Symbol.iterator]; + Object.defineProperty(Headers2.prototype, Symbol.toStringTag, { value: "Headers", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Headers.prototype, { + Object.defineProperties(Headers2.prototype, { get: { enumerable: true }, forEach: { enumerable: true }, set: { enumerable: true }, @@ -29048,7 +28013,7 @@ var require_lib4 = __commonJS({ return obj; } function createHeadersLenient(obj) { - const headers = new Headers(); + const headers = new Headers2(); for (const name of Object.keys(obj)) { if (invalidTokenRegex.test(name)) { continue; @@ -29078,7 +28043,7 @@ var require_lib4 = __commonJS({ let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; Body.call(this, body, opts); const status = opts.status || 200; - const headers = new Headers(opts.headers); + const headers = new Headers2(opts.headers); if (body != null && !headers.has("Content-Type")) { const contentType = extractContentType(body); if (contentType) { @@ -29164,7 +28129,7 @@ var require_lib4 = __commonJS({ const proto = signal && typeof signal === "object" && Object.getPrototypeOf(signal); return !!(proto && proto.constructor.name === "AbortSignal"); } - var Request = class _Request { + var Request2 = class _Request { constructor(input) { let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; let parsedURL; @@ -29188,7 +28153,7 @@ var require_lib4 = __commonJS({ timeout: init.timeout || input.timeout || 0, size: init.size || input.size || 0 }); - const headers = new Headers(init.headers || input.headers || {}); + const headers = new Headers2(init.headers || input.headers || {}); if (inputBody != null && !headers.has("Content-Type")) { const contentType = extractContentType(inputBody); if (contentType) { @@ -29236,14 +28201,14 @@ var require_lib4 = __commonJS({ return new _Request(this); } }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { + Body.mixIn(Request2.prototype); + Object.defineProperty(Request2.prototype, Symbol.toStringTag, { value: "Request", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Request.prototype, { + Object.defineProperties(Request2.prototype, { method: { enumerable: true }, url: { enumerable: true }, headers: { enumerable: true }, @@ -29253,7 +28218,7 @@ var require_lib4 = __commonJS({ }); function getNodeRequestOptions(request2) { const parsedURL = request2[INTERNALS$2].parsedURL; - const headers = new Headers(request2[INTERNALS$2].headers); + const headers = new Headers2(request2[INTERNALS$2].headers); if (!headers.has("Accept")) { headers.set("Accept", "*/*"); } @@ -29316,13 +28281,13 @@ var require_lib4 = __commonJS({ const dest = new URL$1(destination).protocol; return orig === dest; }; - function fetch2(url2, opts) { - if (!fetch2.Promise) { + function fetch3(url2, opts) { + if (!fetch3.Promise) { throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); } - Body.Promise = fetch2.Promise; - return new fetch2.Promise(function(resolve, reject) { - const request2 = new Request(url2, opts); + Body.Promise = fetch3.Promise; + return new fetch3.Promise(function(resolve, reject) { + const request2 = new Request2(url2, opts); const options = getNodeRequestOptions(request2); const send = (options.protocol === "https:" ? https2 : http).request; const signal = request2.signal; @@ -29392,7 +28357,7 @@ var require_lib4 = __commonJS({ req.on("response", function(res) { clearTimeout(reqTimeout); const headers = createHeadersLenient(res.headers); - if (fetch2.isRedirect(res.statusCode)) { + if (fetch3.isRedirect(res.statusCode)) { const location = headers.get("Location"); let locationURL = null; try { @@ -29428,7 +28393,7 @@ var require_lib4 = __commonJS({ return; } const requestOpts = { - headers: new Headers(request2.headers), + headers: new Headers2(request2.headers), follow: request2.follow, counter: request2.counter + 1, agent: request2.agent, @@ -29454,7 +28419,7 @@ var require_lib4 = __commonJS({ requestOpts.body = void 0; requestOpts.headers.delete("content-length"); } - resolve(fetch2(new Request(locationURL, requestOpts))); + resolve(fetch3(new Request2(locationURL, requestOpts))); finalize(); return; } @@ -29546,15 +28511,15 @@ var require_lib4 = __commonJS({ stream.end(); } } - fetch2.isRedirect = function(code) { + fetch3.isRedirect = function(code) { return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; }; - fetch2.Promise = global.Promise; - module2.exports = exports2 = fetch2; + fetch3.Promise = global.Promise; + module2.exports = exports2 = fetch3; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.default = exports2; - exports2.Headers = Headers; - exports2.Request = Request; + exports2.Headers = Headers2; + exports2.Request = Request2; exports2.Response = Response2; exports2.FetchError = FetchError; exports2.AbortError = AbortError; @@ -29568,7 +28533,7 @@ var init_parameter_types = __esm({ "use strict"; zlib = __toESM(require("zlib")); typeCoercionStateMachine = () => { - const encoded = "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"; + const encoded = "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"; const decoded = JSON.parse(zlib.brotliDecompressSync(Buffer.from(encoded, "base64")).toString()); typeCoercionStateMachine = () => decoded; return decoded; @@ -29697,14 +28662,17 @@ var require_sdk_v2_to_v3 = __commonJS({ acmpca: "acm-pca", apigateway: "api-gateway", arczonalshift: "arc-zonal-shift", - alexaforbusiness: "alexa-for-business", appmesh: "app-mesh", applicationautoscaling: "application-auto-scaling", applicationinsights: "application-insights", - augmentedairuntime: "sage-maker-a2iruntime", + applicationsignals: "application-signals", + augmentedairuntime: "sagemaker-a2i-runtime", autoscaling: "auto-scaling", autoscalingplans: "auto-scaling-plans", + bcmdataexports: "bcm-data-exports", backupgateway: "backup-gateway", + bedrockagent: "bedrock-agent", + bedrockagentruntime: "bedrock-agent-runtime", bedrockruntime: "bedrock-runtime", cur: "cost-and-usage-report-service", chimesdkidentity: "chime-sdk-identity", @@ -29728,6 +28696,7 @@ var require_sdk_v2_to_v3 = __commonJS({ configservice: "config-service", connectcontactlens: "connect-contact-lens", costexplorer: "cost-explorer", + costoptimizationhub: "cost-optimization-hub", customerprofiles: "customer-profiles", dms: "database-migration-service", datapipeline: "data-pipeline", @@ -29740,6 +28709,7 @@ var require_sdk_v2_to_v3 = __commonJS({ dynamodbstreams: "dynamodb-streams", ec2instanceconnect: "ec2-instance-connect", ecrpublic: "ecr-public", + eksauth: "eks-auth", elb: "elastic-load-balancing", elbv2: "elastic-load-balancing-v2", emrserverless: "emr-serverless", @@ -29752,15 +28722,15 @@ var require_sdk_v2_to_v3 = __commonJS({ forecastqueryservice: "forecastquery", forecastservice: "forecast", globalaccelerator: "global-accelerator", + ivsrealtime: "ivs-realtime", + inspectorscan: "inspector-scan", iot1clickdevicesservice: "iot-1click-devices-service", iot1clickprojects: "iot-1click-projects", iotevents: "iot-events", ioteventsdata: "iot-events-data", iotjobsdataplane: "iot-jobs-data-plane", - iotroborunner: "iot-roborunner", iotwireless: "iot-wireless", iotdata: "iot-data-plane", - ivsrealtime: "ivs-realtime", kendraranking: "kendra-ranking", kinesisanalytics: "kinesis-analytics", kinesisanalyticsv2: "kinesis-analytics-v2", @@ -29779,14 +28749,15 @@ var require_sdk_v2_to_v3 = __commonJS({ licensemanagerusersubscriptions: "license-manager-user-subscriptions", machinelearning: "machine-learning", managedblockchainquery: "managedblockchain-query", + marketplaceagreement: "marketplace-agreement", marketplacecatalog: "marketplace-catalog", marketplacecommerceanalytics: "marketplace-commerce-analytics", + marketplacedeployment: "marketplace-deployment", marketplaceentitlementservice: "marketplace-entitlement-service", marketplacemetering: "marketplace-metering", mediapackagevod: "mediapackage-vod", mediastoredata: "mediastore-data", medicalimaging: "medical-imaging", - memorydb: "memory-db", migrationhub: "migration-hub", migrationhubconfig: "migrationhub-config", migrationhubrefactorspaces: "migration-hub-refactor-spaces", @@ -29794,6 +28765,7 @@ var require_sdk_v2_to_v3 = __commonJS({ paymentcryptography: "payment-cryptography", paymentcryptographydata: "payment-cryptography-data", pcaconnectorad: "pca-connector-ad", + pcaconnectorscep: "pca-connector-scep", personalizeevents: "personalize-events", personalizeruntime: "personalize-runtime", pinpointemail: "pinpoint-email", @@ -29814,6 +28786,7 @@ var require_sdk_v2_to_v3 = __commonJS({ s3control: "s3-control", ssmcontacts: "ssm-contacts", ssmincidents: "ssm-incidents", + ssmquicksetup: "ssm-quicksetup", ssoadmin: "sso-admin", ssooidc: "sso-oidc", sagemakerfeaturestoreruntime: "sagemaker-featurestore-runtime", @@ -29830,12 +28803,14 @@ var require_sdk_v2_to_v3 = __commonJS({ stepfunctions: "sfn", storagegateway: "storage-gateway", supportapp: "support-app", + timestreaminfluxdb: "timestream-influxdb", timestreamquery: "timestream-query", timestreamwrite: "timestream-write", transcribeservice: "transcribe", - voiceid: "voice-id", vpclattice: "vpc-lattice", + voiceid: "voice-id", wafregional: "waf-regional", + workspacesthinclient: "workspaces-thin-client", workspacesweb: "workspaces-web" }; } @@ -29857,9 +28832,6 @@ var require_sdk_v3_metadata = __commonJS({ acm: { iamPrefix: "acm" }, - "alexa-for-business": { - iamPrefix: "a4b" - }, amp: { iamPrefix: "aps" }, @@ -29908,6 +28880,9 @@ var require_sdk_v3_metadata = __commonJS({ "application-insights": { iamPrefix: "applicationinsights" }, + "application-signals": { + iamPrefix: "application-signals" + }, applicationcostprofiler: { iamPrefix: "application-cost-profiler" }, @@ -29920,9 +28895,15 @@ var require_sdk_v3_metadata = __commonJS({ appsync: { iamPrefix: "appsync" }, + apptest: { + iamPrefix: "apptest" + }, "arc-zonal-shift": { iamPrefix: "arc-zonal-shift" }, + artifact: { + iamPrefix: "artifact" + }, athena: { iamPrefix: "athena" }, @@ -29944,8 +28925,8 @@ var require_sdk_v3_metadata = __commonJS({ backup: { iamPrefix: "backup" }, - backupstorage: { - iamPrefix: "backup-storage" + backupsearch: { + iamPrefix: "backup-search" }, batch: { iamPrefix: "batch" @@ -29953,18 +28934,30 @@ var require_sdk_v3_metadata = __commonJS({ "bcm-data-exports": { iamPrefix: "bcm-data-exports" }, + "bcm-pricing-calculator": { + iamPrefix: "bcm-pricing-calculator" + }, "bedrock-agent-runtime": { iamPrefix: "bedrock" }, "bedrock-agent": { iamPrefix: "bedrock" }, + "bedrock-data-automation-runtime": { + iamPrefix: "bedrock" + }, + "bedrock-data-automation": { + iamPrefix: "bedrock" + }, "bedrock-runtime": { iamPrefix: "bedrock" }, bedrock: { iamPrefix: "bedrock" }, + billing: { + iamPrefix: "billing" + }, billingconductor: { iamPrefix: "billingconductor" }, @@ -29974,6 +28967,9 @@ var require_sdk_v3_metadata = __commonJS({ budgets: { iamPrefix: "budgets" }, + chatbot: { + iamPrefix: "chatbot" + }, "chime-sdk-identity": { iamPrefix: "chime" }, @@ -30041,7 +29037,7 @@ var require_sdk_v3_metadata = __commonJS({ iamPrefix: "logs" }, cloudwatch: { - iamPrefix: "monitoring" + iamPrefix: "cloudwatch" }, codeartifact: { iamPrefix: "codeartifact" @@ -30053,6 +29049,9 @@ var require_sdk_v3_metadata = __commonJS({ codecommit: { iamPrefix: "codecommit" }, + codeconnections: { + iamPrefix: "codeconnections" + }, codedeploy: { iamPrefix: "codedeploy" }, @@ -30074,9 +29073,6 @@ var require_sdk_v3_metadata = __commonJS({ "codestar-notifications": { iamPrefix: "codestar-notifications" }, - codestar: { - iamPrefix: "codestar" - }, "cognito-identity-provider": { iamPrefix: "cognito-idp" }, @@ -30107,12 +29103,18 @@ var require_sdk_v3_metadata = __commonJS({ connectcampaigns: { iamPrefix: "connect-campaigns" }, + connectcampaignsv2: { + iamPrefix: "connect-campaigns" + }, connectcases: { iamPrefix: "cases" }, connectparticipant: { iamPrefix: "execute-api" }, + controlcatalog: { + iamPrefix: "controlcatalog" + }, controltower: { iamPrefix: "controltower" }, @@ -30149,6 +29151,9 @@ var require_sdk_v3_metadata = __commonJS({ dax: { iamPrefix: "dax" }, + deadline: { + iamPrefix: "deadline" + }, detective: { iamPrefix: "detective" }, @@ -30161,6 +29166,9 @@ var require_sdk_v3_metadata = __commonJS({ "direct-connect": { iamPrefix: "directconnect" }, + "directory-service-data": { + iamPrefix: "ds-data" + }, "directory-service": { iamPrefix: "ds" }, @@ -30176,6 +29184,9 @@ var require_sdk_v3_metadata = __commonJS({ drs: { iamPrefix: "drs" }, + dsql: { + iamPrefix: "dsql" + }, "dynamodb-streams": { iamPrefix: "dynamodb" }, @@ -30215,9 +29226,6 @@ var require_sdk_v3_metadata = __commonJS({ "elastic-beanstalk": { iamPrefix: "elasticbeanstalk" }, - "elastic-inference": { - iamPrefix: "elastic-inference" - }, "elastic-load-balancing-v2": { iamPrefix: "elasticloadbalancing" }, @@ -30284,6 +29292,18 @@ var require_sdk_v3_metadata = __commonJS({ gamelift: { iamPrefix: "gamelift" }, + gameliftstreams: { + iamPrefix: "gameliftstreams" + }, + "geo-maps": { + iamPrefix: "geo-maps" + }, + "geo-places": { + iamPrefix: "geo-places" + }, + "geo-routes": { + iamPrefix: "geo-routes" + }, glacier: { iamPrefix: "glacier" }, @@ -30314,9 +29334,6 @@ var require_sdk_v3_metadata = __commonJS({ healthlake: { iamPrefix: "healthlake" }, - honeycode: { - iamPrefix: "honeycode" - }, iam: { iamPrefix: "iam" }, @@ -30338,11 +29355,8 @@ var require_sdk_v3_metadata = __commonJS({ internetmonitor: { iamPrefix: "internetmonitor" }, - "iot-1click-devices-service": { - iamPrefix: "iot1click" - }, - "iot-1click-projects": { - iamPrefix: "iot1click" + invoicing: { + iamPrefix: "invoicing" }, "iot-data-plane": { iamPrefix: "iotdata" @@ -30356,14 +29370,20 @@ var require_sdk_v3_metadata = __commonJS({ "iot-jobs-data-plane": { iamPrefix: "iot-jobs-data" }, - "iot-roborunner": { - iamPrefix: "iotroborunner" + "iot-managed-integrations": { + iamPrefix: "iotmanagedintegrations" }, "iot-wireless": { iamPrefix: "iotwireless" }, iot: { - iamPrefix: "iot" + iamPrefix: "iot", + commands: [ + "CreateCommand", + "DeleteCommand", + "GetCommand", + "UpdateCommand" + ] }, iotanalytics: { iamPrefix: "iotanalytics" @@ -30494,6 +29514,9 @@ var require_sdk_v3_metadata = __commonJS({ macie2: { iamPrefix: "macie2" }, + mailmanager: { + iamPrefix: "ses" + }, "managedblockchain-query": { iamPrefix: "managedblockchain-query" }, @@ -30518,6 +29541,9 @@ var require_sdk_v3_metadata = __commonJS({ "marketplace-metering": { iamPrefix: "aws-marketplace" }, + "marketplace-reporting": { + iamPrefix: "aws-marketplace" + }, mediaconnect: { iamPrefix: "mediaconnect" }, @@ -30569,9 +29595,6 @@ var require_sdk_v3_metadata = __commonJS({ migrationhubstrategy: { iamPrefix: "migrationhub-strategy" }, - mobile: { - iamPrefix: "AWSMobileHubService" - }, mq: { iamPrefix: "mq" }, @@ -30593,18 +29616,27 @@ var require_sdk_v3_metadata = __commonJS({ "network-firewall": { iamPrefix: "network-firewall" }, + networkflowmonitor: { + iamPrefix: "networkflowmonitor" + }, networkmanager: { iamPrefix: "networkmanager" }, networkmonitor: { iamPrefix: "networkmonitor" }, - nimble: { - iamPrefix: "nimble" + notifications: { + iamPrefix: "notifications" + }, + notificationscontacts: { + iamPrefix: "notifications-contacts" }, oam: { iamPrefix: "oam" }, + observabilityadmin: { + iamPrefix: "observabilityadmin" + }, omics: { iamPrefix: "omics" }, @@ -30632,6 +29664,9 @@ var require_sdk_v3_metadata = __commonJS({ panorama: { iamPrefix: "panorama" }, + "partnercentral-selling": { + iamPrefix: "partnercentral-selling" + }, "payment-cryptography-data": { iamPrefix: "payment-cryptography" }, @@ -30641,6 +29676,12 @@ var require_sdk_v3_metadata = __commonJS({ "pca-connector-ad": { iamPrefix: "pca-connector-ad" }, + "pca-connector-scep": { + iamPrefix: "pca-connector-scep" + }, + pcs: { + iamPrefix: "pcs" + }, "personalize-events": { iamPrefix: "personalize" }, @@ -30674,12 +29715,12 @@ var require_sdk_v3_metadata = __commonJS({ pricing: { iamPrefix: "pricing" }, - privatenetworks: { - iamPrefix: "private-networks" - }, proton: { iamPrefix: "proton" }, + qapps: { + iamPrefix: "qapps" + }, qbusiness: { iamPrefix: "qbusiness" }, @@ -30761,6 +29802,9 @@ var require_sdk_v3_metadata = __commonJS({ "route53-recovery-readiness": { iamPrefix: "route53-recovery-readiness" }, + route53profiles: { + iamPrefix: "route53profiles" + }, route53resolver: { iamPrefix: "route53resolver" }, @@ -30776,6 +29820,9 @@ var require_sdk_v3_metadata = __commonJS({ s3outposts: { iamPrefix: "s3-outposts" }, + s3tables: { + iamPrefix: "s3tables" + }, "sagemaker-a2i-runtime": { iamPrefix: "sagemaker" }, @@ -30809,6 +29856,9 @@ var require_sdk_v3_metadata = __commonJS({ "secrets-manager": { iamPrefix: "secretsmanager" }, + "security-ir": { + iamPrefix: "security-ir" + }, securityhub: { iamPrefix: "securityhub" }, @@ -30860,15 +29910,24 @@ var require_sdk_v3_metadata = __commonJS({ sns: { iamPrefix: "sns" }, + socialmessaging: { + iamPrefix: "social-messaging" + }, sqs: { iamPrefix: "sqs" }, "ssm-contacts": { iamPrefix: "ssm-contacts" }, + "ssm-guiconnect": { + iamPrefix: "ssm-guiconnect" + }, "ssm-incidents": { iamPrefix: "ssm-incidents" }, + "ssm-quicksetup": { + iamPrefix: "ssm-quicksetup" + }, "ssm-sap": { iamPrefix: "ssm-sap" }, @@ -30909,9 +29968,15 @@ var require_sdk_v3_metadata = __commonJS({ synthetics: { iamPrefix: "synthetics" }, + taxsettings: { + iamPrefix: "tax" + }, textract: { iamPrefix: "textract" }, + "timestream-influxdb": { + iamPrefix: "timestream-influxdb" + }, "timestream-query": { iamPrefix: "timestream" }, @@ -30963,9 +30028,6 @@ var require_sdk_v3_metadata = __commonJS({ workdocs: { iamPrefix: "workdocs" }, - worklink: { - iamPrefix: "worklink" - }, workmail: { iamPrefix: "workmail" }, @@ -31149,10 +30211,10 @@ var init_api_call = __esm({ }); // ../aws-custom-resource-sdk-adapter/lib/index.js -var require_lib5 = __commonJS({ +var require_lib4 = __commonJS({ "../aws-custom-resource-sdk-adapter/lib/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { @@ -31161,10 +30223,10 @@ var require_lib5 = __commonJS({ } }; } Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; - }); + })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); }; @@ -31190,13 +30252,13 @@ var require_lib5 = __commonJS({ }); // lib/assertions/providers/lambda-handler/index.ts -var lambda_handler_exports = {}; -__export(lambda_handler_exports, { +var index_exports = {}; +__export(index_exports, { handler: () => handler, isComplete: () => isComplete, onTimeout: () => onTimeout }); -module.exports = __toCommonJS(lambda_handler_exports); +module.exports = __toCommonJS(index_exports); // lib/assertions/providers/lambda-handler/assertion.ts var import_helpers_internal = __toESM(require_helpers_internal()); @@ -31204,12 +30266,11 @@ var import_helpers_internal = __toESM(require_helpers_internal()); // lib/assertions/providers/lambda-handler/base.ts var https = __toESM(require("https")); var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs56()); +var import_client_sfn = __toESM(require_dist_cjs53()); var CustomResourceHandler = class { constructor(event, context) { this.event = event; this.context = context; - this.timedOut = false; this.timeout = setTimeout(async () => { await this.respond({ status: "FAILED", @@ -31221,6 +30282,9 @@ var CustomResourceHandler = class { this.event = event; this.physicalResourceId = extractPhysicalResourceId(event); } + physicalResourceId; + timeout; + timedOut = false; /** * Handles executing the custom resource event. If `stateMachineArn` is present * in the props then trigger the waiter statemachine @@ -31354,6 +30418,7 @@ var AssertionHandler = class extends CustomResourceHandler { } }; var MatchCreator = class { + parsedObj; constructor(obj) { this.parsedObj = { matcher: obj @@ -31457,30 +30522,8 @@ function decodeCall(call) { } // lib/assertions/providers/lambda-handler/http.ts -var import_node_fetch = __toESM(require_lib4()); -var HttpHandler = class extends CustomResourceHandler { - async processEvent(request2) { - console.log("request", request2); - const response = await (0, import_node_fetch.default)(request2.parameters.url, request2.parameters.fetchOptions); - const result = { - ok: response.ok, - status: response.status, - statusText: response.statusText, - headers: response.headers.raw() - }; - result.body = await response.text(); - try { - result.body = JSON.parse(result.body); - } catch (e) { - } - return { - apiCallResponse: result - }; - } -}; - -// lib/assertions/providers/lambda-handler/sdk.ts -var import_aws_custom_resource_sdk_adapter = __toESM(require_lib5()); +var import_node_fetch = __toESM(require_lib3()); +var import_aws_custom_resource_sdk_adapter = __toESM(require_lib4()); // lib/assertions/providers/lambda-handler/utils.ts function deepParseJson(x) { @@ -31526,10 +30569,38 @@ function decodeValue(value) { return JSON.parse(value); } +// lib/assertions/providers/lambda-handler/http.ts +var HttpHandler = class extends CustomResourceHandler { + async processEvent(request2) { + console.log("request", request2); + const response = await (0, import_node_fetch.default)(request2.parameters.url, request2.parameters.fetchOptions); + const result = { + ok: response.ok, + status: response.status, + statusText: response.statusText, + headers: response.headers.raw() + }; + result.body = await response.text(); + try { + result.body = JSON.parse(result.body); + } catch (e) { + } + let resp; + if (request2.flattenResponse === "true") { + resp = (0, import_aws_custom_resource_sdk_adapter.flatten)(deepParseJson({ apiCallResponse: result })); + } else { + resp = { apiCallResponse: result }; + } + console.log(`Returning result ${JSON.stringify(resp)}`); + return resp; + } +}; + // lib/assertions/providers/lambda-handler/sdk.ts +var import_aws_custom_resource_sdk_adapter2 = __toESM(require_lib4()); var AwsApiCallHandler = class extends CustomResourceHandler { async processEvent(request2) { - const apiCall = new import_aws_custom_resource_sdk_adapter.ApiCall(request2.service, request2.api); + const apiCall = new import_aws_custom_resource_sdk_adapter2.ApiCall(request2.service, request2.api); const parameters = request2.parameters ? decodeParameters(request2.parameters) : {}; console.log(`SDK request to ${apiCall.service}.${apiCall.action} with parameters ${JSON.stringify(parameters)}`); const response = await apiCall.invoke({ parameters }); @@ -31537,7 +30608,7 @@ var AwsApiCallHandler = class extends CustomResourceHandler { delete response.$metadata; let resp; if (request2.outputPaths || request2.flattenResponse === "true") { - const flattened = (0, import_aws_custom_resource_sdk_adapter.flatten)(deepParseJson({ apiCallResponse: response })); + const flattened = (0, import_aws_custom_resource_sdk_adapter2.flatten)(deepParseJson({ apiCallResponse: response })); resp = request2.outputPaths ? filterKeys(flattened, request2.outputPaths) : flattened; } else { resp = { apiCallResponse: response }; diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/cdk.out index 3704a1b682acf..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"45.0.0"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/integ.json index 718ad66e35a78..8efb9f407859e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "testCases": { "SQSBucketNotificationsTest/DefaultTest": { "stacks": [ @@ -10,5 +10,5 @@ "assertionStackName": "SQSBucketNotificationsTestDefaultTestDeployAssert53BCF57E" } }, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/manifest.json index 4ebc6546f3fe1..73fe2438aad94 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/manifest.json @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9a1bc8514461ceac0c92e1778b8dfa095d9f17edeafa39b5e221c1a654f062f4.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/012408600b7d367241f6b904f7b2d51bd4635ad1f0629c04fa97640e1a77b457.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -383,7 +383,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4ac6a828daf48c5747a66e33184625ffa1315cd796e8a521ffaf3e3fe089117f.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/979aa89ab0f5eb4be0522d5992817dd817428696b2be23d2fb4f629d2166070e.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -488,57 +488,48 @@ "properties": { "module": "aws-cdk-lib", "flags": { - "@aws-cdk/core:enableStackNameDuplicates": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { "recommendedValue": true, - "explanation": "Allow multiple stacks with the same name" - }, - "aws-cdk:enableDiffNoFail": { - "recommendedValue": true, - "explanation": "Make `cdk diff` not fail when there are differences" + "explanation": "Pass signingProfileName to CfnSigningProfile" }, "@aws-cdk/core:newStyleStackSynthesis": { "recommendedValue": true, - "explanation": "Switch to new stack synthesis method which enables CI/CD" + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:stackRelativeExports": { "recommendedValue": true, - "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path" - }, - "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": { - "recommendedValue": true, - "explanation": "DockerImageAsset properly supports `.dockerignore` files by default" - }, - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": { - "recommendedValue": true, - "explanation": "Fix the referencing of SecretsManager names from ARNs" - }, - "@aws-cdk/aws-kms:defaultKeyPolicies": { - "recommendedValue": true, - "explanation": "Tighten default KMS key policies" - }, - "@aws-cdk/aws-s3:grantWriteWithoutAcl": { - "recommendedValue": true, - "explanation": "Remove `PutObjectAcl` from Bucket.grantWrite" + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } }, - "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": { + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { "recommendedValue": true, - "explanation": "Do not specify a default DesiredCount for ECS services" + "explanation": "Disable implicit openListener when custom security groups are provided" }, "@aws-cdk/aws-rds:lowercaseDbIdentifier": { "recommendedValue": true, - "explanation": "Force lowercasing of RDS Cluster names in CDK" + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { "recommendedValue": true, - "explanation": "Allow adding/removing multiple UsagePlanKeys independently" - }, - "@aws-cdk/aws-efs:defaultEncryptionAtRest": { - "recommendedValue": true, - "explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default." + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeVersionProps": { "recommendedValue": true, - "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeLayerVersion": { "userValue": true, @@ -547,7 +538,10 @@ }, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { "recommendedValue": true, - "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default." + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:checkSecretUsage": { "userValue": true, @@ -768,7 +762,10 @@ }, "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy" + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-eks:nodegroupNameAttribute": { "userValue": true, @@ -797,7 +794,10 @@ }, "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { "recommendedValue": true, - "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model." + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:explicitStackTags": { "userValue": true, @@ -861,7 +861,10 @@ }, "@aws-cdk/core:aspectStabilization": { "recommendedValue": true, - "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis." + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { "userValue": true, @@ -895,7 +898,10 @@ }, "@aws-cdk/pipelines:reduceStageRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from Stage addActions trust policy" + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-events:requireEventBusPolicySid": { "userValue": true, @@ -918,7 +924,10 @@ }, "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { "recommendedValue": true, - "explanation": "When enabled, scopes down the trust policy for the cross-account action role" + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { "userValue": true, @@ -953,5 +962,5 @@ } } }, - "minimumCliVersion": "2.1023.0" + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.assets.json index a121e9ba2767c..cb1171f05741b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.assets.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { "44e9c4d7a5d3fd2d677e1a7e416b2b56f6b0104bd5eff9cac5557b4c65a9dc61": { "displayName": "sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider Code", @@ -15,16 +15,16 @@ } } }, - "9a1bc8514461ceac0c92e1778b8dfa095d9f17edeafa39b5e221c1a654f062f4": { + "012408600b7d367241f6b904f7b2d51bd4635ad1f0629c04fa97640e1a77b457": { "displayName": "sqs-bucket-notifications Template", "source": { "path": "sqs-bucket-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-95fa72f4": { + "current_account-current_region-b7e4d32a": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9a1bc8514461ceac0c92e1778b8dfa095d9f17edeafa39b5e221c1a654f062f4.json", + "objectKey": "012408600b7d367241f6b904f7b2d51bd4635ad1f0629c04fa97640e1a77b457.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.template.json index 9cced1557bfdb..e3a91d8b60555 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/sqs-bucket-notifications.template.json @@ -167,7 +167,26 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": [ + { + "Fn::GetAtt": [ + "Bucket12520700A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "Bucket25524B414", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "Bucket3WithSkipDestinationValidation4A19337A", + "Arn" + ] + } + ] } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/tree.json index e763e16ad073b..20224e7f7a81a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-notifications/test/sqs/integ.bucket-notifications.js.snapshot/tree.json @@ -1 +1 @@ -{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"sqs-bucket-notifications":{"id":"sqs-bucket-notifications","path":"sqs-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket1":{"id":"Bucket1","path":"sqs-bucket-notifications/Bucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"MyQueue":{"id":"MyQueue","path":"sqs-bucket-notifications/MyQueue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/MyQueue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueE6CA6235","Arn"]}},{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket25524B414","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueE6CA6235","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"MyQueueE6CA6235"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Bucket2":{"id":"Bucket2","path":"sqs-bucket-notifications/Bucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/Bucket2/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"Bucket25524B414"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["Bucket25524B414","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["Bucket25524B414","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"sqs-bucket-notifications/Bucket2/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"sqs-bucket-notifications/Bucket2/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"EncryptedQueue":{"id":"EncryptedQueue","path":"sqs-bucket-notifications/EncryptedQueue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":[{"encryption":"KMS"}]},"children":{"Key":{"id":"Key","path":"sqs-bucket-notifications/EncryptedQueue/Key","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.Key","version":"0.0.0","metadata":[{"description":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Key/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.CfnKey","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::KMS::Key","aws:cdk:cloudformation:props":{"description":"Created by sqs-bucket-notifications/EncryptedQueue","keyPolicy":{"Statement":[{"Action":"kms:*","Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":"*"},{"Action":["kms:Decrypt","kms:Encrypt","kms:GenerateDataKey*","kms:ReEncrypt*"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"}],"Version":"2012-10-17"}}}}}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::GetAtt":["EncryptedQueueKey6F4FD304","Arn"]}}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/EncryptedQueue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["EncryptedQueue0428C61A","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"EncryptedQueue0428C61A"}]}}}}}}},"Bucket3WithSkipDestinationValidation":{"id":"Bucket3WithSkipDestinationValidation","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"notificationsSkipDestinationValidation":true,"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"MyQueueWithIncorrectS3Permissions":{"id":"MyQueueWithIncorrectS3Permissions","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sqs:SendMessage","Effect":"Deny","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueWithIncorrectS3PermissionsBE3BD1C7","Arn"]}},{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket3WithSkipDestinationValidation4A19337A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueWithIncorrectS3PermissionsBE3BD1C7","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"MyQueueWithIncorrectS3PermissionsBE3BD1C7"}]}}}}}}},"Exports":{"id":"Exports","path":"sqs-bucket-notifications/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"MyQueueE6CA6235\"}":{"id":"Output{\"Ref\":\"MyQueueE6CA6235\"}","path":"sqs-bucket-notifications/Exports/Output{\"Ref\":\"MyQueueE6CA6235\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Bucket25524B414\"}":{"id":"Output{\"Ref\":\"Bucket25524B414\"}","path":"sqs-bucket-notifications/Exports/Output{\"Ref\":\"Bucket25524B414\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sqs-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqs-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SQSBucketNotificationsTest":{"id":"SQSBucketNotificationsTest","path":"SQSBucketNotificationsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SQSBucketNotificationsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4":{"id":"AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f":{"id":"AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7":{"id":"AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"sqs-bucket-notifications":{"id":"sqs-bucket-notifications","path":"sqs-bucket-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket1":{"id":"Bucket1","path":"sqs-bucket-notifications/Bucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"MyQueue":{"id":"MyQueue","path":"sqs-bucket-notifications/MyQueue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/MyQueue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueE6CA6235","Arn"]}},{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket25524B414","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueE6CA6235","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"MyQueueE6CA6235"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":[{"Fn::GetAtt":["Bucket12520700A","Arn"]},{"Fn::GetAtt":["Bucket25524B414","Arn"]},{"Fn::GetAtt":["Bucket3WithSkipDestinationValidation4A19337A","Arn"]}]}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Bucket2":{"id":"Bucket2","path":"sqs-bucket-notifications/Bucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy","autoDeleteObjects":true}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}]}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/Bucket2/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"Bucket25524B414"},"policyDocument":{"Statement":[{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["Bucket25524B414","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["Bucket25524B414","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"sqs-bucket-notifications/Bucket2/AutoDeleteObjectsCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"sqs-bucket-notifications/Bucket2/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"0.0.0"},"children":{"Staging":{"id":"Staging","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"sqs-bucket-notifications/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"EncryptedQueue":{"id":"EncryptedQueue","path":"sqs-bucket-notifications/EncryptedQueue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":[{"encryption":"KMS"}]},"children":{"Key":{"id":"Key","path":"sqs-bucket-notifications/EncryptedQueue/Key","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.Key","version":"0.0.0","metadata":[{"description":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Key/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_kms.CfnKey","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::KMS::Key","aws:cdk:cloudformation:props":{"description":"Created by sqs-bucket-notifications/EncryptedQueue","keyPolicy":{"Statement":[{"Action":"kms:*","Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":"*"},{"Action":["kms:Decrypt","kms:Encrypt","kms:GenerateDataKey*","kms:ReEncrypt*"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":"*"}],"Version":"2012-10-17"}}}}}},"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::GetAtt":["EncryptedQueueKey6F4FD304","Arn"]}}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/EncryptedQueue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/EncryptedQueue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["EncryptedQueue0428C61A","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"EncryptedQueue0428C61A"}]}}}}}}},"Bucket3WithSkipDestinationValidation":{"id":"Bucket3WithSkipDestinationValidation","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"notificationsSkipDestinationValidation":true,"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/Bucket3WithSkipDestinationValidation/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"MyQueueWithIncorrectS3Permissions":{"id":"MyQueueWithIncorrectS3Permissions","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqs-bucket-notifications/MyQueueWithIncorrectS3Permissions/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sqs:SendMessage","Effect":"Deny","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueWithIncorrectS3PermissionsBE3BD1C7","Arn"]}},{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket3WithSkipDestinationValidation4A19337A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["MyQueueWithIncorrectS3PermissionsBE3BD1C7","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"MyQueueWithIncorrectS3PermissionsBE3BD1C7"}]}}}}}}},"Exports":{"id":"Exports","path":"sqs-bucket-notifications/Exports","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Output{\"Ref\":\"MyQueueE6CA6235\"}":{"id":"Output{\"Ref\":\"MyQueueE6CA6235\"}","path":"sqs-bucket-notifications/Exports/Output{\"Ref\":\"MyQueueE6CA6235\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}},"Output{\"Ref\":\"Bucket25524B414\"}":{"id":"Output{\"Ref\":\"Bucket25524B414\"}","path":"sqs-bucket-notifications/Exports/Output{\"Ref\":\"Bucket25524B414\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sqs-bucket-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqs-bucket-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"SQSBucketNotificationsTest":{"id":"SQSBucketNotificationsTest","path":"SQSBucketNotificationsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"SQSBucketNotificationsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4":{"id":"AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSpurgeQueue0080aee76c0c561f142ddb9a13ec7cc4/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Staging":{"id":"Staging","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"0.0.0"}},"Role":{"id":"Role","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}},"Handler":{"id":"Handler","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f":{"id":"AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallS3putObjectfdcc2b330314993fae3423f6d19b433f/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7":{"id":"AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AwsApiCall","version":"0.0.0"},"children":{"SdkProvider":{"id":"SdkProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/SdkProvider","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"0.0.0"},"children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}},"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/Default","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"0.0.0","metadata":["*","*","*"]},"children":{"Default":{"id":"Default","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"AssertionResults":{"id":"AssertionResults","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage2339d0007bf8ec3f84ba0d037203c1f7/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"SQSBucketNotificationsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets.json new file mode 100644 index 0000000000000..676cfbf3b8583 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets.json @@ -0,0 +1,20 @@ +{ + "version": "48.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "ScopedPermissionsTestDefaultTestDeployAssert9637B750 Template", + "source": { + "path": "ScopedPermissionsTestDefaultTestDeployAssert9637B750.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region-d8d86b35": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/ScopedPermissionsTestDefaultTestDeployAssert9637B750.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.assets.json new file mode 100644 index 0000000000000..7c7a90287df45 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.assets.json @@ -0,0 +1,20 @@ +{ + "version": "48.0.0", + "files": { + "19ed43ce2b2e649cea6045804e9b17e30ece51dc5ac0ef94ae95a549bc2f7530": { + "displayName": "aws-cdk-s3-notifications-scoped-permissions Template", + "source": { + "path": "aws-cdk-s3-notifications-scoped-permissions.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region-49034d0d": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "19ed43ce2b2e649cea6045804e9b17e30ece51dc5ac0ef94ae95a549bc2f7530.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.template.json new file mode 100644 index 0000000000000..1fd7432ff7c77 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/aws-cdk-s3-notifications-scoped-permissions.template.json @@ -0,0 +1,329 @@ +{ + "Resources": { + "Bucket12520700A": { + "Type": "AWS::S3::Bucket", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "Bucket1NotificationsBC5D9A45": { + "Type": "Custom::S3BucketNotifications", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691", + "Arn" + ] + }, + "BucketName": { + "Ref": "Bucket12520700A" + }, + "NotificationConfiguration": { + "QueueConfigurations": [ + { + "Events": [ + "s3:ObjectCreated:Post" + ], + "QueueArn": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + } + } + ], + "TopicConfigurations": [ + { + "Events": [ + "s3:ObjectCreated:Put" + ], + "TopicArn": { + "Ref": "TopicBFC7AF6E" + } + } + ] + }, + "Managed": true, + "SkipDestinationValidation": false + }, + "DependsOn": [ + "QueuePolicy25439813", + "Queue4A7E3555", + "TopicPolicyA1747468", + "TopicBFC7AF6E" + ] + }, + "Bucket25524B414": { + "Type": "AWS::S3::Bucket", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "Bucket2NotificationsD9BA2A77": { + "Type": "Custom::S3BucketNotifications", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691", + "Arn" + ] + }, + "BucketName": { + "Ref": "Bucket25524B414" + }, + "NotificationConfiguration": { + "TopicConfigurations": [ + { + "Events": [ + "s3:ObjectRemoved:Delete" + ], + "TopicArn": { + "Ref": "TopicBFC7AF6E" + } + }, + { + "Events": [ + "s3:ObjectRemoved:DeleteMarkerCreated" + ], + "TopicArn": { + "Ref": "TopicBFC7AF6E" + } + } + ] + }, + "Managed": true, + "SkipDestinationValidation": false + }, + "DependsOn": [ + "TopicPolicyA1747468", + "TopicBFC7AF6E" + ] + }, + "TopicBFC7AF6E": { + "Type": "AWS::SNS::Topic" + }, + "TopicPolicyA1747468": { + "Type": "AWS::SNS::TopicPolicy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "sns:Publish", + "Condition": { + "ArnLike": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "Bucket12520700A", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "s3.amazonaws.com" + }, + "Resource": { + "Ref": "TopicBFC7AF6E" + }, + "Sid": "0" + }, + { + "Action": "sns:Publish", + "Condition": { + "ArnLike": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "Bucket25524B414", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "s3.amazonaws.com" + }, + "Resource": { + "Ref": "TopicBFC7AF6E" + }, + "Sid": "1" + } + ], + "Version": "2012-10-17" + }, + "Topics": [ + { + "Ref": "TopicBFC7AF6E" + } + ] + } + }, + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "QueuePolicy25439813": { + "Type": "AWS::SQS::QueuePolicy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl", + "sqs:SendMessage" + ], + "Condition": { + "ArnLike": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "Bucket12520700A", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "s3.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "Queues": [ + { + "Ref": "Queue4A7E3555" + } + ] + } + }, + "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "s3:PutBucketNotification", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "Bucket12520700A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "Bucket25524B414", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", + "Roles": [ + { + "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" + } + ] + } + }, + "BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Description": "AWS CloudFormation handler for \"Custom::S3BucketNotifications\" resources (@aws-cdk/aws-s3)", + "Code": { + "ZipFile": "import boto3 # type: ignore\nimport json\nimport logging\nimport urllib.request\n\ns3 = boto3.client(\"s3\")\n\nEVENTBRIDGE_CONFIGURATION = 'EventBridgeConfiguration'\nCONFIGURATION_TYPES = [\"TopicConfigurations\", \"QueueConfigurations\", \"LambdaFunctionConfigurations\"]\n\ndef handler(event: dict, context):\n response_status = \"SUCCESS\"\n error_message = \"\"\n try:\n props = event[\"ResourceProperties\"]\n notification_configuration = props[\"NotificationConfiguration\"]\n managed = props.get('Managed', 'true').lower() == 'true'\n skipDestinationValidation = props.get('SkipDestinationValidation', 'false').lower() == 'true'\n stack_id = event['StackId']\n old = event.get(\"OldResourceProperties\", {}).get(\"NotificationConfiguration\", {})\n if managed:\n config = handle_managed(event[\"RequestType\"], notification_configuration)\n else:\n config = handle_unmanaged(props[\"BucketName\"], stack_id, event[\"RequestType\"], notification_configuration, old)\n s3.put_bucket_notification_configuration(Bucket=props[\"BucketName\"], NotificationConfiguration=config, SkipDestinationValidation=skipDestinationValidation)\n except Exception as e:\n logging.exception(\"Failed to put bucket notification configuration\")\n response_status = \"FAILED\"\n error_message = f\"Error: {str(e)}. \"\n finally:\n submit_response(event, context, response_status, error_message)\n\ndef handle_managed(request_type, notification_configuration):\n if request_type == 'Delete':\n return {}\n return notification_configuration\n\ndef handle_unmanaged(bucket, stack_id, request_type, notification_configuration, old):\n def get_id(n):\n n['Id'] = ''\n sorted_notifications = sort_filter_rules(n)\n strToHash=json.dumps(sorted_notifications, sort_keys=True).replace('\"Name\": \"prefix\"', '\"Name\": \"Prefix\"').replace('\"Name\": \"suffix\"', '\"Name\": \"Suffix\"')\n return f\"{stack_id}-{hash(strToHash)}\"\n def with_id(n):\n n['Id'] = get_id(n)\n return n\n\n external_notifications = {}\n existing_notifications = s3.get_bucket_notification_configuration(Bucket=bucket)\n for t in CONFIGURATION_TYPES:\n if request_type == 'Update':\n old_incoming_ids = [get_id(n) for n in old.get(t, [])]\n external_notifications[t] = [n for n in existing_notifications.get(t, []) if not get_id(n) in old_incoming_ids] \n elif request_type == 'Delete':\n external_notifications[t] = [n for n in existing_notifications.get(t, []) if not n['Id'].startswith(f\"{stack_id}-\")]\n elif request_type == 'Create':\n external_notifications[t] = [n for n in existing_notifications.get(t, [])]\n if EVENTBRIDGE_CONFIGURATION in existing_notifications:\n external_notifications[EVENTBRIDGE_CONFIGURATION] = existing_notifications[EVENTBRIDGE_CONFIGURATION]\n\n if request_type == 'Delete':\n return external_notifications\n\n notifications = {}\n for t in CONFIGURATION_TYPES:\n external = external_notifications.get(t, [])\n incoming = [with_id(n) for n in notification_configuration.get(t, [])]\n notifications[t] = external + incoming\n\n if EVENTBRIDGE_CONFIGURATION in notification_configuration:\n notifications[EVENTBRIDGE_CONFIGURATION] = notification_configuration[EVENTBRIDGE_CONFIGURATION]\n elif EVENTBRIDGE_CONFIGURATION in external_notifications:\n notifications[EVENTBRIDGE_CONFIGURATION] = external_notifications[EVENTBRIDGE_CONFIGURATION]\n\n return notifications\n\ndef submit_response(event: dict, context, response_status: str, error_message: str):\n response_body = json.dumps(\n {\n \"Status\": response_status,\n \"Reason\": f\"{error_message}See the details in CloudWatch Log Stream: {context.log_stream_name}\",\n \"PhysicalResourceId\": event.get(\"PhysicalResourceId\") or event[\"LogicalResourceId\"],\n \"StackId\": event[\"StackId\"],\n \"RequestId\": event[\"RequestId\"],\n \"LogicalResourceId\": event[\"LogicalResourceId\"],\n \"NoEcho\": False,\n }\n ).encode(\"utf-8\")\n headers = {\"content-type\": \"\", \"content-length\": str(len(response_body))}\n try:\n req = urllib.request.Request(url=event[\"ResponseURL\"], headers=headers, data=response_body, method=\"PUT\")\n with urllib.request.urlopen(req) as response:\n print(response.read().decode(\"utf-8\"))\n print(\"Status code: \" + response.reason)\n except Exception as e:\n print(\"send(..) failed executing request.urlopen(..): \" + str(e))\n\ndef sort_filter_rules(json_obj):\n if not isinstance(json_obj, dict):\n return json_obj\n for key, value in json_obj.items():\n if isinstance(value, dict):\n json_obj[key] = sort_filter_rules(value)\n elif isinstance(value, list):\n json_obj[key] = [sort_filter_rules(item) for item in value]\n if \"Filter\" in json_obj and \"Key\" in json_obj[\"Filter\"] and \"FilterRules\" in json_obj[\"Filter\"][\"Key\"]:\n filter_rules = json_obj[\"Filter\"][\"Key\"][\"FilterRules\"]\n sorted_filter_rules = sorted(filter_rules, key=lambda x: x[\"Name\"])\n json_obj[\"Filter\"][\"Key\"][\"FilterRules\"] = sorted_filter_rules\n return json_obj" + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC", + "Arn" + ] + }, + "Runtime": "python3.11", + "Timeout": 300 + }, + "DependsOn": [ + "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", + "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" + ] + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/cdk.out new file mode 100644 index 0000000000000..523a9aac37cbf --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/integ.json new file mode 100644 index 0000000000000..baabc4e664d97 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/integ.json @@ -0,0 +1,14 @@ +{ + "version": "48.0.0", + "testCases": { + "ScopedPermissionsTest/DefaultTest": { + "stacks": [ + "aws-cdk-s3-notifications-scoped-permissions" + ], + "diffAssets": true, + "assertionStack": "ScopedPermissionsTest/DefaultTest/DeployAssert", + "assertionStackName": "ScopedPermissionsTestDefaultTestDeployAssert9637B750" + } + }, + "minimumCliVersion": "2.1025.0" +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/manifest.json new file mode 100644 index 0000000000000..9465cff787f96 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/manifest.json @@ -0,0 +1,799 @@ +{ + "version": "48.0.0", + "artifacts": { + "aws-cdk-s3-notifications-scoped-permissions.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "aws-cdk-s3-notifications-scoped-permissions.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "aws-cdk-s3-notifications-scoped-permissions": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-cdk-s3-notifications-scoped-permissions.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/19ed43ce2b2e649cea6045804e9b17e30ece51dc5ac0ef94ae95a549bc2f7530.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "aws-cdk-s3-notifications-scoped-permissions.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "aws-cdk-s3-notifications-scoped-permissions.assets" + ], + "metadata": { + "/aws-cdk-s3-notifications-scoped-permissions/Bucket1": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Bucket1/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Bucket12520700A" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Bucket1/Notifications/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Bucket1NotificationsBC5D9A45" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Bucket2": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Bucket2/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Bucket25524B414" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Bucket2/Notifications/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Bucket2NotificationsD9BA2A77" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Topic": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Topic/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "TopicBFC7AF6E" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Topic/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "topics": [ + "*" + ] + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Topic/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "TopicPolicyA1747468" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Queue": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "removalPolicy": "destroy" + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Queue/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "queues": [ + "*" + ] + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/Queue/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "QueuePolicy25439813" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/aws-cdk-s3-notifications-scoped-permissions/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "aws-cdk-s3-notifications-scoped-permissions" + }, + "ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "ScopedPermissionsTestDefaultTestDeployAssert9637B750": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "ScopedPermissionsTestDefaultTestDeployAssert9637B750.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "ScopedPermissionsTestDefaultTestDeployAssert9637B750.assets" + ], + "metadata": { + "/ScopedPermissionsTest/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/ScopedPermissionsTest/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "ScopedPermissionsTest/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } + } + }, + "minimumCliVersion": "2.1025.0" +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/tree.json new file mode 100644 index 0000000000000..9d88c3ddd55d5 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.js.snapshot/tree.json @@ -0,0 +1 @@ +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"aws-cdk-s3-notifications-scoped-permissions":{"id":"aws-cdk-s3-notifications-scoped-permissions","path":"aws-cdk-s3-notifications-scoped-permissions","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"Bucket1":{"id":"Bucket1","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket1","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket1/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket1/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Bucket2":{"id":"Bucket2","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket2","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Notifications":{"id":"Notifications","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket2/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Bucket2/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"Topic":{"id":"Topic","path":"aws-cdk-s3-notifications-scoped-permissions/Topic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"0.0.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Topic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"aws-cdk-s3-notifications-scoped-permissions/Topic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"0.0.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Topic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"TopicBFC7AF6E"},"Sid":"0"},{"Action":"sns:Publish","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket25524B414","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Ref":"TopicBFC7AF6E"},"Sid":"1"}],"Version":"2012-10-17"},"topics":[{"Ref":"TopicBFC7AF6E"}]}}}}}}},"Queue":{"id":"Queue","path":"aws-cdk-s3-notifications-scoped-permissions/Queue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"0.0.0","metadata":[{"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Queue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"aws-cdk-s3-notifications-scoped-permissions/Queue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"0.0.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/Queue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:GetQueueAttributes","sqs:GetQueueUrl","sqs:SendMessage"],"Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["Bucket12520700A","Arn"]}}},"Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Resource":{"Fn::GetAtt":["Queue4A7E3555","Arn"]}}],"Version":"2012-10-17"},"queues":[{"Ref":"Queue4A7E3555"}]}}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":[{"Fn::GetAtt":["Bucket12520700A","Arn"]},{"Fn::GetAtt":["Bucket25524B414","Arn"]}]}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications-scoped-permissions/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"aws-cdk-s3-notifications-scoped-permissions/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"aws-cdk-s3-notifications-scoped-permissions/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"ScopedPermissionsTest":{"id":"ScopedPermissionsTest","path":"ScopedPermissionsTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"ScopedPermissionsTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"ScopedPermissionsTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"ScopedPermissionsTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"ScopedPermissionsTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"ScopedPermissionsTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.ts new file mode 100644 index 0000000000000..79ef9e6f234a2 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications-scoped-permissions.ts @@ -0,0 +1,71 @@ +#!/usr/bin/env node +import * as cdk from 'aws-cdk-lib'; +import * as integ from '@aws-cdk/integ-tests-alpha'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as sns from 'aws-cdk-lib/aws-sns'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as s3n from 'aws-cdk-lib/aws-s3-notifications'; +import { Match, Template } from 'aws-cdk-lib/assertions'; + +const app = new cdk.App(); + +const stack = new cdk.Stack(app, 'aws-cdk-s3-notifications-scoped-permissions'); + +// Create multiple buckets to test consolidated policy with scoped permissions +const bucket1 = new s3.Bucket(stack, 'Bucket1', { + removalPolicy: cdk.RemovalPolicy.DESTROY, +}); + +const bucket2 = new s3.Bucket(stack, 'Bucket2', { + removalPolicy: cdk.RemovalPolicy.DESTROY, +}); + +const topic = new sns.Topic(stack, 'Topic'); +const queue = new sqs.Queue(stack, 'Queue', { + removalPolicy: cdk.RemovalPolicy.DESTROY, +}); + +// Add notifications to multiple buckets with different event types - this should create scoped IAM permissions +bucket1.addEventNotification(s3.EventType.OBJECT_CREATED_PUT, new s3n.SnsDestination(topic)); +bucket1.addEventNotification(s3.EventType.OBJECT_CREATED_POST, new s3n.SqsDestination(queue)); +bucket2.addEventNotification(s3.EventType.OBJECT_REMOVED_DELETE, new s3n.SnsDestination(topic)); +bucket2.addEventNotification(s3.EventType.OBJECT_REMOVED_DELETE_MARKER_CREATED, new s3n.SnsDestination(topic)); + +// Create integration test with snapshot comparison enabled +new integ.IntegTest(app, 'ScopedPermissionsTest', { + testCases: [stack], + diffAssets: true, +}); + +// Add assertions to verify IAM policies are scoped to specific bucket ARNs +const template = Template.fromStack(stack); + +// Verify that IAM policies do not contain wildcard permissions +template.hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: Match.arrayWith([ + Match.objectLike({ + Effect: 'Allow', + Action: 's3:PutBucketNotification', + Resource: Match.not('*'), // Ensure no wildcard permissions + }), + ]), + }, +}); + +// Verify that the IAM policy contains specific bucket ARNs +template.hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: Match.arrayWith([ + Match.objectLike({ + Effect: 'Allow', + Action: 's3:PutBucketNotification', + Resource: Match.arrayWith([ + Match.objectLike({ + 'Fn::GetAtt': Match.arrayWith([Match.stringLikeRegexp('Bucket[12]'), 'Arn']), + }), + ]), + }), + ]), + }, +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/NotificationTestDefaultTestDeployAssertBFB81666.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/NotificationTestDefaultTestDeployAssertBFB81666.assets.json index 6349e227f8c7b..7615bf620d1fa 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/NotificationTestDefaultTestDeployAssertBFB81666.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/NotificationTestDefaultTestDeployAssertBFB81666.assets.json @@ -1,13 +1,14 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "NotificationTestDefaultTestDeployAssertBFB81666 Template", "source": { "path": "NotificationTestDefaultTestDeployAssertBFB81666.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-d8d86b35": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.assets.json index aa590fb7881ff..f212dcf240e27 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.assets.json @@ -1,15 +1,16 @@ { - "version": "36.0.24", + "version": "48.0.0", "files": { - "d7f902bf16b41c643af775834a4ee14ddfb2b4736822f65f3cdf72576e7d98b2": { + "ac1c767a3e153ce78672e46b151f7199a40c899ff0e836bc01481a7c92c36f44": { + "displayName": "aws-cdk-s3-notifications Template", "source": { "path": "aws-cdk-s3-notifications.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region": { + "current_account-current_region-67c674f2": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "d7f902bf16b41c643af775834a4ee14ddfb2b4736822f65f3cdf72576e7d98b2.json", + "objectKey": "ac1c767a3e153ce78672e46b151f7199a40c899ff0e836bc01481a7c92c36f44.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.template.json index d7fcbdbfa23c6..ffc748d5f9e3e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/aws-cdk-s3-notifications.template.json @@ -113,7 +113,12 @@ { "Action": "s3:PutBucketNotification", "Effect": "Allow", - "Resource": "*" + "Resource": { + "Fn::GetAtt": [ + "MyEventBridgeBucket1ABD5C2A", + "Arn" + ] + } } ], "Version": "2012-10-17" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/cdk.out index 4efaa16f29af9..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.24"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/integ.json index 8ae33b14d0770..b7afcb7f2a3fc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "testCases": { "NotificationTest/DefaultTest": { "stacks": [ @@ -8,5 +8,6 @@ "assertionStack": "NotificationTest/DefaultTest/DeployAssert", "assertionStackName": "NotificationTestDefaultTestDeployAssertBFB81666" } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/manifest.json index 3cd7f9533db09..a750e4ab5894a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.24", + "version": "48.0.0", "artifacts": { "aws-cdk-s3-notifications.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d7f902bf16b41c643af775834a4ee14ddfb2b4736822f65f3cdf72576e7d98b2.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/ac1c767a3e153ce78672e46b151f7199a40c899ff0e836bc01481a7c92c36f44.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,12 +34,30 @@ "aws-cdk-s3-notifications.assets" ], "metadata": { + "/aws-cdk-s3-notifications/MyEventBridgeBucket": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "eventBridgeEnabled": true, + "enforceSSL": true, + "removalPolicy": "destroy" + } + } + ], "/aws-cdk-s3-notifications/MyEventBridgeBucket/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyEventBridgeBucket1ABD5C2A" } ], + "/aws-cdk-s3-notifications/MyEventBridgeBucket/Policy": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "bucket": "*" + } + } + ], "/aws-cdk-s3-notifications/MyEventBridgeBucket/Policy/Resource": [ { "type": "aws:cdk:logicalId", @@ -52,12 +70,93 @@ "data": "MyEventBridgeBucketNotifications19C0453F" } ], + "/aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addManagedPolicy": [ + { + "managedPolicyArn": "*" + } + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + } + ], + "/aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" } ], + "/aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -138,6 +237,485 @@ "properties": { "file": "tree.json" } + }, + "aws-cdk-lib/feature-flag-report": { + "type": "cdk:feature-flag-report", + "properties": { + "module": "aws-cdk-lib", + "flags": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { + "recommendedValue": true, + "explanation": "Pass signingProfileName to CfnSigningProfile" + }, + "@aws-cdk/core:newStyleStackSynthesis": { + "recommendedValue": true, + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:stackRelativeExports": { + "recommendedValue": true, + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { + "recommendedValue": true, + "explanation": "Disable implicit openListener when custom security groups are provided" + }, + "@aws-cdk/aws-rds:lowercaseDbIdentifier": { + "recommendedValue": true, + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { + "recommendedValue": true, + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeVersionProps": { + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-lambda:recognizeLayerVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + }, + "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { + "recommendedValue": true, + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:checkSecretUsage": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this flag to make it impossible to accidentally use SecretValues in unsafe locations" + }, + "@aws-cdk/core:target-partitions": { + "recommendedValue": [ + "aws", + "aws-cn" + ], + "explanation": "What regions to include in lookup tables of environment agnostic stacks" + }, + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": { + "userValue": true, + "recommendedValue": true, + "explanation": "ECS extensions will automatically add an `awslogs` driver if no logging is specified" + }, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to have Launch Templates generated by the `InstanceRequireImdsv2Aspect` use unique names." + }, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": { + "userValue": true, + "recommendedValue": true, + "explanation": "ARN format used by ECS. In the new ARN format, the cluster name is part of the resource ID." + }, + "@aws-cdk/aws-iam:minimizePolicies": { + "userValue": true, + "recommendedValue": true, + "explanation": "Minimize IAM policies by combining Statements" + }, + "@aws-cdk/core:validateSnapshotRemovalPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Error on snapshot removal policies on resources that do not support it." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate key aliases that include the stack name" + }, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature flag to create an S3 bucket policy by default in cases where an AWS service would automatically create the Policy if one does not exist." + }, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict KMS key policy for encrypted Queues a bit more" + }, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make default CloudWatch Role behavior safe for multiple API Gateways in one environment" + }, + "@aws-cdk/core:enablePartitionLiterals": { + "userValue": true, + "recommendedValue": true, + "explanation": "Make ARNs concrete if AWS partition is known" + }, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": { + "userValue": true, + "recommendedValue": true, + "explanation": "Event Rules may only push to encrypted SQS queues in the same account" + }, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": { + "userValue": true, + "recommendedValue": true, + "explanation": "Avoid setting the \"ECS\" deployment controller when adding a circuit breaker" + }, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable this feature to by default create default policy names for imported roles that depend on the stack the role is in." + }, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use S3 Bucket Policy instead of ACLs for Server Access Logging" + }, + "@aws-cdk/aws-route53-patters:useCertificate": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use the official `Certificate` resource instead of `DnsValidatedCertificate`" + }, + "@aws-cdk/customresources:installLatestAwsSdkDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "Whether to install the latest SDK by default in AwsCustomResource" + }, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": { + "userValue": true, + "recommendedValue": true, + "explanation": "Use unique resource name for Database Proxy" + }, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Remove CloudWatch alarms from deployment group" + }, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include authorizer configuration in the calculation of the API deployment logical ID." + }, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": { + "userValue": true, + "recommendedValue": true, + "explanation": "Define user data for a launch template by default when a machine image is provided." + }, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": { + "userValue": true, + "recommendedValue": true, + "explanation": "SecretTargetAttachments uses the ResourcePolicy of the attached Secret." + }, + "@aws-cdk/aws-redshift:columnId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Whether to use an ID to track Redshift column changes" + }, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable AmazonEMRServicePolicy_v2 managed policies" + }, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "Restrict access to the VPC default security group" + }, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a unique id for each RequestValidator added to a method" + }, + "@aws-cdk/aws-kms:aliasNameRef": { + "userValue": true, + "recommendedValue": true, + "explanation": "KMS Alias name and keyArn will have implicit reference to KMS Key" + }, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition" + }, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": { + "userValue": true, + "recommendedValue": true, + "explanation": "Generate a launch template when creating an AutoScalingGroup" + }, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": { + "userValue": true, + "recommendedValue": true, + "explanation": "Include the stack prefix in the stack name generation process" + }, + "@aws-cdk/aws-efs:denyAnonymousAccess": { + "userValue": true, + "recommendedValue": true, + "explanation": "EFS denies anonymous clients accesses" + }, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables support for Multi-AZ with Standby deployment for opensearch domains" + }, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables aws-lambda-nodejs.Function to use the latest available NodeJs runtime as the default" + }, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, mount targets will have a stable logicalId that is linked to the associated subnet." + }, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a scope of InstanceParameterGroup for AuroraClusterInstance with each parameters will change." + }, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, will always use the arn for identifiers for CfnSourceApiAssociation in the GraphqlApi construct rather than id." + }, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials." + }, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the CodeCommit source action is using the default branch name 'main'." + }, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID." + }, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default value for crossAccountKeys to false." + }, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "Enables Pipeline to set the default pipeline type to V2." + }, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, IAM Policy created from KMS key grant will reduce the resource scope to this key only." + }, + "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-eks:nodegroupNameAttribute": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix." + }, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default volume type of the EBS volume will be GP3" + }, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, remove default deployment alarm settings" + }, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, the custom resource used for `AwsCustomResource` will configure the `logApiResponseData` property as true by default" + }, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": { + "userValue": false, + "recommendedValue": false, + "explanation": "When enabled, Adding notifications to a bucket in the current stack will not remove notification from imported stack." + }, + "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { + "recommendedValue": true, + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/core:explicitStackTags": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." + }, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": { + "userValue": false, + "recommendedValue": false, + "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**" + }, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**" + }, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, we will only grant the necessary permissions when users specify cloudwatch log group through logConfiguration" + }, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled will allow you to specify a resource policy per replica, and not copy the source table policy to all replicas" + }, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, initOptions.timeout and resourceSignalTimeout values will be summed together." + }, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, a Lambda authorizer Permission created when using GraphqlApi will be properly scoped with a SourceArn." + }, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`" + }, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CFN templates added with `cfn-include` will error if the template contains Resource Update or Create policies with CFN Intrinsics that include non-primitive values." + }, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, both `@aws-sdk` and `@smithy` packages will be excluded from the Lambda Node.js 18.x runtime to prevent version mismatches in bundled applications." + }, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resource of IAM Run Ecs policy generated by SFN EcsRunTask will reference the definition, instead of constructing ARN." + }, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2." + }, + "@aws-cdk/core:aspectStabilization": { + "recommendedValue": true, + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource." + }, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere" + }, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the default behaviour of OIDC provider will reject unauthorized connections" + }, + "@aws-cdk/core:enableAdditionalMetadataCollection": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues." + }, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": { + "userValue": false, + "recommendedValue": false, + "explanation": "[Deprecated] When enabled, Lambda will create new inline policies with AddToRolePolicy instead of adding to the Default Policy Statement" + }, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK will automatically generate a unique role name that is used for s3 object replication." + }, + "@aws-cdk/pipelines:reduceStageRoleTrustScope": { + "recommendedValue": true, + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-events:requireEventBusPolicySid": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, grantPutEventsTo() will use resource policies with Statement IDs for service principals." + }, + "@aws-cdk/core:aspectPrioritiesMutating": { + "userValue": true, + "recommendedValue": true, + "explanation": "When set to true, Aspects added by the construct library on your behalf will be given a priority of MUTATING." + }, + "@aws-cdk/aws-dynamodb:retainTableReplica": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, table replica will be default to the removal policy of source table unless specified otherwise." + }, + "@aws-cdk/cognito:logUserPoolClientSecretValue": { + "recommendedValue": false, + "explanation": "When disabled, the value of the user pool client secret will not be logged in the custom resource lambda function logs." + }, + "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { + "recommendedValue": true, + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } + }, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the resultWriterV2 property of DistributedMap will be used insted of resultWriter" + }, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": { + "userValue": true, + "recommendedValue": true, + "explanation": "Add an S3 trust policy to a KMS key resource policy for SNS subscriptions." + }, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, the EgressOnlyGateway resource is only created if private subnets are defined in the dual-stack VPC." + }, + "@aws-cdk/aws-ec2-alpha:useResourceIdForVpcV2Migration": { + "recommendedValue": false, + "explanation": "When enabled, use resource IDs for VPC V2 migration" + }, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, setting any combination of options for BlockPublicAccess will automatically set true for any options not defined." + }, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": { + "userValue": true, + "recommendedValue": true, + "explanation": "When enabled, CDK creates and manages loggroup for the lambda function" + } + } + } } - } + }, + "minimumCliVersion": "2.1025.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/tree.json index 01b8d8c23b5a5..9a0194822d16e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket.notifications.js.snapshot/tree.json @@ -1,320 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "aws-cdk-s3-notifications": { - "id": "aws-cdk-s3-notifications", - "path": "aws-cdk-s3-notifications", - "children": { - "MyEventBridgeBucket": { - "id": "MyEventBridgeBucket", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket", - "children": { - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::Bucket", - "aws:cdk:cloudformation:props": {} - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucket", - "version": "0.0.0" - } - }, - "Policy": { - "id": "Policy", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket/Policy", - "children": { - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket/Policy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy", - "aws:cdk:cloudformation:props": { - "bucket": { - "Ref": "MyEventBridgeBucket1ABD5C2A" - }, - "policyDocument": { - "Statement": [ - { - "Action": "s3:*", - "Condition": { - "Bool": { - "aws:SecureTransport": "false" - } - }, - "Effect": "Deny", - "Principal": { - "AWS": "*" - }, - "Resource": [ - { - "Fn::GetAtt": [ - "MyEventBridgeBucket1ABD5C2A", - "Arn" - ] - }, - { - "Fn::Join": [ - "", - [ - { - "Fn::GetAtt": [ - "MyEventBridgeBucket1ABD5C2A", - "Arn" - ] - }, - "/*" - ] - ] - } - ] - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.BucketPolicy", - "version": "0.0.0" - } - }, - "Notifications": { - "id": "Notifications", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket/Notifications", - "children": { - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/MyEventBridgeBucket/Notifications/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_s3.Bucket", - "version": "0.0.0" - } - }, - "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { - "id": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834", - "children": { - "Role": { - "id": "Role", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": "s3:PutBucketNotification", - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36", - "roles": [ - { - "Ref": "BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnResource", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "aws-cdk-s3-notifications/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "aws-cdk-s3-notifications/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "NotificationTest": { - "id": "NotificationTest", - "path": "NotificationTest", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "NotificationTest/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "NotificationTest/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "NotificationTest/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "NotificationTest/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "NotificationTest/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"aws-cdk-s3-notifications":{"id":"aws-cdk-s3-notifications","path":"aws-cdk-s3-notifications","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyEventBridgeBucket":{"id":"MyEventBridgeBucket","path":"aws-cdk-s3-notifications/MyEventBridgeBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"0.0.0","metadata":[{"eventBridgeEnabled":true,"enforceSSL":true,"removalPolicy":"destroy"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/MyEventBridgeBucket/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{}}},"Policy":{"id":"Policy","path":"aws-cdk-s3-notifications/MyEventBridgeBucket/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"0.0.0","metadata":[{"bucket":"*"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/MyEventBridgeBucket/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"MyEventBridgeBucket1ABD5C2A"},"policyDocument":{"Statement":[{"Action":"s3:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":[{"Fn::GetAtt":["MyEventBridgeBucket1ABD5C2A","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["MyEventBridgeBucket1ABD5C2A","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}}}}},"Notifications":{"id":"Notifications","path":"aws-cdk-s3-notifications/MyEventBridgeBucket/Notifications","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/MyEventBridgeBucket/Notifications/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}}}},"BucketNotificationsHandler050a0587b7544547bf325f094a3db834":{"id":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"},"children":{"Role":{"id":"Role","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addManagedPolicy":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportRole":{"id":"ImportRole","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"s3:PutBucketNotification","Effect":"Allow","Resource":{"Fn::GetAtt":["MyEventBridgeBucket1ABD5C2A","Arn"]}}],"Version":"2012-10-17"},"policyName":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36","roles":[{"Ref":"BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC"}]}}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-s3-notifications/BucketNotificationsHandler050a0587b7544547bf325f094a3db834/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"0.0.0"}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"aws-cdk-s3-notifications/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"aws-cdk-s3-notifications/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"NotificationTest":{"id":"NotificationTest","path":"NotificationTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"NotificationTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"NotificationTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"NotificationTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"NotificationTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"NotificationTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource-handler.ts b/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource-handler.ts index f7f565a0d14af..2ac3c9b3af49c 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource-handler.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource-handler.ts @@ -66,10 +66,6 @@ export class NotificationsResourceHandler extends Construct { this.role.addManagedPolicy( iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaBasicExecutionRole'), ); - this.role.addToPrincipalPolicy(new iam.PolicyStatement({ - actions: ['s3:PutBucketNotification'], - resources: ['*'], - })); const resourceType = 'AWS::Lambda::Function'; class InLineLambda extends cdk.CfnResource { diff --git a/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource.ts b/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource.ts index 207e897ae31cc..cb8f9faf3c9c1 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/notifications-resource/notifications-resource.ts @@ -135,12 +135,8 @@ export class BucketNotifications extends Construct { managed = false; } - if (!managed) { - handler.addToRolePolicy(new iam.PolicyStatement({ - actions: ['s3:GetBucketNotification'], - resources: ['*'], - })); - } + // Add permissions for this bucket to the handler + this.addHandlerPermissions(handler, managed); this.resource = new cdk.CfnResource(this, 'Resource', { type: 'Custom::S3BucketNotifications', @@ -170,6 +166,34 @@ export class BucketNotifications extends Construct { return this.resource; } + + /** + * Add scoped permissions for managing bucket notifications to the handler's role. + * + * Grants specific IAM permissions to the bucket ARN instead of using wildcard permissions. + * This implements the principle of least privilege by limiting the handler's access to only + * the buckets it needs to manage. + * + * @param handler The notifications resource handler + * @param managed Whether this is a managed (CDK-created) bucket + */ + private addHandlerPermissions(handler: NotificationsResourceHandler, managed: boolean): void { + // All buckets need PutBucketNotification to set/update notification configurations + handler.addToRolePolicy(new iam.PolicyStatement({ + actions: ['s3:PutBucketNotification'], + resources: [this.bucket.bucketArn], + })); + + // Unmanaged (imported) buckets need GetBucketNotification to read existing configurations + // before merging with new notifications. Managed buckets don't need this since CDK + // controls their complete notification state from creation. + if (!managed) { + handler.addToRolePolicy(new iam.PolicyStatement({ + actions: ['s3:GetBucketNotification'], + resources: [this.bucket.bucketArn], + })); + } + } } function renderFilters(filters: NotificationKeyFilter[], scope: BucketNotifications): Filter | undefined { diff --git a/packages/aws-cdk-lib/aws-s3/test/notification.test.ts b/packages/aws-cdk-lib/aws-s3/test/notification.test.ts index d9fff3b008a63..09cb0efac8ddb 100644 --- a/packages/aws-cdk-lib/aws-s3/test/notification.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/notification.test.ts @@ -92,11 +92,15 @@ describe('notification', () => { Statement: [{ Action: 's3:PutBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':s3:::foo-bar']], + }, }, { Action: 's3:GetBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':s3:::foo-bar']], + }, }], }, }); @@ -196,11 +200,15 @@ describe('notification', () => { Statement: [{ Action: 's3:PutBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':s3:::foo-bar']], + }, }, { Action: 's3:GetBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::Join': ['', ['arn:', { Ref: 'AWS::Partition' }, ':s3:::foo-bar']], + }, }], }, }); @@ -445,12 +453,16 @@ describe('notification', () => { { Action: 's3:PutBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::GetAtt': ['MyBucketF68F3FF0', 'Arn'], + }, }, { Action: 's3:GetBucketNotification', Effect: 'Allow', - Resource: '*', + Resource: { + 'Fn::GetAtt': ['MyBucketF68F3FF0', 'Arn'], + }, }, ], Version: '2012-10-17', @@ -544,4 +556,57 @@ describe('notification', () => { SkipDestinationValidation: false, }); }); + + test('multiple buckets in same stack result in consolidated policy with all bucket ARNs', () => { + // GIVEN + const stack = new cdk.Stack(); + + // WHEN + const bucket1 = new s3.Bucket(stack, 'Bucket1'); + const bucket2 = new s3.Bucket(stack, 'Bucket2'); + const bucket3 = s3.Bucket.fromBucketAttributes(stack, 'ImportedBucket', { + bucketName: 'imported-bucket', + }); + + bucket1.addEventNotification(s3.EventType.OBJECT_CREATED, { + bind: () => ({ + arn: 'ARN1', + type: s3.BucketNotificationDestinationType.TOPIC, + }), + }); + + bucket2.addEventNotification(s3.EventType.OBJECT_REMOVED, { + bind: () => ({ + arn: 'ARN2', + type: s3.BucketNotificationDestinationType.QUEUE, + }), + }); + + bucket3.addEventNotification(s3.EventType.OBJECT_CREATED, { + bind: () => ({ + arn: 'ARN3', + type: s3.BucketNotificationDestinationType.LAMBDA, + }), + }); + + // THEN - Should have single policy with all bucket ARNs + const template = Template.fromStack(stack); + + // Verify we have exactly one IAM policy for the notifications handler + const allPolicies = template.findResources('AWS::IAM::Policy'); + expect(Object.keys(allPolicies)).toHaveLength(1); + + // Verify the policy contains scoped permissions (not wildcards) + template.hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: Match.arrayWith([ + { + Action: 's3:PutBucketNotification', + Effect: 'Allow', + Resource: Match.not('*'), // Should NOT be wildcard + }, + ]), + }, + }); + }); });