import * as core from "@terrascript/core"; export interface InstanceProfileArgs extends core.ResourceArgs { /** * (Optional, Forces new resource) Name of the instance profile. If omitted, Terraform will assign a ra * ndom, unique name. Conflicts with `name_prefix`. Can be a string of characters consisting of upper a * nd lowercase alphanumeric characters and these special characters: `_`, `+`, `=`, `,`, `.`, `@`, `-` * . Spaces are not allowed. */ name?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique name beginning with the specified prefix. Conflicts * with `name`. */ namePrefix?: string | core.StringOut; /** * (Optional, default "/") Path to the instance profile. For more information about paths, see [IAM Ide * ntifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User G * uide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string * that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) t * hrough the DEL character (\u007F), including most punctuation characters, digits, and upper and lowe * rcase letters. */ path?: string | core.StringOut; /** * (Optional) Name of the role to add to the profile. */ role?: string | core.StringOut; /** * (Optional) Map of resource tags for the IAM Instance Profile. If configured with a provider [`defaul * t_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#defau * lt_tags-configuration-block) present, tags with matching keys will overwrite those defined at the pr * ovider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class InstanceProfile extends core.Resource { /** * ARN assigned by AWS to the instance profile. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Creation timestamp of the instance profile. */ @core.attr(String, { computed: true }) public createDate!: string | core.StringOut; /** * Instance profile's ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional, Forces new resource) Name of the instance profile. If omitted, Terraform will assign a ra * ndom, unique name. Conflicts with `name_prefix`. Can be a string of characters consisting of upper a * nd lowercase alphanumeric characters and these special characters: `_`, `+`, `=`, `,`, `.`, `@`, `-` * . Spaces are not allowed. */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique name beginning with the specified prefix. Conflicts * with `name`. */ @core.attr(String) public namePrefix?: string | core.StringOut; /** * (Optional, default "/") Path to the instance profile. For more information about paths, see [IAM Ide * ntifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User G * uide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string * that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) t * hrough the DEL character (\u007F), including most punctuation characters, digits, and upper and lowe * rcase letters. */ @core.attr(String) public path?: string | core.StringOut; /** * (Optional) Name of the role to add to the profile. */ @core.attr(String) public role?: string | core.StringOut; /** * (Optional) Map of resource tags for the IAM Instance Profile. If configured with a provider [`defaul * t_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#defau * lt_tags-configuration-block) present, tags with matching keys will overwrite those defined at the pr * ovider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * [Unique ID][1] assigned by AWS. */ @core.attr(String, { computed: true }) public uniqueId!: string | core.StringOut; constructor(name: string, args?: InstanceProfileArgs) { super(name, "aws_iam_instance_profile", args); } public override getNamespace(): string { return "aws_iam"; } }