import * as core from "@terrascript/core"; export interface VirtualMfaDeviceArgs extends core.ResourceArgs { path?: string | core.StringOut; /** * (Optional) Map of resource tags for the virtual mfa device. If configured with a provider [`default_ * tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default * _tags-configuration-block) present, tags with matching keys will overwrite those defined at the prov * ider-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; /** * (Required) The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA devi * ce. */ virtualMfaDeviceName: string | core.StringOut; } export class VirtualMfaDevice extends core.Resource { /** * The Amazon Resource Name (ARN) specifying the virtual mfa device. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The base32 seed defined as specified in [RFC3548](https://tools.ietf.org/html/rfc3548.txt). The `bas * e_32_string_seed` is base64-encoded. */ @core.attr(String, { computed: true }) public base32StringSeed!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String) public path?: string | core.StringOut; /** * A QR code PNG image that encodes `otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32S * tring` where `$virtualMFADeviceName` is one of the create call arguments. AccountName is the user na * me if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. */ @core.attr(String, { computed: true }) public qrCodePng!: string | core.StringOut; /** * (Optional) Map of resource tags for the virtual mfa device. If configured with a provider [`default_ * tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default * _tags-configuration-block) present, tags with matching keys will overwrite those defined at the prov * ider-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; /** * (Required) The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA devi * ce. */ @core.attr(String) public virtualMfaDeviceName!: string | core.StringOut; constructor(name: string, args?: VirtualMfaDeviceArgs) { super(name, "aws_iam_virtual_mfa_device", args); } public override getNamespace(): string { return "aws_iam"; } }