AwsIamPolicyArgs

interface AwsIamPolicyArgs extends Omit<aws.iam.PolicyArgs, 'policy' | 'name' | 'namePrefix'> { delayAfterPolicyCreationInMs?: Input<number | undefined>; description?: Input<string | undefined>; name: string; path?: Input<string | undefined>; policy: AwsIamPolicyDocumentTemplate; tags?: Input<{ [key: string]: Input<string> } | undefined>; }

Input arguments for AwsIamPolicy.

Remarks

This type maps directly to aws.iam.PolicyArgs with one change:

  • policy accepts a JSON template file with {{ variable }} substitution.

Example

CODE
const args: AwsIamPolicyArgs = {
  name: 's3ReadOnly',
  description: 'Read only S3 access',
  policy: {
    path: './policies/s3-read-only.json',
  },
};

Hierarchy

  • PolicyArgs, "policy" | "name" | "namePrefix">
  • AwsIamPolicyArgs

Properties

delayAfterPolicyCreationInMs: Input<number | undefined>

Inherited from delayAfterPolicyCreationInMs

Number of ms to wait between creating the policy and setting its version as default. May be required in environments with very high S3 IO loads.

description: Input<string | undefined>

Inherited from description

Description of the IAM policy.

name: string

Required policy purpose name used in the AWS naming pattern.

path: Input<string | undefined>

Inherited from path

Path in which to create the policy. See IAM Identifiers for more information.

policy: AwsIamPolicyDocumentTemplate

JSON file/template input for the IAM policy document.

Remarks

The file must contain valid JSON after applying optional {{ variable }} substitutions.

tags: Input<{ [key: string]: Input<string> } | undefined>

Inherited from tags

Map of resource tags for the IAM Policy. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.