{"attribution":"This Pulumi package is based on the [`alks` Terraform Provider](https://github.com/cox-automotive/terraform-provider-alks).","config":{"defaults":["url"],"variables":{"accessKey":{"description":"This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or AWS_ACCESS_KEY_ID environment variable.","type":"string"},"account":{"description":"The account which you'd like to retrieve credentials for.","type":"string"},"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."},"ignoreTags":{"$ref":"#/types/alks:config%2FignoreTags:ignoreTags","description":"Configuration block with settings to ignore resource tags across all resources."},"profile":{"description":"The profile for API operations. Used in place of STS tokens.","type":"string"},"role":{"description":"The role which you'd like to retrieve credentials for.","type":"string"},"secretKey":{"description":"This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or AWS_SECRET_ACCESS_KEY environment variable","type":"string"},"sharedCredentialsFile":{"description":"The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.","type":"string"},"token":{"description":"This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or AWS_SESSION_TOKEN environment variable","type":"string"},"url":{"description":"This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment variable.","type":"string"}}},"description":"A Pulumi provider dynamically bridged from alks.","functions":{"alks:index/getKeys:getKeys":{"description":"## # Data Source:<span pulumi-lang-nodejs=\" alks.getKeys\n\" pulumi-lang-dotnet=\" alks.getKeys\n\" pulumi-lang-go=\" getKeys\n\" pulumi-lang-python=\" get_keys\n\" pulumi-lang-yaml=\" alks.getKeys\n\" pulumi-lang-java=\" alks.getKeys\n\"> alks.getKeys\n</span>\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 <span pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\">`provider`</span> 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 <span pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\">`provider`</span> field. Otherwise, uses the initial provider.\n","type":"string"},"sessionToken":{"description":"Generated session token for the specified provider. If multiple providers, it takes the <span pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\">`provider`</span> field. Otherwise, uses the initial provider.\n","type":"string"}},"required":["accessKey","account","id","role","secretKey","sessionToken"],"type":"object"}},"pulumi:providers:alks/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:alks"}},"required":["__self__"],"type":"object"},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/alks/v2/alks","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"alks"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"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).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"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).","respectSchemaVersion":true}},"meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"name":"alks","parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2NveC1hdXRvbW90aXZlL2Fsa3MiLCJ2ZXJzaW9uIjoiMi44LjQifX0="},"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","inputProperties":{"accessKey":{"description":"This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or AWS_ACCESS_KEY_ID environment variable.","type":"string"},"account":{"description":"The account which you'd like to retrieve credentials for.","type":"string"},"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."},"ignoreTags":{"$ref":"#/types/alks:index%2FProviderIgnoreTags:ProviderIgnoreTags","description":"Configuration block with settings to ignore resource tags across all resources."},"profile":{"description":"The profile for API operations. Used in place of STS tokens.","type":"string"},"role":{"description":"The role which you'd like to retrieve credentials for.","type":"string"},"secretKey":{"description":"This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or AWS_SECRET_ACCESS_KEY environment variable","type":"string"},"sharedCredentialsFile":{"description":"The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.","type":"string"},"token":{"description":"This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or AWS_SESSION_TOKEN environment variable","type":"string"},"url":{"description":"This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment variable.","type":"string"}},"methods":{"terraformConfig":"pulumi:providers:alks/terraformConfig"},"properties":{"accessKey":{"description":"This is the AWS access key. It must be provided, but it can also be sourced from the ALKS_ACCESS_KEY_ID or AWS_ACCESS_KEY_ID environment variable.","type":"string"},"account":{"description":"The account which you'd like to retrieve credentials for.","type":"string"},"profile":{"description":"The profile for API operations. Used in place of STS tokens.","type":"string"},"role":{"description":"The role which you'd like to retrieve credentials for.","type":"string"},"secretKey":{"description":"This is the AWS secret key. It must be provided, but it can also be sourced from the ALKS_SECRET_ACCESS_KEY or AWS_SECRET_ACCESS_KEY environment variable","type":"string"},"sharedCredentialsFile":{"description":"The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.","type":"string"},"token":{"description":"This is the AWS session token. It must be provided, but it can also be sourced from the ALKS_SESSION_TOKEN or AWS_SESSION_TOKEN environment variable","type":"string"},"url":{"description":"This is the base URL to ALKS service. It must be provided, but it can also be sourced from the ALKS_URL environment variable.","type":"string"}},"required":["url"],"requiredInputs":["url"],"type":"object"},"publisher":"cox-automotive","repository":"https://github.com/cox-automotive/terraform-provider-alks","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","inputProperties":{"assumeRolePolicy":{"description":"A JSON string representing the trust policy for the role. This is only supported for single-service trust policies trusting an approved AWS service. Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"},"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamroleId":{"type":"string"},"includeDefaultPolicies":{"description":"Whether or not the default manages policies should be attached to the role.\n","type":"boolean"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"description":"The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"namePrefix":{"description":"A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"templateFields":{"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":"object"},"type":{"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/#operation/getAllAwsRoleTypes). Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"}},"properties":{"arn":{"description":"Provides the ARN of the role that was created.\n","type":"string"},"assumeRolePolicy":{"description":"A JSON string representing the trust policy for the role. This is only supported for single-service trust policies trusting an approved AWS service. Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"},"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamroleId":{"type":"string"},"includeDefaultPolicies":{"description":"Whether or not the default manages policies should be attached to the role.\n","type":"boolean"},"ipArn":{"description":"If <span pulumi-lang-nodejs=\"`roleAddedToIp`\" pulumi-lang-dotnet=\"`RoleAddedToIp`\" pulumi-lang-go=\"`roleAddedToIp`\" pulumi-lang-python=\"`role_added_to_ip`\" pulumi-lang-yaml=\"`roleAddedToIp`\" pulumi-lang-java=\"`roleAddedToIp`\">`role_added_to_ip`</span> was <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> this will provide the ARN of the instance profile role.\n","type":"string"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"description":"The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"namePrefix":{"description":"A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"roleAddedToIp":{"description":"Indicates whether or not an instance profile role was created.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"templateFields":{"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":"object"},"type":{"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/#operation/getAllAwsRoleTypes). Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"}},"required":["arn","iamroleId","ipArn","name","namePrefix","roleAddedToIp","tagsAll"],"stateInputs":{"description":"Input properties used for looking up and filtering Iamrole resources.\n","properties":{"arn":{"description":"Provides the ARN of the role that was created.\n","type":"string"},"assumeRolePolicy":{"description":"A JSON string representing the trust policy for the role. This is only supported for single-service trust policies trusting an approved AWS service. Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"},"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamroleId":{"type":"string"},"includeDefaultPolicies":{"description":"Whether or not the default manages policies should be attached to the role.\n","type":"boolean"},"ipArn":{"description":"If <span pulumi-lang-nodejs=\"`roleAddedToIp`\" pulumi-lang-dotnet=\"`RoleAddedToIp`\" pulumi-lang-go=\"`roleAddedToIp`\" pulumi-lang-python=\"`role_added_to_ip`\" pulumi-lang-yaml=\"`roleAddedToIp`\" pulumi-lang-java=\"`roleAddedToIp`\">`role_added_to_ip`</span> was <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> this will provide the ARN of the instance profile role.\n","type":"string"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"description":"The name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"namePrefix":{"description":"A prefix for a generated name of the ALKS IAM role which will be reflected in AWS and the ALKS UI.\n","type":"string"},"roleAddedToIp":{"description":"Indicates whether or not an instance profile role was created.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"templateFields":{"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":"object"},"type":{"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/#operation/getAllAwsRoleTypes). Exactly one of <span pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\">`type`</span> or <span pulumi-lang-nodejs=\"`assumeRolePolicy`\" pulumi-lang-dotnet=\"`AssumeRolePolicy`\" pulumi-lang-go=\"`assumeRolePolicy`\" pulumi-lang-python=\"`assume_role_policy`\" pulumi-lang-yaml=\"`assumeRolePolicy`\" pulumi-lang-java=\"`assumeRolePolicy`\">`assume_role_policy`</span> must be specified.\n","type":"string"}},"type":"object"},"type":"object"},"alks:index/iamtrustrole:Iamtrustrole":{"description":"## # Resource:<span pulumi-lang-nodejs=\" alks.Iamtrustrole\n\" pulumi-lang-dotnet=\" alks.Iamtrustrole\n\" pulumi-lang-go=\" Iamtrustrole\n\" pulumi-lang-python=\" Iamtrustrole\n\" pulumi-lang-yaml=\" alks.Iamtrustrole\n\" pulumi-lang-java=\" alks.Iamtrustrole\n\"> alks.Iamtrustrole\n</span>\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(\"test_trust_role\", {\n    name: \"My_Cross_Test_Role\",\n    type: \"Cross Account\",\n    trustArn: \"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n    enableAlksAccess: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_trust_role = alks.Iamtrustrole(\"test_trust_role\",\n    name=\"My_Cross_Test_Role\",\n    type=\"Cross Account\",\n    trust_arn=\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n    enable_alks_access=False)\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(\"test_trust_role\", new()\n    {\n        Name = \"My_Cross_Test_Role\",\n        Type = \"Cross Account\",\n        TrustArn = \"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\",\n        EnableAlksAccess = false,\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, \"test_trust_role\", &alks.IamtrustroleArgs{\n\t\t\tName:             pulumi.String(\"My_Cross_Test_Role\"),\n\t\t\tType:             pulumi.String(\"Cross Account\"),\n\t\t\tTrustArn:         pulumi.String(\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\"),\n\t\t\tEnableAlksAccess: pulumi.Bool(false),\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            .name(\"My_Cross_Test_Role\")\n            .type(\"Cross Account\")\n            .trustArn(\"arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\")\n            .enableAlksAccess(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testTrustRole:\n    type: alks:Iamtrustrole\n    name: test_trust_role\n    properties:\n      name: My_Cross_Test_Role\n      type: Cross Account\n      trustArn: arn:aws:iam::123456789123:role/acct-managed/TestTrustRole\n      enableAlksAccess: false\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(\"test_role\", {\n    name: \"My_Test_Role\",\n    type: \"Amazon EC2\",\n    includeDefaultPolicies: false,\n    enableAlksAccess: false,\n    tags: {\n        tagKey: \"tagValue\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_role = alks.Iamrole(\"test_role\",\n    name=\"My_Test_Role\",\n    type=\"Amazon EC2\",\n    include_default_policies=False,\n    enable_alks_access=False,\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 testRole = new Alks.Iamrole(\"test_role\", new()\n    {\n        Name = \"My_Test_Role\",\n        Type = \"Amazon EC2\",\n        IncludeDefaultPolicies = false,\n        EnableAlksAccess = false,\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.NewIamrole(ctx, \"test_role\", &alks.IamroleArgs{\n\t\t\tName:                   pulumi.String(\"My_Test_Role\"),\n\t\t\tType:                   pulumi.String(\"Amazon EC2\"),\n\t\t\tIncludeDefaultPolicies: pulumi.Bool(false),\n\t\t\tEnableAlksAccess:       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})\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            .name(\"My_Test_Role\")\n            .type(\"Amazon EC2\")\n            .includeDefaultPolicies(false)\n            .enableAlksAccess(false)\n            .tags(Map.of(\"tagKey\", \"tagValue\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testRole:\n    type: alks:Iamrole\n    name: test_role\n    properties:\n      name: My_Test_Role\n      type: Amazon EC2\n      includeDefaultPolicies: false\n      enableAlksAccess: false\n      tags:\n        tagKey: tagValue\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","inputProperties":{"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamtrustroleId":{"type":"string"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"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","type":"string"},"namePrefix":{"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","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"trustArn":{"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":"string"},"type":{"description":"The role type to use `Cross Account` or `Inner Account`.\n","type":"string"}},"properties":{"arn":{"description":"Provides the ARN of the role that was created.\n","type":"string"},"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamtrustroleId":{"type":"string"},"ipArn":{"description":"If <span pulumi-lang-nodejs=\"`roleAddedToIp`\" pulumi-lang-dotnet=\"`RoleAddedToIp`\" pulumi-lang-go=\"`roleAddedToIp`\" pulumi-lang-python=\"`role_added_to_ip`\" pulumi-lang-yaml=\"`roleAddedToIp`\" pulumi-lang-java=\"`roleAddedToIp`\">`role_added_to_ip`</span> was <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> this will provide the ARN of the instance profile role.\n","type":"string"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"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","type":"string"},"namePrefix":{"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","type":"string"},"roleAddedToIp":{"description":"Indicates whether or not an instance profile role was created.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"trustArn":{"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":"string"},"type":{"description":"The role type to use `Cross Account` or `Inner Account`.\n","type":"string"}},"required":["arn","iamtrustroleId","ipArn","name","namePrefix","roleAddedToIp","tagsAll","trustArn","type"],"requiredInputs":["trustArn","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Iamtrustrole resources.\n","properties":{"arn":{"description":"Provides the ARN of the role that was created.\n","type":"string"},"enableAlksAccess":{"description":"If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, allows ALKS calls to be made by instance profiles or Lambda functions making use of this role. Note: This enables **machine identity** capability.\n","type":"boolean"},"iamtrustroleId":{"type":"string"},"ipArn":{"description":"If <span pulumi-lang-nodejs=\"`roleAddedToIp`\" pulumi-lang-dotnet=\"`RoleAddedToIp`\" pulumi-lang-go=\"`roleAddedToIp`\" pulumi-lang-python=\"`role_added_to_ip`\" pulumi-lang-yaml=\"`roleAddedToIp`\" pulumi-lang-java=\"`roleAddedToIp`\">`role_added_to_ip`</span> was <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> this will provide the ARN of the instance profile role.\n","type":"string"},"maxSessionDurationInSeconds":{"description":"If present, will set maximum duration for role. Change forces re-creation of resource.\n","type":"number"},"name":{"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","type":"string"},"namePrefix":{"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","type":"string"},"roleAddedToIp":{"description":"Indicates whether or not an instance profile role was created.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto role.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"},"trustArn":{"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":"string"},"type":{"description":"The role type to use `Cross Account` or `Inner Account`.\n","type":"string"}},"type":"object"},"type":"object"},"alks:index/ltk:Ltk":{"description":"## # Resource:<span pulumi-lang-nodejs=\" alks.Ltk\n\" pulumi-lang-dotnet=\" alks.Ltk\n\" pulumi-lang-go=\" Ltk\n\" pulumi-lang-python=\" Ltk\n\" pulumi-lang-yaml=\" alks.Ltk\n\" pulumi-lang-java=\" alks.Ltk\n\"> alks.Ltk\n</span>\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(\"test_ltk_user\", {iamUsername: \"My_LTK_User_Name\"});\n```\n```python\nimport pulumi\nimport pulumi_alks as alks\n\ntest_ltk_user = alks.Ltk(\"test_ltk_user\", 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(\"test_ltk_user\", 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, \"test_ltk_user\", &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    name: test_ltk_user\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(\"test_ltk_user\", {\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(\"test_ltk_user\",\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(\"test_ltk_user\", 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, \"test_ltk_user\", &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    name: test_ltk_user\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","inputProperties":{"iamUsername":{"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","type":"string"},"ltkId":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto iam user.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"}},"properties":{"accessKey":{"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,"type":"string"},"iamUserArn":{"description":"The ARN associated with the LTK user.\n","type":"string"},"iamUsername":{"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","type":"string"},"ltkId":{"type":"string"},"secretKey":{"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,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto iam user.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["accessKey","iamUserArn","iamUsername","ltkId","secretKey","tagsAll"],"requiredInputs":["iamUsername"],"stateInputs":{"description":"Input properties used for looking up and filtering Ltk resources.\n","properties":{"accessKey":{"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,"type":"string"},"iamUserArn":{"description":"The ARN associated with the LTK user.\n","type":"string"},"iamUsername":{"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","type":"string"},"ltkId":{"type":"string"},"secretKey":{"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,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"If present, will add specified tags onto iam user.\n","type":"object"},"tagsAll":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"type":"object"}},"types":{"alks:config/assumeRole:assumeRole":{"properties":{"externalId":{"description":"(Optional) The external ID to use when making the AssumeRole call. See AWS SDK for more details.\n","type":"string"},"policy":{"description":"(Optional) Additional policy restrictions to apply to the result STS session.  See AWS SDK for more details.\n","type":"string"},"roleArn":{"description":"(Required) Role ARN to assume before calling ALKS\n","type":"string"},"sessionName":{"description":"(Optional) Session name to use when making the AssumeRole call.  See AWS SDK for more details.\n","type":"string"}},"type":"object"},"alks:config/defaultTags:defaultTags":{"properties":{"tags":{"additionalProperties":{"type":"string"},"description":"Resource tags to default across all resources\n","type":"object"}},"type":"object"},"alks:config/ignoreTags:ignoreTags":{"properties":{"keyPrefixes":{"description":"Resource tag key prefixes to ignore across all resources.\n","items":{"type":"string"},"type":"array"},"keys":{"description":"Resource tag keys to ignore across all resources.\n","items":{"type":"string"},"type":"array"}},"type":"object"},"alks:index/ProviderAssumeRole:ProviderAssumeRole":{"properties":{"externalId":{"description":"(Optional) The external ID to use when making the AssumeRole call. See AWS SDK for more details.\n","type":"string"},"policy":{"description":"(Optional) Additional policy restrictions to apply to the result STS session.  See AWS SDK for more details.\n","type":"string"},"roleArn":{"description":"(Required) Role ARN to assume before calling ALKS\n","type":"string"},"sessionName":{"description":"(Optional) Session name to use when making the AssumeRole call.  See AWS SDK for more details.\n","type":"string"}},"type":"object"},"alks:index/ProviderDefaultTags:ProviderDefaultTags":{"properties":{"tags":{"additionalProperties":{"type":"string"},"description":"Resource tags to default across all resources\n","type":"object"}},"type":"object"},"alks:index/ProviderIgnoreTags:ProviderIgnoreTags":{"properties":{"keyPrefixes":{"description":"Resource tag key prefixes to ignore across all resources.\n","items":{"type":"string"},"type":"array"},"keys":{"description":"Resource tag keys to ignore across all resources.\n","items":{"type":"string"},"type":"array"}},"type":"object"}},"version":"2.8.4"}
