/** * Options interface used in the sdk.generated {@link SDK} interfaces. */ export interface SdkCallOptions { /** * Information needed to construct/customize the iam policy generated for the SDK call */ iam: { /** * The resources for the IAM statement that will be added to the state machine * role's policy to allow the state machine to make the API call. * * Use `["*"]` to grant access to all resources (discouraged). * * @example ["arn:aws:s3:::my_bucket"] * @see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html */ resources: [string, ...string[]]; /** * The action for the IAM statement that will be added to the state machine role's * policy to allow the state machine to make the API call. * * By default the action is inferred from the API call (e.g. `$AWS.SDK.CloudWatch.describeAlarms({})` results in `cloudwatch:DescribeAlarms`) * * Use in the case where the IAM action name does not match with the API service/action name * e.g. `s3:ListBuckets` requires `s3:ListAllMyBuckets`. * * To see which action to use with which service/method see the {@link https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html | IAM Service Authorization Reference} * * @default service:method * @example s3:ListAllMyBuckets */ actions?: string[]; /** * The iam conditions to apply to the IAM Statement that will be added to the state machine role's * policy to allow the state machine to make the API call. * * By default no conditions are applied. * * For more information check out the {@link https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html | IAM User Guide} * * @example * ``` * { * "StringEquals" : { "aws:username" : "johndoe" } * } * ``` */ conditions?: Record; }; /** * The service name to use in the ASL (Amazon States Language) definition of the SDK integration. * ```json * { * "Type": "Task", * "Resource": "arn:aws:states:::aws-sdk:${sdkIntegrationServiceName}:${methodName}" * } * ``` * * By default the service name is lowercased (e.g. `$AWS.SDK.CloudWatch.describeAlarms` => `"arn:aws:states:::aws-sdk:cloudwatch:describeAlarms"`). * Some known special cases are also handled in {@link SDK_INTEGRATION_SERVICE_NAME}. * * To see which service name to use see the {@link https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html#supported-services-awssdk-list | StepFunctions Developer Guide} */ aslServiceName?: string; } //# sourceMappingURL=types.d.ts.map