{
  "name": "alks",
  "version": "2.8.2",
  "description": "A Pulumi provider dynamically bridged from alks.",
  "attribution": "This Pulumi package is based on the [`alks` Terraform Provider](https://github.com/cox-automotive/terraform-provider-alks).",
  "repository": "https://github.com/cox-automotive/terraform-provider-alks",
  "publisher": "cox-automotive",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "compatibility": "tfbridge20",
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true
    },
    "go": {
      "importBasePath": "github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks",
      "rootPackageName": "alks",
      "liftSingleValueMethodReturns": true,
      "generateExtraInputTypes": true,
      "respectSchemaVersion": true
    },
    "java": {
      "basePackage": "",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "packageDescription": "A Pulumi provider dynamically bridged from alks.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/cox-automotive/terraform-provider-alks)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-alks` repo](https://github.com/cox-automotive/terraform-provider-alks/issues).",
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true,
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true
    },
    "python": {
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/cox-automotive/terraform-provider-alks)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-alks` repo](https://github.com/cox-automotive/terraform-provider-alks/issues).",
      "compatibility": "tfbridge20",
      "respectSchemaVersion": true,
      "pyproject": {
        "enabled": true
      }
    }
  },
  "config": {
    "variables": {
      "accessKey": {
        "type": "string",
        "description": "This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or\nAWS_ACCESS_KEY_ID environment variable.\n"
      },
      "account": {
        "type": "string",
        "description": "The account which you'd like to retrieve credentials for.\n"
      },
      "assumeRole": {
        "$ref": "#/types/alks:config%2FassumeRole:assumeRole"
      },
      "defaultTags": {
        "$ref": "#/types/alks:config%2FdefaultTags:defaultTags",
        "description": "Configuration block with settings to default resource tags across all resources.\n"
      },
      "ignoreTags": {
        "$ref": "#/types/alks:config%2FignoreTags:ignoreTags",
        "description": "Configuration block with settings to ignore resource tags across all resources.\n"
      },
      "profile": {
        "type": "string",
        "description": "The profile for API operations. Used in place of STS tokens.\n"
      },
      "role": {
        "type": "string",
        "description": "The role which you'd like to retrieve credentials for.\n"
      },
      "secretKey": {
        "type": "string",
        "description": "This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or\nAWS_SECRET_ACCESS_KEY environment variable\n"
      },
      "sharedCredentialsFile": {
        "type": "string",
        "description": "The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.\n"
      },
      "token": {
        "type": "string",
        "description": "This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or\nAWS_SESSION_TOKEN environment variable\n"
      },
      "url": {
        "type": "string",
        "description": "This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment\nvariable.\n"
      }
    },
    "defaults": [
      "url"
    ]
  },
  "types": {
    "alks:config/assumeRole:assumeRole": {
      "properties": {
        "externalId": {
          "type": "string",
          "description": "(Optional) The external ID to use when making the AssumeRole call. See AWS SDK for more details.\n"
        },
        "policy": {
          "type": "string",
          "description": "(Optional) Additional policy restrictions to apply to the result STS session.  See AWS SDK for more details.\n"
        },
        "roleArn": {
          "type": "string",
          "description": "(Required) Role ARN to assume before calling ALKS\n"
        },
        "sessionName": {
          "type": "string",
          "description": "(Optional) Session name to use when making the AssumeRole call.  See AWS SDK for more details.\n"
        }
      },
      "type": "object"
    },
    "alks:config/defaultTags:defaultTags": {
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags to default across all resources\n"
        }
      },
      "type": "object"
    },
    "alks:config/ignoreTags:ignoreTags": {
      "properties": {
        "keyPrefixes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Resource tag key prefixes to ignore across all resources.\n"
        },
        "keys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Resource tag keys to ignore across all resources.\n"
        }
      },
      "type": "object"
    },
    "alks:index/ProviderAssumeRole:ProviderAssumeRole": {
      "properties": {
        "externalId": {
          "type": "string",
          "description": "(Optional) The external ID to use when making the AssumeRole call. See AWS SDK for more details.\n"
        },
        "policy": {
          "type": "string",
          "description": "(Optional) Additional policy restrictions to apply to the result STS session.  See AWS SDK for more details.\n"
        },
        "roleArn": {
          "type": "string",
          "description": "(Required) Role ARN to assume before calling ALKS\n"
        },
        "sessionName": {
          "type": "string",
          "description": "(Optional) Session name to use when making the AssumeRole call.  See AWS SDK for more details.\n"
        }
      },
      "type": "object"
    },
    "alks:index/ProviderDefaultTags:ProviderDefaultTags": {
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags to default across all resources\n"
        }
      },
      "type": "object"
    },
    "alks:index/ProviderIgnoreTags:ProviderIgnoreTags": {
      "properties": {
        "keyPrefixes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Resource tag key prefixes to ignore across all resources.\n"
        },
        "keys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Resource tag keys to ignore across all resources.\n"
        }
      },
      "type": "object"
    }
  },
  "provider": {
    "description": "The provider type for the alks package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "accessKey": {
        "type": "string",
        "description": "This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or\nAWS_ACCESS_KEY_ID environment variable.\n"
      },
      "account": {
        "type": "string",
        "description": "The account which you'd like to retrieve credentials for.\n"
      },
      "profile": {
        "type": "string",
        "description": "The profile for API operations. Used in place of STS tokens.\n"
      },
      "role": {
        "type": "string",
        "description": "The role which you'd like to retrieve credentials for.\n"
      },
      "secretKey": {
        "type": "string",
        "description": "This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or\nAWS_SECRET_ACCESS_KEY environment variable\n"
      },
      "sharedCredentialsFile": {
        "type": "string",
        "description": "The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.\n"
      },
      "token": {
        "type": "string",
        "description": "This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or\nAWS_SESSION_TOKEN environment variable\n"
      },
      "url": {
        "type": "string",
        "description": "This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment\nvariable.\n"
      }
    },
    "type": "object",
    "required": [
      "url"
    ],
    "inputProperties": {
      "accessKey": {
        "type": "string",
        "description": "This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or\nAWS_ACCESS_KEY_ID environment variable.\n"
      },
      "account": {
        "type": "string",
        "description": "The account which you'd like to retrieve credentials for.\n"
      },
      "assumeRole": {
        "$ref": "#/types/alks:index%2FProviderAssumeRole:ProviderAssumeRole"
      },
      "defaultTags": {
        "$ref": "#/types/alks:index%2FProviderDefaultTags:ProviderDefaultTags",
        "description": "Configuration block with settings to default resource tags across all resources.\n"
      },
      "ignoreTags": {
        "$ref": "#/types/alks:index%2FProviderIgnoreTags:ProviderIgnoreTags",
        "description": "Configuration block with settings to ignore resource tags across all resources.\n"
      },
      "profile": {
        "type": "string",
        "description": "The profile for API operations. Used in place of STS tokens.\n"
      },
      "role": {
        "type": "string",
        "description": "The role which you'd like to retrieve credentials for.\n"
      },
      "secretKey": {
        "type": "string",
        "description": "This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or\nAWS_SECRET_ACCESS_KEY environment variable\n"
      },
      "sharedCredentialsFile": {
        "type": "string",
        "description": "The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.\n"
      },
      "token": {
        "type": "string",
        "description": "This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or\nAWS_SESSION_TOKEN environment variable\n"
      },
      "url": {
        "type": "string",
        "description": "This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment\nvariable.\n"
      }
    },
    "requiredInputs": [
      "url"
    ]
  },
  "resources": {
    "alks:index/iamrole:Iamrole": {
      "description": "\n\n## Import\n\n!> **Warning:** This will force-replace the resource if using role type method.\n\nALKS IAM roles can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import alks:index/iamrole:Iamrole test_role My_Test_Role\n```\n\n",
      "properties": {
        "arn": {
          "type": "string",
          "description": "Provides the ARN of the role that was created.\n"
        },
        "assumeRolePolicy": {
          "type": "string"
        },
        "enableAlksAccess": {
          "type": "boolean",
          "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
        },
        "iamroleId": {
          "type": "string"
        },
        "includeDefaultPolicies": {
          "type": "boolean",
          "description": "Whether or not the default manages policies should be attached to the role.\n"
        },
        "ipArn": {
          "type": "string",
          "description": "If `role_added_to_ip` was `true` this will provide the ARN of the instance profile role.\n"
        },
        "maxSessionDurationInSeconds": {
          "type": "number",
          "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
        },
        "roleAddedToIp": {
          "type": "boolean",
          "description": "Indicates whether or not an instance profile role was created.\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto role.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "templateFields": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will submit template field data to ALKS.  Note: This will generate an error if the role type does not support template fields.\n"
        },
        "type": {
          "type": "string",
          "description": "The role type to use. To see a list of available roles, [call this endpoint](https://pages.ghe.coxautoinc.com/ETS-CloudAutomation/ALKS-Documentation/#/aws-role-type-rest-service/getAllAwsRoleTypesUsingGET).\n"
        }
      },
      "type": "object",
      "required": [
        "arn",
        "iamroleId",
        "ipArn",
        "name",
        "namePrefix",
        "roleAddedToIp",
        "tagsAll"
      ],
      "inputProperties": {
        "assumeRolePolicy": {
          "type": "string"
        },
        "enableAlksAccess": {
          "type": "boolean",
          "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
        },
        "iamroleId": {
          "type": "string"
        },
        "includeDefaultPolicies": {
          "type": "boolean",
          "description": "Whether or not the default manages policies should be attached to the role.\n"
        },
        "maxSessionDurationInSeconds": {
          "type": "number",
          "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto role.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "templateFields": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will submit template field data to ALKS.  Note: This will generate an error if the role type does not support template fields.\n"
        },
        "type": {
          "type": "string",
          "description": "The role type to use. To see a list of available roles, [call this endpoint](https://pages.ghe.coxautoinc.com/ETS-CloudAutomation/ALKS-Documentation/#/aws-role-type-rest-service/getAllAwsRoleTypesUsingGET).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Iamrole resources.\n",
        "properties": {
          "arn": {
            "type": "string",
            "description": "Provides the ARN of the role that was created.\n"
          },
          "assumeRolePolicy": {
            "type": "string"
          },
          "enableAlksAccess": {
            "type": "boolean",
            "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
          },
          "iamroleId": {
            "type": "string"
          },
          "includeDefaultPolicies": {
            "type": "boolean",
            "description": "Whether or not the default manages policies should be attached to the role.\n"
          },
          "ipArn": {
            "type": "string",
            "description": "If `role_added_to_ip` was `true` this will provide the ARN of the instance profile role.\n"
          },
          "maxSessionDurationInSeconds": {
            "type": "number",
            "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
          },
          "namePrefix": {
            "type": "string",
            "description": "A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n"
          },
          "roleAddedToIp": {
            "type": "boolean",
            "description": "Indicates whether or not an instance profile role was created.\n"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "If present, will add specified tags onto role.\n"
          },
          "tagsAll": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "templateFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "If present, will submit template field data to ALKS.  Note: This will generate an error if the role type does not support template fields.\n"
          },
          "type": {
            "type": "string",
            "description": "The role type to use. To see a list of available roles, [call this endpoint](https://pages.ghe.coxautoinc.com/ETS-CloudAutomation/ALKS-Documentation/#/aws-role-type-rest-service/getAllAwsRoleTypesUsingGET).\n"
          }
        },
        "type": "object"
      }
    },
    "alks:index/iamtrustrole:Iamtrustrole": {
      "description": "## # Resource: alks.Iamtrustrole\n\nCreates an IAM trust role on AWS.\n\n## Example Usage\n\n### ALKS IAM Role Creation\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alks from \"@pulumi/alks\";\n\nconst testTrustRole = new alks.Iamtrustrole(\"testTrustRole\", {\n    enableAlksAccess: false,\n    trustArn: \"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n    type: \"Cross Account\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_trust_role = alks.Iamtrustrole(\"testTrustRole\",\n    enable_alks_access=False,\n    trust_arn=\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n    type=\"Cross Account\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Alks = Pulumi.Alks;\n\nreturn await Deployment.RunAsync(() => \n{\n    var testTrustRole = new Alks.Iamtrustrole(\"testTrustRole\", new()\n    {\n        EnableAlksAccess = false,\n        TrustArn = \"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n        Type = \"Cross Account\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alks.NewIamtrustrole(ctx, \"testTrustRole\", &alks.IamtrustroleArgs{\n\t\t\tEnableAlksAccess: pulumi.Bool(false),\n\t\t\tTrustArn:         pulumi.String(\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\"),\n\t\t\tType:             pulumi.String(\"Cross Account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alks.Iamtrustrole;\nimport com.pulumi.alks.IamtrustroleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testTrustRole = new Iamtrustrole(\"testTrustRole\", IamtrustroleArgs.builder()\n            .enableAlksAccess(false)\n            .trustArn(\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\")\n            .type(\"Cross Account\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testTrustRole:\n    type: alks:Iamtrustrole\n    properties:\n      enableAlksAccess: false\n      # type                   = \"Inner Account\"\n      trustArn: arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\n      type: Cross Account\n```\n<!--End PulumiCodeChooser -->\n\n### ALKS IAM Role Creation With Tags\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alks from \"@pulumi/alks\";\n\nconst testRole = new alks.Iamrole(\"testRole\", {\n    enableAlksAccess: false,\n    includeDefaultPolicies: false,\n    tags: {\n        tagKey: \"tagValue\",\n    },\n    type: \"Amazon EC2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_role = alks.Iamrole(\"testRole\",\n    enable_alks_access=False,\n    include_default_policies=False,\n    tags={\n        \"tagKey\": \"tagValue\",\n    },\n    type=\"Amazon EC2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Alks = Pulumi.Alks;\n\nreturn await Deployment.RunAsync(() => \n{\n    var testRole = new Alks.Iamrole(\"testRole\", new()\n    {\n        EnableAlksAccess = false,\n        IncludeDefaultPolicies = false,\n        Tags = \n        {\n            { \"tagKey\", \"tagValue\" },\n        },\n        Type = \"Amazon EC2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alks.NewIamrole(ctx, \"testRole\", &alks.IamroleArgs{\n\t\t\tEnableAlksAccess:       pulumi.Bool(false),\n\t\t\tIncludeDefaultPolicies: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tagKey\": pulumi.String(\"tagValue\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"Amazon EC2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alks.Iamrole;\nimport com.pulumi.alks.IamroleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testRole = new Iamrole(\"testRole\", IamroleArgs.builder()\n            .enableAlksAccess(false)\n            .includeDefaultPolicies(false)\n            .tags(Map.of(\"tagKey\", \"tagValue\"))\n            .type(\"Amazon EC2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testRole:\n    type: alks:Iamrole\n    properties:\n      enableAlksAccess: false\n      includeDefaultPolicies: false\n      tags:\n        tagKey: tagValue\n      type: Amazon EC2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n!> __Warning:__ This will force-replace the resource.\n\nALKS IAM trust roles can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import alks:index/iamtrustrole:Iamtrustrole test_trust_role My_Cross_Test_Role\n```\n",
      "properties": {
        "arn": {
          "type": "string",
          "description": "Provides the ARN of the role that was created.\n"
        },
        "enableAlksAccess": {
          "type": "boolean",
          "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
        },
        "iamtrustroleId": {
          "type": "string"
        },
        "ipArn": {
          "type": "string",
          "description": "If `role_added_to_ip` was `true` this will provide the ARN of the instance profile role.\n"
        },
        "maxSessionDurationInSeconds": {
          "type": "number",
          "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "A prefix for a generated name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
        },
        "roleAddedToIp": {
          "type": "boolean",
          "description": "Indicates whether or not an instance profile role was created.\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto role.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "trustArn": {
          "type": "string",
          "description": "Account role ARN to trust.\n* _Note: This only allows **ONE** account role ARN. This is an intended security control by CAI._\n"
        },
        "type": {
          "type": "string",
          "description": "The role type to use `Cross Account` or `Inner Account`.\n"
        }
      },
      "type": "object",
      "required": [
        "arn",
        "iamtrustroleId",
        "ipArn",
        "name",
        "namePrefix",
        "roleAddedToIp",
        "tagsAll",
        "trustArn",
        "type"
      ],
      "inputProperties": {
        "enableAlksAccess": {
          "type": "boolean",
          "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
        },
        "iamtrustroleId": {
          "type": "string"
        },
        "maxSessionDurationInSeconds": {
          "type": "number",
          "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "A prefix for a generated name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto role.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "trustArn": {
          "type": "string",
          "description": "Account role ARN to trust.\n* _Note: This only allows **ONE** account role ARN. This is an intended security control by CAI._\n"
        },
        "type": {
          "type": "string",
          "description": "The role type to use `Cross Account` or `Inner Account`.\n"
        }
      },
      "requiredInputs": [
        "trustArn",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Iamtrustrole resources.\n",
        "properties": {
          "arn": {
            "type": "string",
            "description": "Provides the ARN of the role that was created.\n"
          },
          "enableAlksAccess": {
            "type": "boolean",
            "description": "If `true`, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n"
          },
          "iamtrustroleId": {
            "type": "string"
          },
          "ipArn": {
            "type": "string",
            "description": "If `role_added_to_ip` was `true` this will provide the ARN of the instance profile role.\n"
          },
          "maxSessionDurationInSeconds": {
            "type": "number",
            "description": "If present, will set maximum duration for role. Change forces re-creation of resource.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
          },
          "namePrefix": {
            "type": "string",
            "description": "A prefix for a generated name of the IAM role to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case.\n"
          },
          "roleAddedToIp": {
            "type": "boolean",
            "description": "Indicates whether or not an instance profile role was created.\n"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "If present, will add specified tags onto role.\n"
          },
          "tagsAll": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "trustArn": {
            "type": "string",
            "description": "Account role ARN to trust.\n* _Note: This only allows **ONE** account role ARN. This is an intended security control by CAI._\n"
          },
          "type": {
            "type": "string",
            "description": "The role type to use `Cross Account` or `Inner Account`.\n"
          }
        },
        "type": "object"
      }
    },
    "alks:index/ltk:Ltk": {
      "description": "## # Resource: alks.Ltk\n\nCreates an iam user with a long term key.\n\n## Example Usage\n\n### ALKS IAM User Creation\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alks from \"@pulumi/alks\";\n\nconst testLtkUser = new alks.Ltk(\"testLtkUser\", {iamUsername: \"My_LTK_User_Name\"});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_ltk_user = alks.Ltk(\"testLtkUser\", iam_username=\"My_LTK_User_Name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Alks = Pulumi.Alks;\n\nreturn await Deployment.RunAsync(() => \n{\n    var testLtkUser = new Alks.Ltk(\"testLtkUser\", new()\n    {\n        IamUsername = \"My_LTK_User_Name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alks.NewLtk(ctx, \"testLtkUser\", &alks.LtkArgs{\n\t\t\tIamUsername: pulumi.String(\"My_LTK_User_Name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alks.Ltk;\nimport com.pulumi.alks.LtkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testLtkUser = new Ltk(\"testLtkUser\", LtkArgs.builder()\n            .iamUsername(\"My_LTK_User_Name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testLtkUser:\n    type: alks:Ltk\n    properties:\n      iamUsername: My_LTK_User_Name\n```\n<!--End PulumiCodeChooser -->\n\n### ALKS IAM User Creation With Tags\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alks from \"@pulumi/alks\";\n\nconst testLtkUser = new alks.Ltk(\"testLtkUser\", {\n    iamUsername: \"My_LTK_User_Name\",\n    tags: {\n        tagKey: \"tagValue\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_ltk_user = alks.Ltk(\"testLtkUser\",\n    iam_username=\"My_LTK_User_Name\",\n    tags={\n        \"tagKey\": \"tagValue\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Alks = Pulumi.Alks;\n\nreturn await Deployment.RunAsync(() => \n{\n    var testLtkUser = new Alks.Ltk(\"testLtkUser\", new()\n    {\n        IamUsername = \"My_LTK_User_Name\",\n        Tags = \n        {\n            { \"tagKey\", \"tagValue\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alks.NewLtk(ctx, \"testLtkUser\", &alks.LtkArgs{\n\t\t\tIamUsername: pulumi.String(\"My_LTK_User_Name\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tagKey\": pulumi.String(\"tagValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alks.Ltk;\nimport com.pulumi.alks.LtkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testLtkUser = new Ltk(\"testLtkUser\", LtkArgs.builder()\n            .iamUsername(\"My_LTK_User_Name\")\n            .tags(Map.of(\"tagKey\", \"tagValue\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testLtkUser:\n    type: alks:Ltk\n    properties:\n      iamUsername: My_LTK_User_Name\n      tags:\n        tagKey: tagValue\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAWS IAM users can be imported using their user name, eg:\n\n```sh\n$ pulumi import alks:index/ltk:Ltk my_ltk_resource MY_EXISTING_LTK_USER\n```\n",
      "properties": {
        "accessKey": {
          "type": "string",
          "description": "Generated access key for the LTK user. Note: This is saved in the state file, so please be aware of this.\n",
          "secret": true
        },
        "iamUserArn": {
          "type": "string",
          "description": "The ARN associated with the LTK user.\n"
        },
        "iamUsername": {
          "type": "string",
          "description": "The name of the IAM user to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. User names are not distinguished by case.\n"
        },
        "ltkId": {
          "type": "string"
        },
        "secretKey": {
          "type": "string",
          "description": "Generated secret key for the LTK user. Note: This is saved in the state file, so please be aware of this.\n",
          "secret": true
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto iam user.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "required": [
        "accessKey",
        "iamUserArn",
        "iamUsername",
        "ltkId",
        "secretKey",
        "tagsAll"
      ],
      "inputProperties": {
        "iamUsername": {
          "type": "string",
          "description": "The name of the IAM user to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. User names are not distinguished by case.\n"
        },
        "ltkId": {
          "type": "string"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "If present, will add specified tags onto iam user.\n"
        },
        "tagsAll": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "requiredInputs": [
        "iamUsername"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ltk resources.\n",
        "properties": {
          "accessKey": {
            "type": "string",
            "description": "Generated access key for the LTK user. Note: This is saved in the state file, so please be aware of this.\n",
            "secret": true
          },
          "iamUserArn": {
            "type": "string",
            "description": "The ARN associated with the LTK user.\n"
          },
          "iamUsername": {
            "type": "string",
            "description": "The name of the IAM user to create. This parameter allows a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. User names are not distinguished by case.\n"
          },
          "ltkId": {
            "type": "string"
          },
          "secretKey": {
            "type": "string",
            "description": "Generated secret key for the LTK user. Note: This is saved in the state file, so please be aware of this.\n",
            "secret": true
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "If present, will add specified tags onto iam user.\n"
          },
          "tagsAll": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "alks:index/getKeys:getKeys": {
      "description": "## # Data Source: alks.getKeys\n\nReturns credentials for a given AWS account using ALKS.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getKeys.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getKeys.\n",
        "properties": {
          "accessKey": {
            "description": "Generated access key for the specified provider. If multiple providers, it takes the `provider` field. Otherwise, uses the initial provider.\n",
            "type": "string"
          },
          "account": {
            "description": "The account number of the returned keys.\n",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "role": {
            "description": "The role from the returned keys.\n",
            "type": "string"
          },
          "secretKey": {
            "description": "Generated secret key for the specified provider. If multiple providers, it takes the `provider` field. Otherwise, uses the initial provider.\n",
            "type": "string"
          },
          "sessionToken": {
            "description": "Generated session token for the specified provider. If multiple providers, it takes the `provider` field. Otherwise, uses the initial provider.\n",
            "type": "string"
          }
        },
        "required": [
          "accessKey",
          "account",
          "id",
          "role",
          "secretKey",
          "sessionToken"
        ],
        "type": "object"
      }
    }
  },
  "parameterization": {
    "baseProvider": {
      "name": "terraform-provider",
      "version": "0.10.0"
    },
    "parameter": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2NveC1hdXRvbW90aXZlL2Fsa3MiLCJ2ZXJzaW9uIjoiMi44LjIifX0="
  }
}
