adding the import documentation where specified (#5667)

This commit is contained in:
Paul Stack 2020-11-09 14:12:58 +00:00 committed by GitHub
parent 98a048b716
commit 3d8068e355
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 157 additions and 121 deletions

View file

@ -2,7 +2,10 @@ CHANGELOG
=========
## HEAD (Unreleased)
_(none)_
- [Docs] Add support for the generation of Import documentation in the resource docs.
This documentation will only be available if the resource is importable.
[#5667](https://github.com/pulumi/pulumi/pull/5667)
## 2.13.2 (2020-11-06)

View file

@ -47,7 +47,8 @@ func filterExamples(source []byte, node ast.Node, lang string) {
next = c.NextSibling()
switch c := c.(type) {
case *ast.FencedCodeBlock:
if string(c.Language(source)) != lang {
sourceLang := string(c.Language(source))
if sourceLang != lang && sourceLang != "sh" {
node.RemoveChild(node, c)
}
case *schema.Shortcode:

View file

@ -37,8 +37,9 @@ type exampleSection struct {
}
type docInfo struct {
description string
examples []exampleSection
description string
examples []exampleSection
importDetails string
}
func decomposeDocstring(docstring string) docInfo {
@ -116,9 +117,15 @@ func decomposeDocstring(docstring string) docInfo {
}
description := schema.RenderDocsToString(source, parsed)
importDetails := ""
parts := strings.Split(description, "\n\n## Import")
if len(parts) > 0 {
importDetails = parts[1]
}
return docInfo{
description: description,
examples: examples,
description: description,
examples: examples,
importDetails: importDetails,
}
}

View file

@ -232,6 +232,9 @@ type resourceDocArgs struct {
ExamplesSection []exampleSection
DeprecationMessage string
// Import
ImportDocs string
// ConstructorParams is a map from language to the rendered HTML for the constructor's
// arguments.
ConstructorParams map[string]string
@ -1405,6 +1408,7 @@ func (mod *modContext) genResource(r *schema.Resource) resourceDocArgs {
Comment: docInfo.description,
DeprecationMessage: r.DeprecationMessage,
ExamplesSection: docInfo.examples,
ImportDocs: docInfo.importDetails,
ConstructorParams: renderedCtorParams,
ConstructorParamsTyped: typedCtorParams,

View file

@ -157,6 +157,14 @@ func initTestPackageSpec(t *testing.T) {
` + codeFence + `
{{% /example %}}
{{% /examples %}}
## Import
The import docs would be here
` + codeFence + `sh
$ pulumi import prov:module/resource:Resource test test
` + codeFence + `
`,
},
InputProperties: map[string]schema.PropertySpec{
@ -398,6 +406,9 @@ func TestExamplesProcessing(t *testing.T) {
description := testPackageSpec.Resources["prov:module/resource:Resource"].Description
docInfo := decomposeDocstring(description)
examplesSection := docInfo.examples
importSection := docInfo.importDetails
assert.NotEmpty(t, importSection)
// The resource under test has two examples and both have TS and Python examples.
assert.Equal(t, 2, len(examplesSection))

View file

@ -185,4 +185,9 @@ The following state arguments are supported:
{{ end }}
{{ if .ImportDocs }}
## Import
{{ htmlSafe .ImportDocs }}
{{ end }}
{{ template "package_details" .PackageDetails }}

View file

@ -15,11 +15,11 @@
},
"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"
"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\n"
},
"resources": {
"random:index/randomId:RandomId": {
"description": "The resource `random..RandomId` generates random numbers that are intended to be\nused as unique identifiers for other resources.\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 `create_before_destroy` lifecycle flag set to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique name for an AWS EC2\ninstance that changes each time a new AMI id is selected.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst serverRandomId = new random.RandomId(\"server\", {\n byteLength: 8,\n keepers: {\n // Generate a new id each time we switch to a new AMI id\n ami_id: var_ami_id,\n },\n});\nconst serverInstance = new aws.ec2.Instance(\"server\", {\n ami: serverRandomId.keepers.apply(keepers =\u003e keepers.amiId),\n tags: {\n Name: pulumi.interpolate`web-server ${serverRandomId.hex}`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nserver_random_id = random.RandomId(\"serverRandomId\",\n byte_length=8,\n keepers={\n \"ami_id\": var[\"ami_id\"],\n })\nserver_instance = aws.ec2.Instance(\"serverInstance\",\n ami=server_random_id.keepers[\"amiId\"],\n tags={\n \"Name\": server_random_id.hex.apply(lambda hex: f\"web-server {hex}\"),\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var serverRandomId = new Random.RandomId(\"serverRandomId\", new Random.RandomIdArgs\n {\n ByteLength = 8,\n Keepers = \n {\n { \"ami_id\", @var.Ami_id },\n },\n });\n var serverInstance = new Aws.Ec2.Instance(\"serverInstance\", new Aws.Ec2.InstanceArgs\n {\n Ami = serverRandomId.Keepers.Apply(keepers =\u003e keepers.AmiId),\n Tags = \n {\n { \"Name\", serverRandomId.Hex.Apply(hex =\u003e $\"web-server {hex}\") },\n },\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomId` generates random numbers that are intended to be\nused as unique identifiers for other resources.\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 `create_before_destroy` lifecycle flag set to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique name for an AWS EC2\ninstance that changes each time a new AMI id is selected.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst serverRandomId = new random.RandomId(\"server\", {\n byteLength: 8,\n keepers: {\n // Generate a new id each time we switch to a new AMI id\n ami_id: var_ami_id,\n },\n});\nconst serverInstance = new aws.ec2.Instance(\"server\", {\n ami: serverRandomId.keepers.apply(keepers =\u003e keepers.amiId),\n tags: {\n Name: pulumi.interpolate`web-server ${serverRandomId.hex}`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nserver_random_id = random.RandomId(\"serverRandomId\",\n byte_length=8,\n keepers={\n \"ami_id\": var[\"ami_id\"],\n })\nserver_instance = aws.ec2.Instance(\"serverInstance\",\n ami=server_random_id.keepers[\"amiId\"],\n tags={\n \"Name\": server_random_id.hex.apply(lambda hex: f\"web-server {hex}\"),\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var serverRandomId = new Random.RandomId(\"serverRandomId\", new Random.RandomIdArgs\n {\n ByteLength = 8,\n Keepers = \n {\n { \"ami_id\", @var.Ami_id },\n },\n });\n var serverInstance = new Aws.Ec2.Instance(\"serverInstance\", new Aws.Ec2.InstanceArgs\n {\n Ami = serverRandomId.Keepers.Apply(keepers =\u003e keepers.AmiId),\n Tags = \n {\n { \"Name\", serverRandomId.Hex.Apply(hex =\u003e $\"web-server {hex}\") },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRandom Ids can be imported using the `b64_url` with an optional `prefix`. This can be used to replace a config value with a value interpolated from the random provider without experiencing diffs. Example with no prefix\n\n```sh\n $ pulumi import random:index/randomId:RandomId server p-9hUg\n```\n\n Example 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": {
"b64": {
"type": "string",
@ -27,34 +27,34 @@
},
"b64Std": {
"type": "string",
"description": "The generated id presented in base64 without additional transformations.\n"
"description": "The generated id presented in base64 without additional transformations.\n\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"
"description": "The generated id presented in base64, using the URL-friendly character set: case-sensitive letters, digits and the characters `_` and `-`.\n\n"
},
"byteLength": {
"type": "integer",
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n"
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n\n"
},
"dec": {
"type": "string",
"description": "The generated id presented in non-padded decimal digits.\n"
"description": "The generated id presented in non-padded decimal digits.\n\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"
"description": "The generated id presented in padded hexadecimal digits. This result will always be twice as long as the requested byte length.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"prefix": {
"type": "string",
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n"
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n\n"
}
},
"required": [
@ -68,25 +68,25 @@
"inputProperties": {
"byteLength": {
"type": "integer",
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n"
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"prefix": {
"type": "string",
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n"
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n\n"
}
},
"requiredInputs": [
"byteLength"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomId resources.\n",
"description": "Input properties used for looking up and filtering RandomId resources.\n\n",
"properties": {
"b64": {
"type": "string",
@ -94,64 +94,64 @@
},
"b64Std": {
"type": "string",
"description": "The generated id presented in base64 without additional transformations.\n"
"description": "The generated id presented in base64 without additional transformations.\n\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"
"description": "The generated id presented in base64, using the URL-friendly character set: case-sensitive letters, digits and the characters `_` and `-`.\n\n"
},
"byteLength": {
"type": "integer",
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n"
"description": "The number of random bytes to produce. The\nminimum value is 1, which produces eight bits of randomness.\n\n"
},
"dec": {
"type": "string",
"description": "The generated id presented in non-padded decimal digits.\n"
"description": "The generated id presented in non-padded decimal digits.\n\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"
"description": "The generated id presented in padded hexadecimal digits. This result will always be twice as long as the requested byte length.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"prefix": {
"type": "string",
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n"
"description": "Arbitrary string to prefix the output value with. This\nstring is supplied as-is, meaning it is not guaranteed to be URL-safe or\nbase64 encoded.\n\n"
}
},
"type": "object"
}
},
"random:index/randomInteger:RandomInteger": {
"description": "The resource `random..RandomInteger` generates random values from a given range, described by the `min` and `max` attributes of a given resource.\n\nThis resource can be used in conjunction with resources that have\nthe `create_before_destroy` lifecycle flag set, to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a random priority between 1 and 50000 for\na `aws_alb_listener_rule` resource:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst priority = new random.RandomInteger(\"priority\", {\n keepers: {\n // Generate a new integer each time we switch to a new listener ARN\n listener_arn: var_listener_arn,\n },\n max: 50000,\n min: 1,\n});\nconst main = new aws.alb.ListenerRule(\"main\", {\n actions: [{\n targetGroupArn: var_target_group_arn,\n type: \"forward\",\n }],\n listenerArn: var_listener_arn,\n priority: priority.result,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\npriority = random.RandomInteger(\"priority\",\n keepers={\n \"listener_arn\": var[\"listener_arn\"],\n },\n max=50000,\n min=1)\nmain = aws.alb.ListenerRule(\"main\",\n actions=[{\n \"target_group_arn\": var[\"target_group_arn\"],\n \"type\": \"forward\",\n }],\n listener_arn=var[\"listener_arn\"],\n priority=priority.result)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var priority = new Random.RandomInteger(\"priority\", new Random.RandomIntegerArgs\n {\n Keepers = \n {\n { \"listener_arn\", @var.Listener_arn },\n },\n Max = 50000,\n Min = 1,\n });\n var main = new Aws.Alb.ListenerRule(\"main\", new Aws.Alb.ListenerRuleArgs\n {\n Actions = \n {\n new Aws.Alb.Inputs.ListenerRuleActionArgs\n {\n TargetGroupArn = @var.Target_group_arn,\n Type = \"forward\",\n },\n },\n ListenerArn = @var.Listener_arn,\n Priority = priority.Result,\n });\n }\n\n}\n```\n\nThe result of the above will set a random priority.\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomInteger` generates random values from a given range, described by the `min` and `max` attributes of a given resource.\n\nThis resource can be used in conjunction with resources that have\nthe `create_before_destroy` lifecycle flag set, to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a random priority between 1 and 50000 for\na `aws_alb_listener_rule` resource:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst priority = new random.RandomInteger(\"priority\", {\n keepers: {\n // Generate a new integer each time we switch to a new listener ARN\n listener_arn: var_listener_arn,\n },\n max: 50000,\n min: 1,\n});\nconst main = new aws.alb.ListenerRule(\"main\", {\n actions: [{\n targetGroupArn: var_target_group_arn,\n type: \"forward\",\n }],\n listenerArn: var_listener_arn,\n priority: priority.result,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\npriority = random.RandomInteger(\"priority\",\n keepers={\n \"listener_arn\": var[\"listener_arn\"],\n },\n max=50000,\n min=1)\nmain = aws.alb.ListenerRule(\"main\",\n actions=[aws.alb.ListenerRuleActionArgs(\n target_group_arn=var[\"target_group_arn\"],\n type=\"forward\",\n )],\n listener_arn=var[\"listener_arn\"],\n priority=priority.result)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var priority = new Random.RandomInteger(\"priority\", new Random.RandomIntegerArgs\n {\n Keepers = \n {\n { \"listener_arn\", @var.Listener_arn },\n },\n Max = 50000,\n Min = 1,\n });\n var main = new Aws.Alb.ListenerRule(\"main\", new Aws.Alb.ListenerRuleArgs\n {\n Actions = \n {\n new Aws.Alb.Inputs.ListenerRuleActionArgs\n {\n TargetGroupArn = @var.Target_group_arn,\n Type = \"forward\",\n },\n },\n ListenerArn = @var.Listener_arn,\n Priority = priority.Result,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/alb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpriority, err := random.NewRandomInteger(ctx, \"priority\", \u0026random.RandomIntegerArgs{\n\t\t\tKeepers: pulumi.AnyMap{\n\t\t\t\t\"listener_arn\": pulumi.Any(_var.Listener_arn),\n\t\t\t},\n\t\t\tMax: pulumi.Int(50000),\n\t\t\tMin: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewListenerRule(ctx, \"main\", \u0026alb.ListenerRuleArgs{\n\t\t\tActions: alb.ListenerRuleActionArray{\n\t\t\t\t\u0026alb.ListenerRuleActionArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(_var.Target_group_arn),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tListenerArn: pulumi.Any(_var.Listener_arn),\n\t\t\tPriority: priority.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\nThe result of the above will set a random priority.\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRandom integers can be imported using the `result`, `min`, and `max`, with an optional `seed`. This can be used to replace a config value with a value interpolated from the random provider without experiencing diffs. Example (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": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"max": {
"type": "integer",
"description": "The maximum inclusive value of the range.\n"
"description": "The maximum inclusive value of the range.\n\n"
},
"min": {
"type": "integer",
"description": "The minimum inclusive value of the range.\n"
"description": "The minimum inclusive value of the range.\n\n"
},
"result": {
"type": "integer",
"description": "(int) The random Integer result.\n"
"description": "(int) The random Integer result.\n\n"
},
"seed": {
"type": "string",
"description": "A custom seed to always produce the same value.\n"
"description": "A custom seed to always produce the same value.\n\n"
}
},
"required": [
@ -165,19 +165,19 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"max": {
"type": "integer",
"description": "The maximum inclusive value of the range.\n"
"description": "The maximum inclusive value of the range.\n\n"
},
"min": {
"type": "integer",
"description": "The minimum inclusive value of the range.\n"
"description": "The minimum inclusive value of the range.\n\n"
},
"seed": {
"type": "string",
"description": "A custom seed to always produce the same value.\n"
"description": "A custom seed to always produce the same value.\n\n"
}
},
"requiredInputs": [
@ -185,37 +185,37 @@
"min"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomInteger resources.\n",
"description": "Input properties used for looking up and filtering RandomInteger resources.\n\n",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"max": {
"type": "integer",
"description": "The maximum inclusive value of the range.\n"
"description": "The maximum inclusive value of the range.\n\n"
},
"min": {
"type": "integer",
"description": "The minimum inclusive value of the range.\n"
"description": "The minimum inclusive value of the range.\n\n"
},
"result": {
"type": "integer",
"description": "(int) The random Integer result.\n"
"description": "(int) The random Integer result.\n\n"
},
"seed": {
"type": "string",
"description": "A custom seed to always produce the same value.\n"
"description": "A custom seed to always produce the same value.\n\n"
}
},
"type": "object"
}
},
"random:index/randomPassword:RandomPassword": {
"description": "\u003e **Note:** Requires random provider version \u003e= 2.2.0\n\nIdentical to random..RandomString with the exception that the\nresult is treated as sensitive and, thus, _not_ displayed in console output.\n\n\u003e **Note:** All attributes including the generated password will be stored in\nthe raw state as plain-text. [Read more about sensitive data in\nstate](https://www.terraform.io/docs/state/sensitive-data.html).\n\nThis resource *does* use a cryptographic random number generator.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: `_%@`,\n});\nconst example = new aws.rds.Instance(\"example\", {\n instanceClass: \"db.t3.micro\",\n allocatedStorage: 64,\n engine: \"mysql\",\n username: \"someone\",\n password: random_string.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=\"_%@\")\nexample = aws.rds.Instance(\"example\",\n instance_class=\"db.t3.micro\",\n allocated_storage=64,\n engine=\"mysql\",\n username=\"someone\",\n password=random_string[\"password\"][\"result\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var password = new Random.RandomPassword(\"password\", new Random.RandomPasswordArgs\n {\n Length = 16,\n Special = true,\n OverrideSpecial = \"_%@\",\n });\n var example = new Aws.Rds.Instance(\"example\", new Aws.Rds.InstanceArgs\n {\n InstanceClass = \"db.t3.micro\",\n AllocatedStorage = 64,\n Engine = \"mysql\",\n Username = \"someone\",\n Password = random_string.Password.Result,\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "Identical to the `random.RandomString` resource with the exception that the\nresult is treated as sensitive and, thus, _not_ displayed in console output.\n\n\u003e **Note:** All attributes including the generated password will be stored in\nthe raw state as plain-text.\n\nThis resource *does* use a cryptographic random number generator.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: `_%@`,\n});\nconst example = new aws.rds.Instance(\"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=\"_%@\")\nexample = aws.rds.Instance(\"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 Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var password = new Random.RandomPassword(\"password\", new Random.RandomPasswordArgs\n {\n Length = 16,\n Special = true,\n OverrideSpecial = \"_%@\",\n });\n var example = new Aws.Rds.Instance(\"example\", new Aws.Rds.InstanceArgs\n {\n InstanceClass = \"db.t3.micro\",\n AllocatedStorage = 64,\n Engine = \"mysql\",\n Username = \"someone\",\n Password = password.Result,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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(fmt.Sprintf(\"%v%v%v\", \"_\", \"%\", \"@\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tAllocatedStorage: pulumi.Int(64),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tUsername: pulumi.String(\"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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRandom Password can be imported by specifying the value of the string\n\n```sh\n $ pulumi import random:index/randomPassword:RandomPassword password securepassword\n```\n\n ",
"properties": {
"keepers": {
"type": "object",
@ -303,7 +303,7 @@
"length"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomPassword resources.\n",
"description": "Input properties used for looking up and filtering RandomPassword resources.\n\n",
"properties": {
"keepers": {
"type": "object",
@ -349,26 +349,26 @@
}
},
"random:index/randomPet:RandomPet": {
"description": "The resource `random..RandomPet` generates random pet names that are intended to be\nused as unique identifiers for other resources.\n\nThis resource can be used in conjunction with resources that have\nthe `create_before_destroy` lifecycle flag set, to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique pet name for an AWS EC2\ninstance that changes each time a new AMI id is selected.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst serverRandomPet = new random.RandomPet(\"server\", {\n keepers: {\n // Generate a new pet name each time we switch to a new AMI id\n ami_id: var_ami_id,\n },\n});\nconst serverInstance = new aws.ec2.Instance(\"server\", {\n ami: serverRandomPet.keepers.apply(keepers =\u003e keepers.amiId),\n tags: {\n Name: pulumi.interpolate`web-server-${serverRandomPet.id}`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nserver_random_pet = random.RandomPet(\"serverRandomPet\", keepers={\n \"ami_id\": var[\"ami_id\"],\n})\nserver_instance = aws.ec2.Instance(\"serverInstance\",\n ami=server_random_pet.keepers[\"amiId\"],\n tags={\n \"Name\": server_random_pet.id.apply(lambda id: f\"web-server-{id}\"),\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var serverRandomPet = new Random.RandomPet(\"serverRandomPet\", new Random.RandomPetArgs\n {\n Keepers = \n {\n { \"ami_id\", @var.Ami_id },\n },\n });\n var serverInstance = new Aws.Ec2.Instance(\"serverInstance\", new Aws.Ec2.InstanceArgs\n {\n Ami = serverRandomPet.Keepers.Apply(keepers =\u003e keepers.AmiId),\n Tags = \n {\n { \"Name\", serverRandomPet.Id.Apply(id =\u003e $\"web-server-{id}\") },\n },\n });\n }\n\n}\n```\n\nThe result of the above will set the Name of the AWS Instance to\n`web-server-simple-snake`.\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomPet` generates random pet names that are intended to be\nused as unique identifiers for other resources.\n\nThis resource can be used in conjunction with resources that have\nthe `create_before_destroy` lifecycle flag set, to avoid conflicts with\nunique names during the brief period where both the old and new resources\nexist concurrently.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique pet name for an AWS EC2\ninstance that changes each time a new AMI id is selected.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst serverRandomPet = new random.RandomPet(\"server\", {\n keepers: {\n // Generate a new pet name each time we switch to a new AMI id\n ami_id: var_ami_id,\n },\n});\nconst serverInstance = new aws.ec2.Instance(\"server\", {\n ami: serverRandomPet.keepers.apply(keepers =\u003e keepers.amiId),\n tags: {\n Name: pulumi.interpolate`web-server-${serverRandomPet.id}`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nserver_random_pet = random.RandomPet(\"serverRandomPet\", keepers={\n \"ami_id\": var[\"ami_id\"],\n})\nserver_instance = aws.ec2.Instance(\"serverInstance\",\n ami=server_random_pet.keepers[\"amiId\"],\n tags={\n \"Name\": server_random_pet.id.apply(lambda id: f\"web-server-{id}\"),\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var serverRandomPet = new Random.RandomPet(\"serverRandomPet\", new Random.RandomPetArgs\n {\n Keepers = \n {\n { \"ami_id\", @var.Ami_id },\n },\n });\n var serverInstance = new Aws.Ec2.Instance(\"serverInstance\", new Aws.Ec2.InstanceArgs\n {\n Ami = serverRandomPet.Keepers.Apply(keepers =\u003e keepers.AmiId),\n Tags = \n {\n { \"Name\", serverRandomPet.Id.Apply(id =\u003e $\"web-server-{id}\") },\n },\n });\n }\n\n}\n```\n\nThe result of the above will set the Name of the AWS Instance to\n`web-server-simple-snake`.\n{{% /example %}}\n{{% /examples %}}",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length (in words) of the pet name.\n"
"description": "The length (in words) of the pet name.\n\n"
},
"prefix": {
"type": "string",
"description": "A string to prefix the name with.\n"
"description": "A string to prefix the name with.\n\n"
},
"separator": {
"type": "string",
"description": "The character to separate words in the pet name.\n"
"description": "The character to separate words in the pet name.\n\n"
}
},
"inputProperties": {
@ -377,77 +377,78 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length (in words) of the pet name.\n"
"description": "The length (in words) of the pet name.\n\n"
},
"prefix": {
"type": "string",
"description": "A string to prefix the name with.\n"
"description": "A string to prefix the name with.\n\n"
},
"separator": {
"type": "string",
"description": "The character to separate words in the pet name.\n"
"description": "The character to separate words in the pet name.\n\n"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomPet resources.\n",
"description": "Input properties used for looking up and filtering RandomPet resources.\n\n",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length (in words) of the pet name.\n"
"description": "The length (in words) of the pet name.\n\n"
},
"prefix": {
"type": "string",
"description": "A string to prefix the name with.\n"
"description": "A string to prefix the name with.\n\n"
},
"separator": {
"type": "string",
"description": "The character to separate words in the pet name.\n"
"description": "The character to separate words in the pet name.\n\n"
}
},
"type": "object"
}
},
"random:index/randomShuffle:RandomShuffle": {
"description": "The resource `random..RandomShuffle` generates a random permutation of a list\nof strings given as an argument.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.elb.LoadBalancer(\"example\", {\n // Place the ELB in any two of the given availability zones, selected\n // at random.\n availabilityZones: az.results,\n});\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.elb.LoadBalancer(\"example\", availability_zones=az.results)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var az = new Random.RandomShuffle(\"az\", new Random.RandomShuffleArgs\n {\n Inputs = \n {\n \"us-west-1a\",\n \"us-west-1c\",\n \"us-west-1d\",\n \"us-west-1e\",\n },\n ResultCount = 2,\n });\n var example = new Aws.Elb.LoadBalancer(\"example\", new Aws.Elb.LoadBalancerArgs\n {\n AvailabilityZones = az.Results,\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomShuffle` generates a random permutation of a list\nof strings given as an argument.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.elb.LoadBalancer(\"example\", {\n // Place the ELB in any two of the given availability zones, selected\n // at random.\n availabilityZones: az.results,\n});\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.elb.LoadBalancer(\"example\", availability_zones=az.results)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var az = new Random.RandomShuffle(\"az\", new Random.RandomShuffleArgs\n {\n Inputs = \n {\n \"us-west-1a\",\n \"us-west-1c\",\n \"us-west-1d\",\n \"us-west-1e\",\n },\n ResultCount = 2,\n });\n var example = new Aws.Elb.LoadBalancer(\"example\", new Aws.Elb.LoadBalancerArgs\n {\n AvailabilityZones = az.Results,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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 = elb.NewLoadBalancer(ctx, \"example\", \u0026elb.LoadBalancerArgs{\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{{% /example %}}\n{{% /examples %}}",
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of strings to shuffle.\n"
"description": "The list of strings to shuffle.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"resultCount": {
"type": "integer",
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n"
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n\n"
},
"results": {
"type": "array",
"items": {
"type": "string"
},
"description": "Random permutation of the list of strings given in `input`.\n"
"description": "Random permutation of the list of strings given in `input`.\n\n"
},
"seed": {
"type": "string"
"type": "string",
"description": "Arbitrary string with which to seed the random number\ngenerator, in order to produce less-volatile permutations of the list.\n**Important:** Even with an identical seed, it is not guaranteed that the\nsame permutation will be produced across different versions of the provider.\nThis argument causes the result to be *less volatile*, but not fixed for\nall time.\n\n"
}
},
"required": [
@ -460,114 +461,116 @@
"items": {
"type": "string"
},
"description": "The list of strings to shuffle.\n"
"description": "The list of strings to shuffle.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"resultCount": {
"type": "integer",
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n"
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n\n"
},
"seed": {
"type": "string"
"type": "string",
"description": "Arbitrary string with which to seed the random number\ngenerator, in order to produce less-volatile permutations of the list.\n**Important:** Even with an identical seed, it is not guaranteed that the\nsame permutation will be produced across different versions of the provider.\nThis argument causes the result to be *less volatile*, but not fixed for\nall time.\n\n"
}
},
"requiredInputs": [
"inputs"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomShuffle resources.\n",
"description": "Input properties used for looking up and filtering RandomShuffle resources.\n\n",
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of strings to shuffle.\n"
"description": "The list of strings to shuffle.\n\n"
},
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"resultCount": {
"type": "integer",
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n"
"description": "The number of results to return. Defaults to\nthe number of items in the `input` list. If fewer items are requested,\nsome elements will be excluded from the result. If more items are requested,\nitems will be repeated in the result but not more frequently than the number\nof items in the input list.\n\n"
},
"results": {
"type": "array",
"items": {
"type": "string"
},
"description": "Random permutation of the list of strings given in `input`.\n"
"description": "Random permutation of the list of strings given in `input`.\n\n"
},
"seed": {
"type": "string"
"type": "string",
"description": "Arbitrary string with which to seed the random number\ngenerator, in order to produce less-volatile permutations of the list.\n**Important:** Even with an identical seed, it is not guaranteed that the\nsame permutation will be produced across different versions of the provider.\nThis argument causes the result to be *less volatile*, but not fixed for\nall time.\n\n"
}
},
"type": "object"
}
},
"random:index/randomString:RandomString": {
"description": "The resource `random..RandomString` generates a random permutation of alphanumeric\ncharacters 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\nused it in a password. For backwards compatibility it will\ncontinue to exist. For unique ids please use random_id, for sensitive\nrandom values please use random_password.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as random from \"@pulumi/random\";\n\nconst randomRandomString = new random.RandomString(\"random\", {\n length: 16,\n overrideSpecial: \"/@£$\",\n special: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_random as random\n\nrandom = random.RandomString(\"random\",\n length=16,\n override_special=\"/@£$$\",\n special=True)\n```\n```csharp\nusing Pulumi;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var random = new Random.RandomString(\"random\", new Random.RandomStringArgs\n {\n Length = 16,\n OverrideSpecial = \"/@£$$\",\n Special = true,\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomString` generates a random permutation of alphanumeric\ncharacters 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\nused it in a password. For backwards compatibility it will\ncontinue to exist. For unique ids please use the `random.RandomId` resource, for sensitive\nrandom values please use the `random.RandomPassword` resource.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as random from \"@pulumi/random\";\n\nconst randomRandomString = new random.RandomString(\"random\", {\n length: 16,\n overrideSpecial: \"/@£$\",\n special: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_random as random\n\nrandom = random.RandomString(\"random\",\n length=16,\n override_special=\"/@£$\",\n special=True)\n```\n```csharp\nusing Pulumi;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var random = new Random.RandomString(\"random\", new Random.RandomStringArgs\n {\n Length = 16,\n OverrideSpecial = \"/@£$\",\n Special = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tOverrideSpecial: pulumi.String(fmt.Sprintf(\"%v%v\", \"/@£\", \"$\")),\n\t\t\tSpecial: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nStrings can be imported by just specifying the value of the string\n\n```sh\n $ pulumi import random:index/randomString:RandomString test test\n```\n\n ",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length of the string desired\n"
"description": "The length of the string desired\n\n"
},
"lower": {
"type": "boolean",
"description": "(default true) Include lowercase alphabet characters\nin random string.\n"
"description": "(default true) Include lowercase alphabet characters\nin random string.\n\n"
},
"minLower": {
"type": "integer",
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n\n"
},
"minNumeric": {
"type": "integer",
"description": "(default 0) Minimum number of numeric characters\nin random string.\n"
"description": "(default 0) Minimum number of numeric characters\nin random string.\n\n"
},
"minSpecial": {
"type": "integer",
"description": "(default 0) Minimum number of special characters\nin random string.\n"
"description": "(default 0) Minimum number of special characters\nin random string.\n\n"
},
"minUpper": {
"type": "integer",
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n\n"
},
"number": {
"type": "boolean",
"description": "(default true) Include numeric characters in random\nstring.\n"
"description": "(default true) Include numeric characters in random\nstring.\n\n"
},
"overrideSpecial": {
"type": "string",
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n"
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n\n"
},
"result": {
"type": "string",
"description": "Random string generated.\n"
"description": "Random string generated.\n\n"
},
"special": {
"type": "boolean",
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n"
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n\n"
},
"upper": {
"type": "boolean",
"description": "(default true) Include uppercase alphabet characters\nin random string.\n"
"description": "(default true) Include uppercase alphabet characters\nin random string.\n\n"
}
},
"required": [
@ -580,123 +583,123 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length of the string desired\n"
"description": "The length of the string desired\n\n"
},
"lower": {
"type": "boolean",
"description": "(default true) Include lowercase alphabet characters\nin random string.\n"
"description": "(default true) Include lowercase alphabet characters\nin random string.\n\n"
},
"minLower": {
"type": "integer",
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n\n"
},
"minNumeric": {
"type": "integer",
"description": "(default 0) Minimum number of numeric characters\nin random string.\n"
"description": "(default 0) Minimum number of numeric characters\nin random string.\n\n"
},
"minSpecial": {
"type": "integer",
"description": "(default 0) Minimum number of special characters\nin random string.\n"
"description": "(default 0) Minimum number of special characters\nin random string.\n\n"
},
"minUpper": {
"type": "integer",
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n\n"
},
"number": {
"type": "boolean",
"description": "(default true) Include numeric characters in random\nstring.\n"
"description": "(default true) Include numeric characters in random\nstring.\n\n"
},
"overrideSpecial": {
"type": "string",
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n"
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n\n"
},
"special": {
"type": "boolean",
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n"
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n\n"
},
"upper": {
"type": "boolean",
"description": "(default true) Include uppercase alphabet characters\nin random string.\n"
"description": "(default true) Include uppercase alphabet characters\nin random string.\n\n"
}
},
"requiredInputs": [
"length"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomString resources.\n",
"description": "Input properties used for looking up and filtering RandomString resources.\n\n",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new id to be generated.\n\n"
},
"length": {
"type": "integer",
"description": "The length of the string desired\n"
"description": "The length of the string desired\n\n"
},
"lower": {
"type": "boolean",
"description": "(default true) Include lowercase alphabet characters\nin random string.\n"
"description": "(default true) Include lowercase alphabet characters\nin random string.\n\n"
},
"minLower": {
"type": "integer",
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of lowercase alphabet\ncharacters in random string.\n\n"
},
"minNumeric": {
"type": "integer",
"description": "(default 0) Minimum number of numeric characters\nin random string.\n"
"description": "(default 0) Minimum number of numeric characters\nin random string.\n\n"
},
"minSpecial": {
"type": "integer",
"description": "(default 0) Minimum number of special characters\nin random string.\n"
"description": "(default 0) Minimum number of special characters\nin random string.\n\n"
},
"minUpper": {
"type": "integer",
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n"
"description": "(default 0) Minimum number of uppercase alphabet\ncharacters in random string.\n\n"
},
"number": {
"type": "boolean",
"description": "(default true) Include numeric characters in random\nstring.\n"
"description": "(default true) Include numeric characters in random\nstring.\n\n"
},
"overrideSpecial": {
"type": "string",
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n"
"description": "Supply your own list of special characters to\nuse for string generation. This overrides the default character list in the special\nargument. The special argument must still be set to true for any overwritten\ncharacters to be used in generation.\n\n"
},
"result": {
"type": "string",
"description": "Random string generated.\n"
"description": "Random string generated.\n\n"
},
"special": {
"type": "boolean",
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n"
"description": "(default true) Include special characters in random\nstring. These are `!@#$%\u0026*()-_=+[]{}\u003c\u003e:?`\n\n"
},
"upper": {
"type": "boolean",
"description": "(default true) Include uppercase alphabet characters\nin random string.\n"
"description": "(default true) Include uppercase alphabet characters\nin random string.\n\n"
}
},
"type": "object"
}
},
"random:index/randomUuid:RandomUuid": {
"description": "The resource `random..RandomUuid` generates random uuid string that is intended to be\nused as unique identifiers for other resources.\n\nThis resource uses the `hashicorp/go-uuid` to generate a UUID-formatted string\nfor use with services needed a unique string identifier.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique name for an Azure Resource Group.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst testRandomUuid = new random.RandomUuid(\"test\", {});\nconst testResourceGroup = new azure.core.ResourceGroup(\"test\", {\n location: \"Central US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\ntest_random_uuid = random.RandomUuid(\"testRandomUuid\")\ntest_resource_group = azure.core.ResourceGroup(\"testResourceGroup\", location=\"Central US\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var testRandomUuid = new Random.RandomUuid(\"testRandomUuid\", new Random.RandomUuidArgs\n {\n });\n var testResourceGroup = new Azure.Core.ResourceGroup(\"testResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Central US\",\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
"description": "The resource `random.RandomUuid` generates random uuid string that is intended to be\nused as unique identifiers for other resources.\n\nThis resource uses the `hashicorp/go-uuid` to generate a UUID-formatted string\nfor use with services needed a unique string identifier.\n\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to generate a unique name for an Azure Resource Group.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst testRandomUuid = new random.RandomUuid(\"test\", {});\nconst testResourceGroup = new azure.core.ResourceGroup(\"test\", {\n location: \"Central US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\ntest_random_uuid = random.RandomUuid(\"testRandomUuid\")\ntest_resource_group = azure.core.ResourceGroup(\"testResourceGroup\", location=\"Central US\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var testRandomUuid = new Random.RandomUuid(\"testRandomUuid\", new Random.RandomUuidArgs\n {\n });\n var testResourceGroup = new Azure.Core.ResourceGroup(\"testResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Central US\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomUuid(ctx, \"testRandomUuid\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroup(ctx, \"testResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRandom UUID's can be imported. This can be used to replace a config value with a value interpolated from the random provider without experiencing diffs. Example\n\n```sh\n $ pulumi import random:index/randomUuid:RandomUuid main aabbccdd-eeff-0011-2233-445566778899\n```\n\n ",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated.\n\n"
},
"result": {
"type": "string",
"description": "The generated uuid presented in string format.\n"
"description": "The generated uuid presented in string format.\n\n"
}
},
"required": [
@ -708,22 +711,22 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated.\n\n"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering RandomUuid resources.\n",
"description": "Input properties used for looking up and filtering RandomUuid resources.\n\n",
"properties": {
"keepers": {
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated. See\nthe main provider documentation for more information.\n"
"description": "Arbitrary map of values that, when changed, will\ntrigger a new uuid to be generated.\n\n"
},
"result": {
"type": "string",
"description": "The generated uuid presented in string format.\n"
"description": "The generated uuid presented in string format.\n\n"
}
},
"type": "object"
@ -754,9 +757,11 @@
"typescriptVersion": ""
},
"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/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-providers/terraform-provider-random` repo](https://github.com/terraform-providers/terraform-provider-random/issues).",
"requires": {
"pulumi": "\u003e=2.0.0,\u003c3.0.0"
}
"pulumi": "\u003e=2.9.0,\u003c3.0.0"
},
"usesIOClasses": true
}
}
}
}