{"name":"random","version":"4.19.1","description":"A Pulumi package to safely use randomness in Pulumi programs.","keywords":["pulumi","random"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`random` Terraform Provider](https://github.com/terraform-providers/terraform-provider-random).","repository":"https://github.com/pulumi/pulumi-random","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"random":"Random"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-random/sdk/v4/go/random","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package to safely use randomness in Pulumi programs.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-random)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-random` repo](https://github.com/pulumi/pulumi-random/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-random` repo](https://github.com/terraform-providers/terraform-provider-random/issues).","devDependencies":{"@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-random)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-random` repo](https://github.com/pulumi/pulumi-random/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-random` repo](https://github.com/terraform-providers/terraform-provider-random/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{},"provider":{"description":"The provider type for the random 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","methods":{"terraformConfig":"pulumi:providers:random/terraformConfig"}},"resources":{"random:index/randomBytes:RandomBytes":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomBytes`\" pulumi-lang-dotnet=\"`random.RandomBytes`\" pulumi-lang-go=\"`RandomBytes`\" pulumi-lang-python=\"`RandomBytes`\" pulumi-lang-yaml=\"`random.RandomBytes`\" pulumi-lang-java=\"`random.RandomBytes`\"\u003e`random.RandomBytes`\u003c/span\u003e generates random bytes that are intended to be used as a secret, or key. Use this in preference to \u003cspan pulumi-lang-nodejs=\"`random.RandomId`\" pulumi-lang-dotnet=\"`random.RandomId`\" pulumi-lang-go=\"`RandomId`\" pulumi-lang-python=\"`RandomId`\" pulumi-lang-yaml=\"`random.RandomId`\" pulumi-lang-java=\"`random.RandomId`\"\u003e`random.RandomId`\u003c/span\u003e when the output is considered sensitive, and should not be displayed in the CLI.\n\nThis resource *does* use a cryptographic random number generator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\nimport * as random from \"@pulumi/random\";\n\nconst jwtSecret = new random.RandomBytes(\"jwt_secret\", {length: 64});\nconst jwtSecretKeyVaultSecret = new azurerm.index.KeyVaultSecret(\"jwt_secret\", {\n    keyVaultId: \"some-azure-key-vault-id\",\n    name: \"JwtSecret\",\n    value: jwtSecret.base64,\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\nimport pulumi_random as random\n\njwt_secret = random.RandomBytes(\"jwt_secret\", length=64)\njwt_secret_key_vault_secret = azurerm.index.KeyVaultSecret(\"jwt_secret\",\n    key_vault_id=some-azure-key-vault-id,\n    name=JwtSecret,\n    value=jwt_secret.base64)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var jwtSecret = new Random.RandomBytes(\"jwt_secret\", new()\n    {\n        Length = 64,\n    });\n\n    var jwtSecretKeyVaultSecret = new Azurerm.Index.KeyVaultSecret(\"jwt_secret\", new()\n    {\n        KeyVaultId = \"some-azure-key-vault-id\",\n        Name = \"JwtSecret\",\n        Value = jwtSecret.Base64,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tjwtSecret, err := random.NewRandomBytes(ctx, \"jwt_secret\", \u0026random.RandomBytesArgs{\n\t\t\tLength: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewKeyVaultSecret(ctx, \"jwt_secret\", \u0026azurerm.KeyVaultSecretArgs{\n\t\t\tKeyVaultId: \"some-azure-key-vault-id\",\n\t\t\tName:       \"JwtSecret\",\n\t\t\tValue:      jwtSecret.Base64,\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.random.RandomBytes;\nimport com.pulumi.random.RandomBytesArgs;\nimport com.pulumi.azurerm.KeyVaultSecret;\nimport com.pulumi.azurerm.KeyVaultSecretArgs;\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 jwtSecret = new RandomBytes(\"jwtSecret\", RandomBytesArgs.builder()\n            .length(64)\n            .build());\n\n        var jwtSecretKeyVaultSecret = new KeyVaultSecret(\"jwtSecretKeyVaultSecret\", KeyVaultSecretArgs.builder()\n            .keyVaultId(\"some-azure-key-vault-id\")\n            .name(\"JwtSecret\")\n            .value(jwtSecret.base64())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  jwtSecret:\n    type: random:RandomBytes\n    name: jwt_secret\n    properties:\n      length: 64\n  jwtSecretKeyVaultSecret:\n    type: azurerm:KeyVaultSecret\n    name: jwt_secret\n    properties:\n      keyVaultId: some-azure-key-vault-id\n      name: JwtSecret\n      value: ${jwtSecret.base64}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom bytes can be imported by specifying the value as base64 string.\n\n```sh\n$ pulumi import random:index/randomBytes:RandomBytes basic \"8/fu3q+2DcgSJ19i0jZ5Cw==\"\n```\n\n","properties":{"base64":{"type":"string","description":"The generated bytes presented in base64 string format.\n","secret":true},"hex":{"type":"string","description":"The generated bytes presented in lowercase hexadecimal string format. The length of the encoded string is exactly twice the \u003cspan pulumi-lang-nodejs=\"`length`\" pulumi-lang-dotnet=\"`Length`\" pulumi-lang-go=\"`length`\" pulumi-lang-python=\"`length`\" pulumi-lang-yaml=\"`length`\" pulumi-lang-java=\"`length`\"\u003e`length`\u003c/span\u003e parameter.\n","secret":true},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The number of bytes requested. The minimum value for length is 1.\n"}},"required":["base64","hex","length"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The number of bytes requested. The minimum value for length is 1.\n"}},"requiredInputs":["length"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomBytes resources.\n","properties":{"base64":{"type":"string","description":"The generated bytes presented in base64 string format.\n","secret":true},"hex":{"type":"string","description":"The generated bytes presented in lowercase hexadecimal string format. The length of the encoded string is exactly twice the \u003cspan pulumi-lang-nodejs=\"`length`\" pulumi-lang-dotnet=\"`Length`\" pulumi-lang-go=\"`length`\" pulumi-lang-python=\"`length`\" pulumi-lang-yaml=\"`length`\" pulumi-lang-java=\"`length`\"\u003e`length`\u003c/span\u003e parameter.\n","secret":true},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The number of bytes requested. The minimum value for length is 1.\n"}},"type":"object"}},"random:index/randomId:RandomId":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomId`\" pulumi-lang-dotnet=\"`random.RandomId`\" pulumi-lang-go=\"`RandomId`\" pulumi-lang-python=\"`RandomId`\" pulumi-lang-yaml=\"`random.RandomId`\" pulumi-lang-java=\"`random.RandomId`\"\u003e`random.RandomId`\u003c/span\u003e generates random numbers that are intended to be\nused as unique identifiers for other resources. If the output is considered \nsensitive, and should not be displayed in the CLI, use \u003cspan pulumi-lang-nodejs=\"`random.RandomBytes`\" pulumi-lang-dotnet=\"`random.RandomBytes`\" pulumi-lang-go=\"`RandomBytes`\" pulumi-lang-python=\"`RandomBytes`\" pulumi-lang-yaml=\"`random.RandomBytes`\" pulumi-lang-java=\"`random.RandomBytes`\"\u003e`random.RandomBytes`\u003c/span\u003e\ninstead.\n\nThis resource *does* use a cryptographic random number generator in order\nto minimize the chance of collisions, making the results of this resource\nwhen a 16-byte identifier is requested of equivalent uniqueness to a\ntype-4 UUID.\n\nThis resource can be used in conjunction with resources that have\nthe \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy`\" pulumi-lang-dotnet=\"`CreateBeforeDestroy`\" pulumi-lang-go=\"`createBeforeDestroy`\" pulumi-lang-python=\"`create_before_destroy`\" pulumi-lang-yaml=\"`createBeforeDestroy`\" pulumi-lang-java=\"`createBeforeDestroy`\"\u003e`create_before_destroy`\u003c/span\u003e lifecycle flag set to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a unique name for an AWS EC2\n// instance that changes each time a new AMI id is selected.\nconst server = new random.RandomId(\"server\", {\n    keepers: {\n        ami_id: amiId,\n    },\n    byteLength: 8,\n});\nconst serverInstance = new aws.index.Instance(\"server\", {\n    tags: {\n        name: `web-server ${server.hex}`,\n    },\n    ami: server.keepers?.amiId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\n# The following example shows how to generate a unique name for an AWS EC2\n# instance that changes each time a new AMI id is selected.\nserver = random.RandomId(\"server\",\n    keepers={\n        \"ami_id\": ami_id,\n    },\n    byte_length=8)\nserver_instance = aws.index.Instance(\"server\",\n    tags={\n        name: fweb-server {server.hex},\n    },\n    ami=server.keepers.ami_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a unique name for an AWS EC2\n    // instance that changes each time a new AMI id is selected.\n    var server = new Random.RandomId(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"ami_id\", amiId },\n        },\n        ByteLength = 8,\n    });\n\n    var serverInstance = new Aws.Index.Instance(\"server\", new()\n    {\n        Tags = \n        {\n            { \"name\", $\"web-server {server.Hex}\" },\n        },\n        Ami = server.Keepers?.AmiId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a unique name for an AWS EC2\n\t\t// instance that changes each time a new AMI id is selected.\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.StringMap{\n\t\t\t\t\"ami_id\": pulumi.Any(amiId),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewInstance(ctx, \"server\", \u0026aws.InstanceArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": pulumi.Sprintf(\"web-server %v\", server.Hex),\n\t\t\t},\n\t\t\tAmi: server.Keepers.AmiId,\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.random.RandomId;\nimport com.pulumi.random.RandomIdArgs;\nimport com.pulumi.aws.Instance;\nimport com.pulumi.aws.InstanceArgs;\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        // The following example shows how to generate a unique name for an AWS EC2\n        // instance that changes each time a new AMI id is selected.\n        var server = new RandomId(\"server\", RandomIdArgs.builder()\n            .keepers(Map.of(\"ami_id\", amiId))\n            .byteLength(8)\n            .build());\n\n        var serverInstance = new Instance(\"serverInstance\", InstanceArgs.builder()\n            .tags(Map.of(\"name\", String.format(\"web-server %s\", server.hex())))\n            .ami(server.keepers().amiId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a unique name for an AWS EC2\n  # instance that changes each time a new AMI id is selected.\n  server:\n    type: random:RandomId\n    properties:\n      keepers:\n        ami_id: ${amiId}\n      byteLength: 8\n  serverInstance:\n    type: aws:Instance\n    name: server\n    properties:\n      tags:\n        name: web-server ${server.hex}\n      ami: ${server.keepers.amiId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom IDs can be imported using the b64_url with an optional prefix. This\n\ncan be used to replace a config value with a value interpolated from the\n\nrandom provider without experiencing diffs.\n\nExample with no prefix:\n\n```sh\n$ pulumi import random:index/randomId:RandomId server p-9hUg\n```\n\nExample with prefix (prefix is separated by a ,):\n\n```sh\n$ pulumi import random:index/randomId:RandomId server my-prefix-,p-9hUg\n```\n\n","properties":{"b64Std":{"type":"string","description":"The generated id presented in base64 without additional transformations.\n"},"b64Url":{"type":"string","description":"The generated id presented in base64, using the URL-friendly character set: case-sensitive letters, digits and the characters `_` and `-`.\n"},"byteLength":{"type":"integer","description":"The number of random bytes to produce. The minimum value is 1, which produces eight bits of randomness.\n"},"dec":{"type":"string","description":"The generated id presented in non-padded decimal digits.\n"},"hex":{"type":"string","description":"The generated id presented in padded hexadecimal digits. This result will always be twice as long as the requested byte length.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"prefix":{"type":"string","description":"Arbitrary string to prefix the output value with. This string is supplied as-is, meaning it is not guaranteed to be URL-safe or base64 encoded.\n"}},"required":["b64Std","b64Url","byteLength","dec","hex"],"inputProperties":{"byteLength":{"type":"integer","description":"The number of random bytes to produce. The minimum value is 1, which produces eight bits of randomness.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"prefix":{"type":"string","description":"Arbitrary string to prefix the output value with. This string is supplied as-is, meaning it is not guaranteed to be URL-safe or base64 encoded.\n"}},"requiredInputs":["byteLength"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomId resources.\n","properties":{"b64Std":{"type":"string","description":"The generated id presented in base64 without additional transformations.\n"},"b64Url":{"type":"string","description":"The generated id presented in base64, using the URL-friendly character set: case-sensitive letters, digits and the characters `_` and `-`.\n"},"byteLength":{"type":"integer","description":"The number of random bytes to produce. The minimum value is 1, which produces eight bits of randomness.\n"},"dec":{"type":"string","description":"The generated id presented in non-padded decimal digits.\n"},"hex":{"type":"string","description":"The generated id presented in padded hexadecimal digits. This result will always be twice as long as the requested byte length.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"prefix":{"type":"string","description":"Arbitrary string to prefix the output value with. This string is supplied as-is, meaning it is not guaranteed to be URL-safe or base64 encoded.\n"}},"type":"object"}},"random:index/randomInteger:RandomInteger":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomInteger`\" pulumi-lang-dotnet=\"`random.RandomInteger`\" pulumi-lang-go=\"`RandomInteger`\" pulumi-lang-python=\"`RandomInteger`\" pulumi-lang-yaml=\"`random.RandomInteger`\" pulumi-lang-java=\"`random.RandomInteger`\"\u003e`random.RandomInteger`\u003c/span\u003e generates random values from a given range, described by the \u003cspan pulumi-lang-nodejs=\"`min`\" pulumi-lang-dotnet=\"`Min`\" pulumi-lang-go=\"`min`\" pulumi-lang-python=\"`min`\" pulumi-lang-yaml=\"`min`\" pulumi-lang-java=\"`min`\"\u003e`min`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`max`\" pulumi-lang-dotnet=\"`Max`\" pulumi-lang-go=\"`max`\" pulumi-lang-python=\"`max`\" pulumi-lang-yaml=\"`max`\" pulumi-lang-java=\"`max`\"\u003e`max`\u003c/span\u003e attributes of a given resource.\n\nThis resource can be used in conjunction with resources that have the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy`\" pulumi-lang-dotnet=\"`CreateBeforeDestroy`\" pulumi-lang-go=\"`createBeforeDestroy`\" pulumi-lang-python=\"`create_before_destroy`\" pulumi-lang-yaml=\"`createBeforeDestroy`\" pulumi-lang-java=\"`createBeforeDestroy`\"\u003e`create_before_destroy`\u003c/span\u003e lifecycle flag set, to avoid conflicts with unique names during the brief period where both the old and new resources exist concurrently.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a random priority\n// between 1 and 50000 for a aws_alb_listener_rule resource:\nconst priority = new random.RandomInteger(\"priority\", {\n    min: 1,\n    max: 50000,\n    keepers: {\n        listener_arn: listenerArn,\n    },\n});\nconst main = new aws.index.AlbListenerRule(\"main\", {\n    listenerArn: priority.keepers?.listenerArn,\n    priority: priority.result,\n    action: [{\n        type: \"forward\",\n        targetGroupArn: targetGroupArn,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\n# The following example shows how to generate a random priority\n# between 1 and 50000 for a aws_alb_listener_rule resource:\npriority = random.RandomInteger(\"priority\",\n    min=1,\n    max=50000,\n    keepers={\n        \"listener_arn\": listener_arn,\n    })\nmain = aws.index.AlbListenerRule(\"main\",\n    listener_arn=priority.keepers.listener_arn,\n    priority=priority.result,\n    action=[{\n        type: forward,\n        targetGroupArn: target_group_arn,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a random priority\n    // between 1 and 50000 for a aws_alb_listener_rule resource:\n    var priority = new Random.RandomInteger(\"priority\", new()\n    {\n        Min = 1,\n        Max = 50000,\n        Keepers = \n        {\n            { \"listener_arn\", listenerArn },\n        },\n    });\n\n    var main = new Aws.Index.AlbListenerRule(\"main\", new()\n    {\n        ListenerArn = priority.Keepers?.ListenerArn,\n        Priority = priority.Result,\n        Action = new[]\n        {\n            \n            {\n                { \"type\", \"forward\" },\n                { \"targetGroupArn\", targetGroupArn },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a random priority\n\t\t// between 1 and 50000 for a aws_alb_listener_rule resource:\n\t\tpriority, err := random.NewRandomInteger(ctx, \"priority\", \u0026random.RandomIntegerArgs{\n\t\t\tMin: pulumi.Int(1),\n\t\t\tMax: pulumi.Int(50000),\n\t\t\tKeepers: pulumi.StringMap{\n\t\t\t\t\"listener_arn\": pulumi.Any(listenerArn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewAlbListenerRule(ctx, \"main\", \u0026aws.AlbListenerRuleArgs{\n\t\t\tListenerArn: priority.Keepers.ListenerArn,\n\t\t\tPriority:    priority.Result,\n\t\t\tAction: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\":           \"forward\",\n\t\t\t\t\t\"targetGroupArn\": targetGroupArn,\n\t\t\t\t},\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.random.RandomInteger;\nimport com.pulumi.random.RandomIntegerArgs;\nimport com.pulumi.aws.AlbListenerRule;\nimport com.pulumi.aws.AlbListenerRuleArgs;\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        // The following example shows how to generate a random priority\n        // between 1 and 50000 for a aws_alb_listener_rule resource:\n        var priority = new RandomInteger(\"priority\", RandomIntegerArgs.builder()\n            .min(1)\n            .max(50000)\n            .keepers(Map.of(\"listener_arn\", listenerArn))\n            .build());\n\n        var main = new AlbListenerRule(\"main\", AlbListenerRuleArgs.builder()\n            .listenerArn(priority.keepers().listenerArn())\n            .priority(priority.result())\n            .action(List.of(Map.ofEntries(\n                Map.entry(\"type\", \"forward\"),\n                Map.entry(\"targetGroupArn\", targetGroupArn)\n            )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a random priority\n  # between 1 and 50000 for a aws_alb_listener_rule resource:\n  priority:\n    type: random:RandomInteger\n    properties:\n      min: 1\n      max: 50000\n      keepers:\n        listener_arn: ${listenerArn}\n  main:\n    type: aws:AlbListenerRule\n    properties:\n      listenerArn: ${priority.keepers.listenerArn}\n      priority: ${priority.result}\n      action:\n        - type: forward\n          targetGroupArn: ${targetGroupArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom integers can be imported using the result, min, and max, with an\n\noptional seed. This can be used to replace a config value with a value\n\ninterpolated from the random provider without experiencing diffs.\n\nExample (values are separated by a ,):\n\n```sh\n$ pulumi import random:index/randomInteger:RandomInteger priority 15390,1,50000\n```\n\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"max":{"type":"integer","description":"The maximum inclusive value of the range.\n"},"min":{"type":"integer","description":"The minimum inclusive value of the range.\n"},"result":{"type":"integer","description":"The random integer result.\n"},"seed":{"type":"string","description":"A custom seed to always produce the same value.\n"}},"required":["max","min","result"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"max":{"type":"integer","description":"The maximum inclusive value of the range.\n"},"min":{"type":"integer","description":"The minimum inclusive value of the range.\n"},"seed":{"type":"string","description":"A custom seed to always produce the same value.\n"}},"requiredInputs":["max","min"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomInteger resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"max":{"type":"integer","description":"The maximum inclusive value of the range.\n"},"min":{"type":"integer","description":"The minimum inclusive value of the range.\n"},"result":{"type":"integer","description":"The random integer result.\n"},"seed":{"type":"string","description":"A custom seed to always produce the same value.\n"}},"type":"object"}},"random:index/randomPassword:RandomPassword":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst password = new random.RandomPassword(\"password\", {\n    length: 16,\n    special: true,\n    overrideSpecial: \"!#$%\u0026*()-_=+[]{}\u003c\u003e:?\",\n});\nconst example = new aws.index.DbInstance(\"example\", {\n    instanceClass: \"db.t3.micro\",\n    allocatedStorage: 64,\n    engine: \"mysql\",\n    username: \"someone\",\n    password: password.result,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\npassword = random.RandomPassword(\"password\",\n    length=16,\n    special=True,\n    override_special=\"!#$%\u0026*()-_=+[]{}\u003c\u003e:?\")\nexample = aws.index.DbInstance(\"example\",\n    instance_class=db.t3.micro,\n    allocated_storage=64,\n    engine=mysql,\n    username=someone,\n    password=password.result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var password = new Random.RandomPassword(\"password\", new()\n    {\n        Length = 16,\n        Special = true,\n        OverrideSpecial = \"!#$%\u0026*()-_=+[]{}\u003c\u003e:?\",\n    });\n\n    var example = new Aws.Index.DbInstance(\"example\", new()\n    {\n        InstanceClass = \"db.t3.micro\",\n        AllocatedStorage = 64,\n        Engine = \"mysql\",\n        Username = \"someone\",\n        Password = password.Result,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpassword, err := random.NewRandomPassword(ctx, \"password\", \u0026random.RandomPasswordArgs{\n\t\t\tLength:          pulumi.Int(16),\n\t\t\tSpecial:         pulumi.Bool(true),\n\t\t\tOverrideSpecial: pulumi.String(\"!#$%\u0026*()-_=+[]{}\u003c\u003e:?\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewDbInstance(ctx, \"example\", \u0026aws.DbInstanceArgs{\n\t\t\tInstanceClass:    \"db.t3.micro\",\n\t\t\tAllocatedStorage: 64,\n\t\t\tEngine:           \"mysql\",\n\t\t\tUsername:         \"someone\",\n\t\t\tPassword:         password.Result,\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.random.RandomPassword;\nimport com.pulumi.random.RandomPasswordArgs;\nimport com.pulumi.aws.DbInstance;\nimport com.pulumi.aws.DbInstanceArgs;\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 password = new RandomPassword(\"password\", RandomPasswordArgs.builder()\n            .length(16)\n            .special(true)\n            .overrideSpecial(\"!#$%\u0026*()-_=+[]{}\u003c\u003e:?\")\n            .build());\n\n        var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n            .instanceClass(\"db.t3.micro\")\n            .allocatedStorage(64)\n            .engine(\"mysql\")\n            .username(\"someone\")\n            .password(password.result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  password:\n    type: random:RandomPassword\n    properties:\n      length: 16\n      special: true\n      overrideSpecial: '!#$%\u0026*()-_=+[]{}\u003c\u003e:?'\n  example:\n    type: aws:DbInstance\n    properties:\n      instanceClass: db.t3.micro\n      allocatedStorage: 64\n      engine: mysql\n      username: someone\n      password: ${password.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import external passwords into your Pulumi programs as follows:\n\n```sh\u003cbreak\u003e\n$ import random:index/randomPassword:RandomPassword newPassword supersecret\n\u003cbreak\u003e```\n\nThis command will encode the `supersecret` token in Pulumi state and generate a code suggestion to\ninclude a new RandomPassword resource in your Pulumi program. Include the suggested code and do a\n`pulumi up`. Your secret password is now securely stored in Pulumi, and you can reference it in your\nPulumi program as `newPassword.result`.\n```","properties":{"bcryptHash":{"type":"string","description":"A bcrypt hash of the generated random string. **NOTE**: If the generated random string is greater than 72 bytes in length, \u003cspan pulumi-lang-nodejs=\"`bcryptHash`\" pulumi-lang-dotnet=\"`BcryptHash`\" pulumi-lang-go=\"`bcryptHash`\" pulumi-lang-python=\"`bcrypt_hash`\" pulumi-lang-yaml=\"`bcryptHash`\" pulumi-lang-java=\"`bcryptHash`\"\u003e`bcrypt_hash`\u003c/span\u003e will contain a hash of the first 72 bytes.\n","secret":true},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"result":{"type":"string","description":"The generated random string.\n","secret":true},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["bcryptHash","length","lower","minLower","minNumeric","minSpecial","minUpper","number","numeric","result","special","upper"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["length"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomPassword resources.\n","properties":{"bcryptHash":{"type":"string","description":"A bcrypt hash of the generated random string. **NOTE**: If the generated random string is greater than 72 bytes in length, \u003cspan pulumi-lang-nodejs=\"`bcryptHash`\" pulumi-lang-dotnet=\"`BcryptHash`\" pulumi-lang-go=\"`bcryptHash`\" pulumi-lang-python=\"`bcrypt_hash`\" pulumi-lang-yaml=\"`bcryptHash`\" pulumi-lang-java=\"`bcryptHash`\"\u003e`bcrypt_hash`\u003c/span\u003e will contain a hash of the first 72 bytes.\n","secret":true},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"result":{"type":"string","description":"The generated random string.\n","secret":true},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"random:index/randomPet:RandomPet":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomPet`\" pulumi-lang-dotnet=\"`random.RandomPet`\" pulumi-lang-go=\"`RandomPet`\" pulumi-lang-python=\"`RandomPet`\" pulumi-lang-yaml=\"`random.RandomPet`\" pulumi-lang-java=\"`random.RandomPet`\"\u003e`random.RandomPet`\u003c/span\u003e generates random pet names that are intended to be used as unique identifiers for other resources.\n\nThis resource can be used in conjunction with resources that have the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy`\" pulumi-lang-dotnet=\"`CreateBeforeDestroy`\" pulumi-lang-go=\"`createBeforeDestroy`\" pulumi-lang-python=\"`create_before_destroy`\" pulumi-lang-yaml=\"`createBeforeDestroy`\" pulumi-lang-java=\"`createBeforeDestroy`\"\u003e`create_before_destroy`\u003c/span\u003e lifecycle flag set, to avoid conflicts with unique names during the brief period where both the old and new resources exist concurrently.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a unique pet name\n// for an AWS EC2 instance that changes each time a new AMI id is\n// selected.\nconst server = new random.RandomPet(\"server\", {keepers: {\n    ami_id: amiId,\n}});\nconst serverInstance = new aws.index.Instance(\"server\", {\n    tags: {\n        name: `web-server-${server.id}`,\n    },\n    ami: server.keepers?.amiId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\n# The following example shows how to generate a unique pet name\n# for an AWS EC2 instance that changes each time a new AMI id is\n# selected.\nserver = random.RandomPet(\"server\", keepers={\n    \"ami_id\": ami_id,\n})\nserver_instance = aws.index.Instance(\"server\",\n    tags={\n        name: fweb-server-{server.id},\n    },\n    ami=server.keepers.ami_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a unique pet name\n    // for an AWS EC2 instance that changes each time a new AMI id is\n    // selected.\n    var server = new Random.RandomPet(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"ami_id\", amiId },\n        },\n    });\n\n    var serverInstance = new Aws.Index.Instance(\"server\", new()\n    {\n        Tags = \n        {\n            { \"name\", $\"web-server-{server.Id}\" },\n        },\n        Ami = server.Keepers?.AmiId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a unique pet name\n\t\t// for an AWS EC2 instance that changes each time a new AMI id is\n\t\t// selected.\n\t\tserver, err := random.NewRandomPet(ctx, \"server\", \u0026random.RandomPetArgs{\n\t\t\tKeepers: pulumi.StringMap{\n\t\t\t\t\"ami_id\": pulumi.Any(amiId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewInstance(ctx, \"server\", \u0026aws.InstanceArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": pulumi.Sprintf(\"web-server-%v\", server.ID()),\n\t\t\t},\n\t\t\tAmi: server.Keepers.AmiId,\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.random.RandomPet;\nimport com.pulumi.random.RandomPetArgs;\nimport com.pulumi.aws.Instance;\nimport com.pulumi.aws.InstanceArgs;\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        // The following example shows how to generate a unique pet name\n        // for an AWS EC2 instance that changes each time a new AMI id is\n        // selected.\n        var server = new RandomPet(\"server\", RandomPetArgs.builder()\n            .keepers(Map.of(\"ami_id\", amiId))\n            .build());\n\n        var serverInstance = new Instance(\"serverInstance\", InstanceArgs.builder()\n            .tags(Map.of(\"name\", String.format(\"web-server-%s\", server.id())))\n            .ami(server.keepers().amiId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a unique pet name\n  # for an AWS EC2 instance that changes each time a new AMI id is\n  # selected.\n  server:\n    type: random:RandomPet\n    properties:\n      keepers:\n        ami_id: ${amiId}\n  serverInstance:\n    type: aws:Instance\n    name: server\n    properties:\n      tags:\n        name: web-server-${server.id}\n      ami: ${server.keepers.amiId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length (in words) of the pet name. Defaults to 2\n"},"prefix":{"type":"string","description":"A string to prefix the name with.\n"},"separator":{"type":"string","description":"The character to separate words in the pet name. Defaults to \"-\"\n"}},"required":["length","separator"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length (in words) of the pet name. Defaults to 2\n"},"prefix":{"type":"string","description":"A string to prefix the name with.\n"},"separator":{"type":"string","description":"The character to separate words in the pet name. Defaults to \"-\"\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering RandomPet resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length (in words) of the pet name. Defaults to 2\n"},"prefix":{"type":"string","description":"A string to prefix the name with.\n"},"separator":{"type":"string","description":"The character to separate words in the pet name. Defaults to \"-\"\n"}},"type":"object"}},"random:index/randomShuffle:RandomShuffle":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomShuffle`\" pulumi-lang-dotnet=\"`random.RandomShuffle`\" pulumi-lang-go=\"`RandomShuffle`\" pulumi-lang-python=\"`RandomShuffle`\" pulumi-lang-yaml=\"`random.RandomShuffle`\" pulumi-lang-java=\"`random.RandomShuffle`\"\u003e`random.RandomShuffle`\u003c/span\u003e generates a random permutation of a list of strings given as an argument.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst az = new random.RandomShuffle(\"az\", {\n    inputs: [\n        \"us-west-1a\",\n        \"us-west-1c\",\n        \"us-west-1d\",\n        \"us-west-1e\",\n    ],\n    resultCount: 2,\n});\nconst example = new aws.index.Elb(\"example\", {availabilityZones: az.results});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\naz = random.RandomShuffle(\"az\",\n    inputs=[\n        \"us-west-1a\",\n        \"us-west-1c\",\n        \"us-west-1d\",\n        \"us-west-1e\",\n    ],\n    result_count=2)\nexample = aws.index.Elb(\"example\", availability_zones=az.results)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az = new Random.RandomShuffle(\"az\", new()\n    {\n        Inputs = new[]\n        {\n            \"us-west-1a\",\n            \"us-west-1c\",\n            \"us-west-1d\",\n            \"us-west-1e\",\n        },\n        ResultCount = 2,\n    });\n\n    var example = new Aws.Index.Elb(\"example\", new()\n    {\n        AvailabilityZones = az.Results,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taz, err := random.NewRandomShuffle(ctx, \"az\", \u0026random.RandomShuffleArgs{\n\t\t\tInputs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-1a\"),\n\t\t\t\tpulumi.String(\"us-west-1c\"),\n\t\t\t\tpulumi.String(\"us-west-1d\"),\n\t\t\t\tpulumi.String(\"us-west-1e\"),\n\t\t\t},\n\t\t\tResultCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewElb(ctx, \"example\", \u0026aws.ElbArgs{\n\t\t\tAvailabilityZones: az.Results,\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.random.RandomShuffle;\nimport com.pulumi.random.RandomShuffleArgs;\nimport com.pulumi.aws.Elb;\nimport com.pulumi.aws.ElbArgs;\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 az = new RandomShuffle(\"az\", RandomShuffleArgs.builder()\n            .inputs(            \n                \"us-west-1a\",\n                \"us-west-1c\",\n                \"us-west-1d\",\n                \"us-west-1e\")\n            .resultCount(2)\n            .build());\n\n        var example = new Elb(\"example\", ElbArgs.builder()\n            .availabilityZones(az.results())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  az:\n    type: random:RandomShuffle\n    properties:\n      inputs:\n        - us-west-1a\n        - us-west-1c\n        - us-west-1d\n        - us-west-1e\n      resultCount: 2\n  example:\n    type: aws:Elb\n    properties:\n      availabilityZones: ${az.results}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"inputs":{"type":"array","items":{"type":"string"},"description":"The list of strings to shuffle.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"resultCount":{"type":"integer","description":"The number of results to return. Defaults to the number of items in the \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e list. If fewer items are requested, some elements will be excluded from the result. If more items are requested, items will be repeated in the result but not more frequently than the number of items in the input list.\n"},"results":{"type":"array","items":{"type":"string"},"description":"Random permutation of the list of strings given in \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e. The number of elements is determined by \u003cspan pulumi-lang-nodejs=\"`resultCount`\" pulumi-lang-dotnet=\"`ResultCount`\" pulumi-lang-go=\"`resultCount`\" pulumi-lang-python=\"`result_count`\" pulumi-lang-yaml=\"`resultCount`\" pulumi-lang-java=\"`resultCount`\"\u003e`result_count`\u003c/span\u003e if set, or the number of elements in \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e."},"seed":{"type":"string","description":"Arbitrary string with which to seed the random number generator, in order to produce less-volatile permutations of the list.\n"}},"required":["inputs","results"],"inputProperties":{"inputs":{"type":"array","items":{"type":"string"},"description":"The list of strings to shuffle.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"resultCount":{"type":"integer","description":"The number of results to return. Defaults to the number of items in the \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e list. If fewer items are requested, some elements will be excluded from the result. If more items are requested, items will be repeated in the result but not more frequently than the number of items in the input list.\n"},"seed":{"type":"string","description":"Arbitrary string with which to seed the random number generator, in order to produce less-volatile permutations of the list.\n"}},"requiredInputs":["inputs"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomShuffle resources.\n","properties":{"inputs":{"type":"array","items":{"type":"string"},"description":"The list of strings to shuffle.\n"},"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"resultCount":{"type":"integer","description":"The number of results to return. Defaults to the number of items in the \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e list. If fewer items are requested, some elements will be excluded from the result. If more items are requested, items will be repeated in the result but not more frequently than the number of items in the input list.\n"},"results":{"type":"array","items":{"type":"string"},"description":"Random permutation of the list of strings given in \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e. The number of elements is determined by \u003cspan pulumi-lang-nodejs=\"`resultCount`\" pulumi-lang-dotnet=\"`ResultCount`\" pulumi-lang-go=\"`resultCount`\" pulumi-lang-python=\"`result_count`\" pulumi-lang-yaml=\"`resultCount`\" pulumi-lang-java=\"`resultCount`\"\u003e`result_count`\u003c/span\u003e if set, or the number of elements in \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e."},"seed":{"type":"string","description":"Arbitrary string with which to seed the random number generator, in order to produce less-volatile permutations of the list.\n"}},"type":"object"}},"random:index/randomString:RandomString":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomString`\" pulumi-lang-dotnet=\"`random.RandomString`\" pulumi-lang-go=\"`RandomString`\" pulumi-lang-python=\"`RandomString`\" pulumi-lang-yaml=\"`random.RandomString`\" pulumi-lang-java=\"`random.RandomString`\"\u003e`random.RandomString`\u003c/span\u003e generates a random permutation of alphanumeric characters and optionally special characters.\n\nThis resource *does* use a cryptographic random number generator.\n\nHistorically this resource's intended usage has been ambiguous as the original example used it in a password. For backwards compatibility it will continue to exist. For unique ids please use random_id, for sensitive random values please use random_password.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as random from \"@pulumi/random\";\n\nconst random = new random.RandomString(\"random\", {\n    length: 16,\n    special: true,\n    overrideSpecial: \"/@£$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_random as random\n\nrandom = random.RandomString(\"random\",\n    length=16,\n    special=True,\n    override_special=\"/@£$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var random = new Random.RandomString(\"random\", new()\n    {\n        Length = 16,\n        Special = true,\n        OverrideSpecial = \"/@£$\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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 := random.NewRandomString(ctx, \"random\", \u0026random.RandomStringArgs{\n\t\t\tLength:          pulumi.Int(16),\n\t\t\tSpecial:         pulumi.Bool(true),\n\t\t\tOverrideSpecial: pulumi.String(\"/@£$\"),\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.random.RandomString;\nimport com.pulumi.random.RandomStringArgs;\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 random = new RandomString(\"random\", RandomStringArgs.builder()\n            .length(16)\n            .special(true)\n            .overrideSpecial(\"/@£$\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  random:\n    type: random:RandomString\n    properties:\n      length: 16\n      special: true\n      overrideSpecial: /@£$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import external strings into your Pulumi programs as RandomString resources as follows:\n\n```sh\u003cbreak\u003e\n$ import random:index/randomString:RandomString newString myspecialdata\n\u003cbreak\u003e```\n\nThis command will encode the `myspecialdata` token in Pulumi state and generate a code suggestion to\ninclude a new RandomString resource in your Pulumi program. Include the suggested code and do a\n`pulumi up`. Your data is now stored in Pulumi, and you can reference it in your Pulumi program as\n`newString.result`.\n\nIf the data needs to be stored securily as a secret, consider using the RandomPassword resource\ninstead.\n\n```","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"result":{"type":"string","description":"The generated random string.\n"},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["length","lower","minLower","minNumeric","minSpecial","minUpper","number","numeric","result","special","upper"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["length"],"stateInputs":{"description":"Input properties used for looking up and filtering RandomString resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"length":{"type":"integer","description":"The length of the string desired. The minimum value for length is 1 and, length must also be \u003e= (\u003cspan pulumi-lang-nodejs=\"`minUpper`\" pulumi-lang-dotnet=\"`MinUpper`\" pulumi-lang-go=\"`minUpper`\" pulumi-lang-python=\"`min_upper`\" pulumi-lang-yaml=\"`minUpper`\" pulumi-lang-java=\"`minUpper`\"\u003e`min_upper`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minLower`\" pulumi-lang-dotnet=\"`MinLower`\" pulumi-lang-go=\"`minLower`\" pulumi-lang-python=\"`min_lower`\" pulumi-lang-yaml=\"`minLower`\" pulumi-lang-java=\"`minLower`\"\u003e`min_lower`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minNumeric`\" pulumi-lang-dotnet=\"`MinNumeric`\" pulumi-lang-go=\"`minNumeric`\" pulumi-lang-python=\"`min_numeric`\" pulumi-lang-yaml=\"`minNumeric`\" pulumi-lang-java=\"`minNumeric`\"\u003e`min_numeric`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`minSpecial`\" pulumi-lang-dotnet=\"`MinSpecial`\" pulumi-lang-go=\"`minSpecial`\" pulumi-lang-python=\"`min_special`\" pulumi-lang-yaml=\"`minSpecial`\" pulumi-lang-java=\"`minSpecial`\"\u003e`min_special`\u003c/span\u003e).\n"},"lower":{"type":"boolean","description":"Include lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"minLower":{"type":"integer","description":"Minimum number of lowercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minNumeric":{"type":"integer","description":"Minimum number of numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minSpecial":{"type":"integer","description":"Minimum number of special characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"minUpper":{"type":"integer","description":"Minimum number of uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"number":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. **NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead.\n","deprecationMessage":"**NOTE**: This is deprecated, use \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e instead."},"numeric":{"type":"boolean","description":"Include numeric characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`numeric`\" pulumi-lang-dotnet=\"`Numeric`\" pulumi-lang-go=\"`numeric`\" pulumi-lang-python=\"`numeric`\" pulumi-lang-yaml=\"`numeric`\" pulumi-lang-java=\"`numeric`\"\u003e`numeric`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upper`\" pulumi-lang-dotnet=\"`Upper`\" pulumi-lang-go=\"`upper`\" pulumi-lang-python=\"`upper`\" pulumi-lang-yaml=\"`upper`\" pulumi-lang-java=\"`upper`\"\u003e`upper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lower`\" pulumi-lang-dotnet=\"`Lower`\" pulumi-lang-go=\"`lower`\" pulumi-lang-python=\"`lower`\" pulumi-lang-yaml=\"`lower`\" pulumi-lang-java=\"`lower`\"\u003e`lower`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e are all configured, at least one of them must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"overrideSpecial":{"type":"string","description":"Supply your own list of special characters to use for string generation.  This overrides the default character list in the special argument.  The \u003cspan pulumi-lang-nodejs=\"`special`\" pulumi-lang-dotnet=\"`Special`\" pulumi-lang-go=\"`special`\" pulumi-lang-python=\"`special`\" pulumi-lang-yaml=\"`special`\" pulumi-lang-java=\"`special`\"\u003e`special`\u003c/span\u003e argument must still be set to true for any overwritten characters to be used in generation.\n"},"result":{"type":"string","description":"The generated random string.\n"},"special":{"type":"boolean","description":"Include special characters in the result. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"upper":{"type":"boolean","description":"Include uppercase alphabet characters in the result. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"random:index/randomUuid4:RandomUuid4":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomUuid4`\" pulumi-lang-dotnet=\"`random.RandomUuid4`\" pulumi-lang-go=\"`RandomUuid4`\" pulumi-lang-python=\"`RandomUuid4`\" pulumi-lang-yaml=\"`random.RandomUuid4`\" pulumi-lang-java=\"`random.RandomUuid4`\"\u003e`random.RandomUuid4`\u003c/span\u003e generates a random version 4 uuid string that is intended to be used as a unique identifier for other resources.\n\nThis resource uses [google/uuid](https://github.com/google/uuid) to generate a valid V4 UUID for use with services needing a unique string identifier.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a unique name for an Azure Resource Group.\nconst test = new random.RandomUuid4(\"test\", {});\nconst testResourceGroup = new azurerm.index.ResourceGroup(\"test\", {\n    name: `${test.result}-rg`,\n    location: \"Central US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\nimport pulumi_random as random\n\n# The following example shows how to generate a unique name for an Azure Resource Group.\ntest = random.RandomUuid4(\"test\")\ntest_resource_group = azurerm.index.ResourceGroup(\"test\",\n    name=f{test.result}-rg,\n    location=Central US)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a unique name for an Azure Resource Group.\n    var test = new Random.RandomUuid4(\"test\");\n\n    var testResourceGroup = new Azurerm.Index.ResourceGroup(\"test\", new()\n    {\n        Name = $\"{test.Result}-rg\",\n        Location = \"Central US\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a unique name for an Azure Resource Group.\n\t\ttest, err := random.NewRandomUuid4(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewResourceGroup(ctx, \"test\", \u0026azurerm.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-rg\", test.Result),\n\t\t\tLocation: \"Central US\",\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.random.RandomUuid4;\nimport com.pulumi.azurerm.ResourceGroup;\nimport com.pulumi.azurerm.ResourceGroupArgs;\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        // The following example shows how to generate a unique name for an Azure Resource Group.\n        var test = new RandomUuid4(\"test\");\n\n        var testResourceGroup = new ResourceGroup(\"testResourceGroup\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-rg\", test.result()))\n            .location(\"Central US\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a unique name for an Azure Resource Group.\n  test:\n    type: random:RandomUuid4\n  testResourceGroup:\n    type: azurerm:ResourceGroup\n    name: test\n    properties:\n      name: ${test.result}-rg\n      location: Central US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom UUID's can be imported. This can be used to replace a config\n\nvalue with a value interpolated from the random provider without\n\nexperiencing diffs.\n\n```sh\n$ pulumi import random:index/randomUuid4:RandomUuid4 main 7e4436da-7c71-486e-a57c-830b25fff7bd\n```\n\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"required":["result"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering RandomUuid4 resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"type":"object"}},"random:index/randomUuid7:RandomUuid7":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`random.RandomUuid7`\" pulumi-lang-dotnet=\"`random.RandomUuid7`\" pulumi-lang-go=\"`RandomUuid7`\" pulumi-lang-python=\"`RandomUuid7`\" pulumi-lang-yaml=\"`random.RandomUuid7`\" pulumi-lang-java=\"`random.RandomUuid7`\"\u003e`random.RandomUuid7`\u003c/span\u003e generates a random version 7 uuid string that is intended to be used as a unique identifier for other resources.\n\nThis resource uses [google/uuid](https://github.com/google/uuid) to generate a valid V7 UUID for use with services needing a unique string identifier.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a unique name for an Azure Resource Group.\nconst test = new random.RandomUuid7(\"test\", {});\nconst testResourceGroup = new azurerm.index.ResourceGroup(\"test\", {\n    name: `${test.result}-rg`,\n    location: \"Central US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\nimport pulumi_random as random\n\n# The following example shows how to generate a unique name for an Azure Resource Group.\ntest = random.RandomUuid7(\"test\")\ntest_resource_group = azurerm.index.ResourceGroup(\"test\",\n    name=f{test.result}-rg,\n    location=Central US)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a unique name for an Azure Resource Group.\n    var test = new Random.RandomUuid7(\"test\");\n\n    var testResourceGroup = new Azurerm.Index.ResourceGroup(\"test\", new()\n    {\n        Name = $\"{test.Result}-rg\",\n        Location = \"Central US\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a unique name for an Azure Resource Group.\n\t\ttest, err := random.NewRandomUuid7(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewResourceGroup(ctx, \"test\", \u0026azurerm.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-rg\", test.Result),\n\t\t\tLocation: \"Central US\",\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.random.RandomUuid7;\nimport com.pulumi.azurerm.ResourceGroup;\nimport com.pulumi.azurerm.ResourceGroupArgs;\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        // The following example shows how to generate a unique name for an Azure Resource Group.\n        var test = new RandomUuid7(\"test\");\n\n        var testResourceGroup = new ResourceGroup(\"testResourceGroup\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-rg\", test.result()))\n            .location(\"Central US\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a unique name for an Azure Resource Group.\n  test:\n    type: random:RandomUuid7\n  testResourceGroup:\n    type: azurerm:ResourceGroup\n    name: test\n    properties:\n      name: ${test.result}-rg\n      location: Central US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom UUID's can be imported. This can be used to replace a config\n\nvalue with a value interpolated from the random provider without\n\nexperiencing diffs.\n\n```sh\n$ pulumi import random:index/randomUuid7:RandomUuid7 main 0197ad85-fe6e-7e92-a2f5-7550daa83030\n```\n\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"required":["result"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering RandomUuid7 resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"type":"object"}},"random:index/randomUuid:RandomUuid":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\nimport * as random from \"@pulumi/random\";\n\n// The following example shows how to generate a unique name for an Azure Resource Group.\nconst test = new random.RandomUuid(\"test\", {});\nconst testResourceGroup = new azurerm.index.ResourceGroup(\"test\", {\n    name: `${test.result}-rg`,\n    location: \"Central US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\nimport pulumi_random as random\n\n# The following example shows how to generate a unique name for an Azure Resource Group.\ntest = random.RandomUuid(\"test\")\ntest_resource_group = azurerm.index.ResourceGroup(\"test\",\n    name=f{test.result}-rg,\n    location=Central US)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // The following example shows how to generate a unique name for an Azure Resource Group.\n    var test = new Random.RandomUuid(\"test\");\n\n    var testResourceGroup = new Azurerm.Index.ResourceGroup(\"test\", new()\n    {\n        Name = $\"{test.Result}-rg\",\n        Location = \"Central US\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\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// The following example shows how to generate a unique name for an Azure Resource Group.\n\t\ttest, err := random.NewRandomUuid(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewResourceGroup(ctx, \"test\", \u0026azurerm.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-rg\", test.Result),\n\t\t\tLocation: \"Central US\",\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.random.RandomUuid;\nimport com.pulumi.azurerm.ResourceGroup;\nimport com.pulumi.azurerm.ResourceGroupArgs;\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        // The following example shows how to generate a unique name for an Azure Resource Group.\n        var test = new RandomUuid(\"test\");\n\n        var testResourceGroup = new ResourceGroup(\"testResourceGroup\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-rg\", test.result()))\n            .location(\"Central US\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # The following example shows how to generate a unique name for an Azure Resource Group.\n  test:\n    type: random:RandomUuid\n  testResourceGroup:\n    type: azurerm:ResourceGroup\n    name: test\n    properties:\n      name: ${test.result}-rg\n      location: Central US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRandom UUID's can be imported. This can be used to replace a config\n\nvalue with a value interpolated from the random provider without\n\nexperiencing diffs.\n\n```sh\n$ pulumi import random:index/randomUuid:RandomUuid main aabbccdd-eeff-0011-2233-445566778899\n```\n\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"required":["result"],"inputProperties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering RandomUuid resources.\n","properties":{"keepers":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.\n"},"result":{"type":"string","description":"The generated uuid presented in string format.\n"}},"type":"object"}}},"functions":{"pulumi:providers:random/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:random/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}