{"name":"minio","version":"0.16.8","description":"A Pulumi package for creating and managing minio cloud resources.","keywords":["pulumi","minio"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`minio` Terraform Provider](https://github.com/aminueza/terraform-provider-minio).","repository":"https://github.com/pulumi/pulumi-minio","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-minio/sdk/go/minio","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing minio cloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/aminueza/terraform-provider-minio)\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-minio` repo](https://github.com/pulumi/pulumi-minio/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-minio` repo](https://github.com/aminueza/terraform-provider-minio/issues).","devDependencies":{"@types/mime":"^2.0.0","@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/aminueza/terraform-provider-minio)\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-minio` repo](https://github.com/pulumi/pulumi-minio/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-minio` repo](https://github.com/aminueza/terraform-provider-minio/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"minioAccessKey":{"type":"string","description":"Minio Access Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioUser \" pulumi-lang-dotnet=\" MinioUser \" pulumi-lang-go=\" minioUser \" pulumi-lang-python=\" minio_user \" pulumi-lang-yaml=\" minioUser \" pulumi-lang-java=\" minioUser \"\u003e minio_user \u003c/span\u003einstead"},"minioApiVersion":{"type":"string","description":"Minio API Version (type: string, options: v2 or v4, default: v4)"},"minioCacertFile":{"type":"string"},"minioCertFile":{"type":"string"},"minioInsecure":{"type":"boolean","description":"Disable SSL certificate verification (default: false)"},"minioKeyFile":{"type":"string"},"minioPassword":{"type":"string","description":"Minio Password"},"minioRegion":{"type":"string","description":"Minio Region (default: us-east-1)"},"minioSecretKey":{"type":"string","description":"Minio Secret Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioPassword \" pulumi-lang-dotnet=\" MinioPassword \" pulumi-lang-go=\" minioPassword \" pulumi-lang-python=\" minio_password \" pulumi-lang-yaml=\" minioPassword \" pulumi-lang-java=\" minioPassword \"\u003e minio_password \u003c/span\u003einstead"},"minioServer":{"type":"string","description":"Minio Host and Port"},"minioSessionToken":{"type":"string","description":"Minio Session Token"},"minioSsl":{"type":"boolean","description":"Minio SSL enabled (default: false)"},"minioUser":{"type":"string","description":"Minio User"}},"defaults":["minioServer"]},"types":{"minio:index/IlmPolicyRule:IlmPolicyRule":{"properties":{"expiration":{"type":"string"},"filter":{"type":"string"},"id":{"type":"string","description":"The ID of this resource.\n"},"noncurrentVersionExpirationDays":{"type":"integer"},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","status"]}}},"minio:index/S3BucketNotificationQueue:S3BucketNotificationQueue":{"properties":{"events":{"type":"array","items":{"type":"string"}},"filterPrefix":{"type":"string"},"filterSuffix":{"type":"string"},"id":{"type":"string","description":"The ID of this resource.\n"},"queueArn":{"type":"string"}},"type":"object","required":["events","queueArn"],"language":{"nodejs":{"requiredOutputs":["events","id","queueArn"]}}},"minio:index/S3BucketVersioningVersioningConfiguration:S3BucketVersioningVersioningConfiguration":{"properties":{"excludeFolders":{"type":"boolean"},"excludedPrefixes":{"type":"array","items":{"type":"string"}},"status":{"type":"string"}},"type":"object","required":["status"]},"minio:index/getIamPolicyDocumentStatement:getIamPolicyDocumentStatement":{"properties":{"actions":{"type":"array","items":{"type":"string"}},"conditions":{"type":"array","items":{"$ref":"#/types/minio:index/getIamPolicyDocumentStatementCondition:getIamPolicyDocumentStatementCondition"}},"effect":{"type":"string"},"principal":{"type":"string"},"resources":{"type":"array","items":{"type":"string"}},"sid":{"type":"string"}},"type":"object"},"minio:index/getIamPolicyDocumentStatementCondition:getIamPolicyDocumentStatementCondition":{"properties":{"test":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"variable":{"type":"string"}},"type":"object","required":["test","values","variable"]}},"provider":{"description":"The provider type for the minio package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"minioAccessKey":{"type":"string","description":"Minio Access Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioUser \" pulumi-lang-dotnet=\" MinioUser \" pulumi-lang-go=\" minioUser \" pulumi-lang-python=\" minio_user \" pulumi-lang-yaml=\" minioUser \" pulumi-lang-java=\" minioUser \"\u003e minio_user \u003c/span\u003einstead"},"minioApiVersion":{"type":"string","description":"Minio API Version (type: string, options: v2 or v4, default: v4)"},"minioCacertFile":{"type":"string"},"minioCertFile":{"type":"string"},"minioInsecure":{"type":"boolean","description":"Disable SSL certificate verification (default: false)"},"minioKeyFile":{"type":"string"},"minioPassword":{"type":"string","description":"Minio Password"},"minioRegion":{"type":"string","description":"Minio Region (default: us-east-1)"},"minioSecretKey":{"type":"string","description":"Minio Secret Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioPassword \" pulumi-lang-dotnet=\" MinioPassword \" pulumi-lang-go=\" minioPassword \" pulumi-lang-python=\" minio_password \" pulumi-lang-yaml=\" minioPassword \" pulumi-lang-java=\" minioPassword \"\u003e minio_password \u003c/span\u003einstead"},"minioServer":{"type":"string","description":"Minio Host and Port"},"minioSessionToken":{"type":"string","description":"Minio Session Token"},"minioSsl":{"type":"boolean","description":"Minio SSL enabled (default: false)"},"minioUser":{"type":"string","description":"Minio User"}},"inputProperties":{"minioAccessKey":{"type":"string","description":"Minio Access Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioUser \" pulumi-lang-dotnet=\" MinioUser \" pulumi-lang-go=\" minioUser \" pulumi-lang-python=\" minio_user \" pulumi-lang-yaml=\" minioUser \" pulumi-lang-java=\" minioUser \"\u003e minio_user \u003c/span\u003einstead"},"minioApiVersion":{"type":"string","description":"Minio API Version (type: string, options: v2 or v4, default: v4)"},"minioCacertFile":{"type":"string"},"minioCertFile":{"type":"string"},"minioInsecure":{"type":"boolean","description":"Disable SSL certificate verification (default: false)"},"minioKeyFile":{"type":"string"},"minioPassword":{"type":"string","description":"Minio Password"},"minioRegion":{"type":"string","description":"Minio Region (default: us-east-1)"},"minioSecretKey":{"type":"string","description":"Minio Secret Key","deprecationMessage":"use\u003cspan pulumi-lang-nodejs=\" minioPassword \" pulumi-lang-dotnet=\" MinioPassword \" pulumi-lang-go=\" minioPassword \" pulumi-lang-python=\" minio_password \" pulumi-lang-yaml=\" minioPassword \" pulumi-lang-java=\" minioPassword \"\u003e minio_password \u003c/span\u003einstead"},"minioServer":{"type":"string","description":"Minio Host and Port"},"minioSessionToken":{"type":"string","description":"Minio Session Token"},"minioSsl":{"type":"boolean","description":"Minio SSL enabled (default: false)"},"minioUser":{"type":"string","description":"Minio User"}},"methods":{"terraformConfig":"pulumi:providers:minio/terraformConfig"}},"resources":{"minio:index/iamGroup:IamGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst developer = new minio.IamGroup(\"developer\", {name: \"developer\"});\nexport const minioUserGroup = developer.groupName;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ndeveloper = minio.IamGroup(\"developer\", name=\"developer\")\npulumi.export(\"minioUserGroup\", developer.group_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var developer = new Minio.IamGroup(\"developer\", new()\n    {\n        Name = \"developer\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioUserGroup\"] = developer.GroupName,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdeveloper, err := minio.NewIamGroup(ctx, \"developer\", \u0026minio.IamGroupArgs{\n\t\t\tName: pulumi.String(\"developer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioUserGroup\", developer.GroupName)\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.minio.IamGroup;\nimport com.pulumi.minio.IamGroupArgs;\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 developer = new IamGroup(\"developer\", IamGroupArgs.builder()\n            .name(\"developer\")\n            .build());\n\n        ctx.export(\"minioUserGroup\", developer.groupName());\n    }\n}\n```\n```yaml\nresources:\n  developer:\n    type: minio:IamGroup\n    properties:\n      name: developer\noutputs:\n  minioUserGroup: ${developer.groupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"disableGroup":{"type":"boolean","description":"Disable group\n"},"forceDestroy":{"type":"boolean","description":"Delete group even if it has non-Terraform-managed members\n"},"groupName":{"type":"string"},"name":{"type":"string"}},"required":["groupName","name"],"inputProperties":{"disableGroup":{"type":"boolean","description":"Disable group\n"},"forceDestroy":{"type":"boolean","description":"Delete group even if it has non-Terraform-managed members\n"},"name":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamGroup resources.\n","properties":{"disableGroup":{"type":"boolean","description":"Disable group\n"},"forceDestroy":{"type":"boolean","description":"Delete group even if it has non-Terraform-managed members\n"},"groupName":{"type":"string"},"name":{"type":"string"}},"type":"object"}},"minio:index/iamGroupMembership:IamGroupMembership":{"properties":{"group":{"type":"string","description":"Group name to add users\n"},"name":{"type":"string","description":"Name of group membership\n"},"users":{"type":"array","items":{"type":"string"},"description":"Add user or list of users such as a group membership\n"}},"required":["group","name","users"],"inputProperties":{"group":{"type":"string","description":"Group name to add users\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of group membership\n","willReplaceOnChanges":true},"users":{"type":"array","items":{"type":"string"},"description":"Add user or list of users such as a group membership\n"}},"requiredInputs":["group","users"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupMembership resources.\n","properties":{"group":{"type":"string","description":"Group name to add users\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of group membership\n","willReplaceOnChanges":true},"users":{"type":"array","items":{"type":"string"},"description":"Add user or list of users such as a group membership\n"}},"type":"object"}},"minio:index/iamGroupPolicy:IamGroupPolicy":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst developer = new minio.IamGroup(\"developer\", {name: \"developer\"});\nconst testPolicy = new minio.IamGroupPolicy(\"test_policy\", {\n    name: \"state-terraform-s3\",\n    group: developer.id,\n    policy: `{\n  \\\\\"Version\\\\\":\\\\\"2012-10-17\\\\\",\n  \\\\\"Statement\\\\\": [\n    {\n      \\\\\"Sid\\\\\":\\\\\"ListAllBucket\\\\\",\n      \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n      \\\\\"Action\\\\\": [\\\\\"s3:PutObject\\\\\"],\n      \\\\\"Principal\\\\\":\\\\\"*\\\\\",\n      \\\\\"Resource\\\\\": \\\\\"arn:aws:s3:::state-terraform-s3/*\\\\\"\n    }\n  ]\n}\n`,\n});\nexport const minioName = developerMinioIamGroupMembership.id;\nexport const minioPolicy = developerMinioIamGroupMembership.policy;\nexport const minioGroup = developerMinioIamGroupMembership.group;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ndeveloper = minio.IamGroup(\"developer\", name=\"developer\")\ntest_policy = minio.IamGroupPolicy(\"test_policy\",\n    name=\"state-terraform-s3\",\n    group=developer.id,\n    policy=\"\"\"{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n\"\"\")\npulumi.export(\"minioName\", developer_minio_iam_group_membership[\"id\"])\npulumi.export(\"minioPolicy\", developer_minio_iam_group_membership[\"policy\"])\npulumi.export(\"minioGroup\", developer_minio_iam_group_membership[\"group\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var developer = new Minio.IamGroup(\"developer\", new()\n    {\n        Name = \"developer\",\n    });\n\n    var testPolicy = new Minio.IamGroupPolicy(\"test_policy\", new()\n    {\n        Name = \"state-terraform-s3\",\n        Group = developer.Id,\n        Policy = @\"{\n  \\\"\"Version\\\"\":\\\"\"2012-10-17\\\"\",\n  \\\"\"Statement\\\"\": [\n    {\n      \\\"\"Sid\\\"\":\\\"\"ListAllBucket\\\"\",\n      \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n      \\\"\"Action\\\"\": [\\\"\"s3:PutObject\\\"\"],\n      \\\"\"Principal\\\"\":\\\"\"*\\\"\",\n      \\\"\"Resource\\\"\": \\\"\"arn:aws:s3:::state-terraform-s3/*\\\"\"\n    }\n  ]\n}\n\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioName\"] = developerMinioIamGroupMembership.Id,\n        [\"minioPolicy\"] = developerMinioIamGroupMembership.Policy,\n        [\"minioGroup\"] = developerMinioIamGroupMembership.Group,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdeveloper, err := minio.NewIamGroup(ctx, \"developer\", \u0026minio.IamGroupArgs{\n\t\t\tName: pulumi.String(\"developer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = minio.NewIamGroupPolicy(ctx, \"test_policy\", \u0026minio.IamGroupPolicyArgs{\n\t\t\tName:  pulumi.String(\"state-terraform-s3\"),\n\t\t\tGroup: developer.ID(),\n\t\t\tPolicy: pulumi.String(`{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioName\", developerMinioIamGroupMembership.Id)\n\t\tctx.Export(\"minioPolicy\", developerMinioIamGroupMembership.Policy)\n\t\tctx.Export(\"minioGroup\", developerMinioIamGroupMembership.Group)\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.minio.IamGroup;\nimport com.pulumi.minio.IamGroupArgs;\nimport com.pulumi.minio.IamGroupPolicy;\nimport com.pulumi.minio.IamGroupPolicyArgs;\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 developer = new IamGroup(\"developer\", IamGroupArgs.builder()\n            .name(\"developer\")\n            .build());\n\n        var testPolicy = new IamGroupPolicy(\"testPolicy\", IamGroupPolicyArgs.builder()\n            .name(\"state-terraform-s3\")\n            .group(developer.id())\n            .policy(\"\"\"\n{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n            \"\"\")\n            .build());\n\n        ctx.export(\"minioName\", developerMinioIamGroupMembership.id());\n        ctx.export(\"minioPolicy\", developerMinioIamGroupMembership.policy());\n        ctx.export(\"minioGroup\", developerMinioIamGroupMembership.group());\n    }\n}\n```\n```yaml\nresources:\n  developer:\n    type: minio:IamGroup\n    properties:\n      name: developer\n  testPolicy:\n    type: minio:IamGroupPolicy\n    name: test_policy\n    properties:\n      name: state-terraform-s3\n      group: ${developer.id}\n      policy: |\n        {\n          \\\"Version\\\":\\\"2012-10-17\\\",\n          \\\"Statement\\\": [\n            {\n              \\\"Sid\\\":\\\"ListAllBucket\\\",\n              \\\"Effect\\\": \\\"Allow\\\",\n              \\\"Action\\\": [\\\"s3:PutObject\\\"],\n              \\\"Principal\\\":\\\"*\\\",\n              \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n            }\n          ]\n        }\noutputs:\n  minioName: ${developerMinioIamGroupMembership.id}\n  minioPolicy: ${developerMinioIamGroupMembership.policy}\n  minioGroup: ${developerMinioIamGroupMembership.group}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"group":{"type":"string"},"name":{"type":"string"},"namePrefix":{"type":"string"},"policy":{"type":"string"}},"required":["group","name","policy"],"inputProperties":{"group":{"type":"string","willReplaceOnChanges":true},"name":{"type":"string","willReplaceOnChanges":true},"namePrefix":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"requiredInputs":["group","policy"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupPolicy resources.\n","properties":{"group":{"type":"string","willReplaceOnChanges":true},"name":{"type":"string","willReplaceOnChanges":true},"namePrefix":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"type":"object"}},"minio:index/iamGroupPolicyAttachment:IamGroupPolicyAttachment":{"description":"## Example Usage\n\n","properties":{"groupName":{"type":"string"},"policyName":{"type":"string"}},"required":["groupName","policyName"],"inputProperties":{"groupName":{"type":"string","willReplaceOnChanges":true},"policyName":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["groupName","policyName"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupPolicyAttachment resources.\n","properties":{"groupName":{"type":"string","willReplaceOnChanges":true},"policyName":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"minio:index/iamGroupUserAttachment:IamGroupUserAttachment":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst developer = new minio.IamGroup(\"developer\", {name: \"developer\"});\nconst userOne = new minio.IamUser(\"user_one\", {name: \"test-user\"});\nconst developerIamGroupUserAttachment = new minio.IamGroupUserAttachment(\"developer\", {\n    groupName: group.name,\n    userName: userOne.name,\n});\nexport const minioName = developerIamGroupUserAttachment.id;\nexport const minioUsers = developerIamGroupUserAttachment.groupName;\nexport const minioGroup = developerIamGroupUserAttachment.userName;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ndeveloper = minio.IamGroup(\"developer\", name=\"developer\")\nuser_one = minio.IamUser(\"user_one\", name=\"test-user\")\ndeveloper_iam_group_user_attachment = minio.IamGroupUserAttachment(\"developer\",\n    group_name=group[\"name\"],\n    user_name=user_one.name)\npulumi.export(\"minioName\", developer_iam_group_user_attachment.id)\npulumi.export(\"minioUsers\", developer_iam_group_user_attachment.group_name)\npulumi.export(\"minioGroup\", developer_iam_group_user_attachment.user_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var developer = new Minio.IamGroup(\"developer\", new()\n    {\n        Name = \"developer\",\n    });\n\n    var userOne = new Minio.IamUser(\"user_one\", new()\n    {\n        Name = \"test-user\",\n    });\n\n    var developerIamGroupUserAttachment = new Minio.IamGroupUserAttachment(\"developer\", new()\n    {\n        GroupName = @group.Name,\n        UserName = userOne.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioName\"] = developerIamGroupUserAttachment.Id,\n        [\"minioUsers\"] = developerIamGroupUserAttachment.GroupName,\n        [\"minioGroup\"] = developerIamGroupUserAttachment.UserName,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\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 := minio.NewIamGroup(ctx, \"developer\", \u0026minio.IamGroupArgs{\n\t\t\tName: pulumi.String(\"developer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserOne, err := minio.NewIamUser(ctx, \"user_one\", \u0026minio.IamUserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeveloperIamGroupUserAttachment, err := minio.NewIamGroupUserAttachment(ctx, \"developer\", \u0026minio.IamGroupUserAttachmentArgs{\n\t\t\tGroupName: pulumi.Any(group.Name),\n\t\t\tUserName:  userOne.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioName\", developerIamGroupUserAttachment.ID())\n\t\tctx.Export(\"minioUsers\", developerIamGroupUserAttachment.GroupName)\n\t\tctx.Export(\"minioGroup\", developerIamGroupUserAttachment.UserName)\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.minio.IamGroup;\nimport com.pulumi.minio.IamGroupArgs;\nimport com.pulumi.minio.IamUser;\nimport com.pulumi.minio.IamUserArgs;\nimport com.pulumi.minio.IamGroupUserAttachment;\nimport com.pulumi.minio.IamGroupUserAttachmentArgs;\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 developer = new IamGroup(\"developer\", IamGroupArgs.builder()\n            .name(\"developer\")\n            .build());\n\n        var userOne = new IamUser(\"userOne\", IamUserArgs.builder()\n            .name(\"test-user\")\n            .build());\n\n        var developerIamGroupUserAttachment = new IamGroupUserAttachment(\"developerIamGroupUserAttachment\", IamGroupUserAttachmentArgs.builder()\n            .groupName(group.name())\n            .userName(userOne.name())\n            .build());\n\n        ctx.export(\"minioName\", developerIamGroupUserAttachment.id());\n        ctx.export(\"minioUsers\", developerIamGroupUserAttachment.groupName());\n        ctx.export(\"minioGroup\", developerIamGroupUserAttachment.userName());\n    }\n}\n```\n```yaml\nresources:\n  developer:\n    type: minio:IamGroup\n    properties:\n      name: developer\n  userOne:\n    type: minio:IamUser\n    name: user_one\n    properties:\n      name: test-user\n  developerIamGroupUserAttachment:\n    type: minio:IamGroupUserAttachment\n    name: developer\n    properties:\n      groupName: ${group.name}\n      userName: ${userOne.name}\noutputs:\n  minioName: ${developerIamGroupUserAttachment.id}\n  minioUsers: ${developerIamGroupUserAttachment.groupName}\n  minioGroup: ${developerIamGroupUserAttachment.userName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"groupName":{"type":"string"},"userName":{"type":"string"}},"required":["groupName","userName"],"inputProperties":{"groupName":{"type":"string","willReplaceOnChanges":true},"userName":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["groupName","userName"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupUserAttachment resources.\n","properties":{"groupName":{"type":"string","willReplaceOnChanges":true},"userName":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"minio:index/iamPolicy:IamPolicy":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst testPolicy = new minio.IamPolicy(\"test_policy\", {\n    name: \"state-terraform-s3\",\n    policy: `{\n  \\\\\"Version\\\\\":\\\\\"2012-10-17\\\\\",\n  \\\\\"Statement\\\\\": [\n    {\n      \\\\\"Sid\\\\\":\\\\\"ListAllBucket\\\\\",\n      \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n      \\\\\"Action\\\\\": [\\\\\"s3:PutObject\\\\\"],\n      \\\\\"Principal\\\\\":\\\\\"*\\\\\",\n      \\\\\"Resource\\\\\": \\\\\"arn:aws:s3:::state-terraform-s3/*\\\\\"\n    }\n  ]\n}\n`,\n});\nexport const minioId = testPolicy.id;\nexport const minioPolicy = testPolicy.policy;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ntest_policy = minio.IamPolicy(\"test_policy\",\n    name=\"state-terraform-s3\",\n    policy=\"\"\"{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n\"\"\")\npulumi.export(\"minioId\", test_policy.id)\npulumi.export(\"minioPolicy\", test_policy.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testPolicy = new Minio.IamPolicy(\"test_policy\", new()\n    {\n        Name = \"state-terraform-s3\",\n        Policy = @\"{\n  \\\"\"Version\\\"\":\\\"\"2012-10-17\\\"\",\n  \\\"\"Statement\\\"\": [\n    {\n      \\\"\"Sid\\\"\":\\\"\"ListAllBucket\\\"\",\n      \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n      \\\"\"Action\\\"\": [\\\"\"s3:PutObject\\\"\"],\n      \\\"\"Principal\\\"\":\\\"\"*\\\"\",\n      \\\"\"Resource\\\"\": \\\"\"arn:aws:s3:::state-terraform-s3/*\\\"\"\n    }\n  ]\n}\n\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioId\"] = testPolicy.Id,\n        [\"minioPolicy\"] = testPolicy.Policy,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestPolicy, err := minio.NewIamPolicy(ctx, \"test_policy\", \u0026minio.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"state-terraform-s3\"),\n\t\t\tPolicy: pulumi.String(`{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioId\", testPolicy.ID())\n\t\tctx.Export(\"minioPolicy\", testPolicy.Policy)\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.minio.IamPolicy;\nimport com.pulumi.minio.IamPolicyArgs;\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 testPolicy = new IamPolicy(\"testPolicy\", IamPolicyArgs.builder()\n            .name(\"state-terraform-s3\")\n            .policy(\"\"\"\n{\n  \\\"Version\\\":\\\"2012-10-17\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\":\\\"ListAllBucket\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Action\\\": [\\\"s3:PutObject\\\"],\n      \\\"Principal\\\":\\\"*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n    }\n  ]\n}\n            \"\"\")\n            .build());\n\n        ctx.export(\"minioId\", testPolicy.id());\n        ctx.export(\"minioPolicy\", testPolicy.policy());\n    }\n}\n```\n```yaml\nresources:\n  testPolicy:\n    type: minio:IamPolicy\n    name: test_policy\n    properties:\n      name: state-terraform-s3\n      policy: |\n        {\n          \\\"Version\\\":\\\"2012-10-17\\\",\n          \\\"Statement\\\": [\n            {\n              \\\"Sid\\\":\\\"ListAllBucket\\\",\n              \\\"Effect\\\": \\\"Allow\\\",\n              \\\"Action\\\": [\\\"s3:PutObject\\\"],\n              \\\"Principal\\\":\\\"*\\\",\n              \\\"Resource\\\": \\\"arn:aws:s3:::state-terraform-s3/*\\\"\n            }\n          ]\n        }\noutputs:\n  minioId: ${testPolicy.id}\n  minioPolicy: ${testPolicy.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"name":{"type":"string"},"namePrefix":{"type":"string"},"policy":{"type":"string"}},"required":["name","policy"],"inputProperties":{"name":{"type":"string","willReplaceOnChanges":true},"namePrefix":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"requiredInputs":["policy"],"stateInputs":{"description":"Input properties used for looking up and filtering IamPolicy resources.\n","properties":{"name":{"type":"string","willReplaceOnChanges":true},"namePrefix":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"type":"object"}},"minio:index/iamServiceAccount:IamServiceAccount":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst test = new minio.IamUser(\"test\", {\n    name: \"test\",\n    forceDestroy: true,\n    tags: {\n        \"tag-key\": \"tag-value\",\n    },\n});\nconst testServiceAccount = new minio.IamServiceAccount(\"test_service_account\", {targetUser: test.name});\nexport const minioUser = testServiceAccount.accessKey;\nexport const minioPassword = testServiceAccount.secretKey;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ntest = minio.IamUser(\"test\",\n    name=\"test\",\n    force_destroy=True,\n    tags={\n        \"tag-key\": \"tag-value\",\n    })\ntest_service_account = minio.IamServiceAccount(\"test_service_account\", target_user=test.name)\npulumi.export(\"minioUser\", test_service_account.access_key)\npulumi.export(\"minioPassword\", test_service_account.secret_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Minio.IamUser(\"test\", new()\n    {\n        Name = \"test\",\n        ForceDestroy = true,\n        Tags = \n        {\n            { \"tag-key\", \"tag-value\" },\n        },\n    });\n\n    var testServiceAccount = new Minio.IamServiceAccount(\"test_service_account\", new()\n    {\n        TargetUser = test.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioUser\"] = testServiceAccount.AccessKey,\n        [\"minioPassword\"] = testServiceAccount.SecretKey,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := minio.NewIamUser(ctx, \"test\", \u0026minio.IamUserArgs{\n\t\t\tName:         pulumi.String(\"test\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestServiceAccount, err := minio.NewIamServiceAccount(ctx, \"test_service_account\", \u0026minio.IamServiceAccountArgs{\n\t\t\tTargetUser: test.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioUser\", testServiceAccount.AccessKey)\n\t\tctx.Export(\"minioPassword\", testServiceAccount.SecretKey)\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.minio.IamUser;\nimport com.pulumi.minio.IamUserArgs;\nimport com.pulumi.minio.IamServiceAccount;\nimport com.pulumi.minio.IamServiceAccountArgs;\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 test = new IamUser(\"test\", IamUserArgs.builder()\n            .name(\"test\")\n            .forceDestroy(true)\n            .tags(Map.of(\"tag-key\", \"tag-value\"))\n            .build());\n\n        var testServiceAccount = new IamServiceAccount(\"testServiceAccount\", IamServiceAccountArgs.builder()\n            .targetUser(test.name())\n            .build());\n\n        ctx.export(\"minioUser\", testServiceAccount.accessKey());\n        ctx.export(\"minioPassword\", testServiceAccount.secretKey());\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: minio:IamUser\n    properties:\n      name: test\n      forceDestroy: true\n      tags:\n        tag-key: tag-value\n  testServiceAccount:\n    type: minio:IamServiceAccount\n    name: test_service_account\n    properties:\n      targetUser: ${test.name}\noutputs:\n  minioUser: ${testServiceAccount.accessKey}\n  minioPassword: ${testServiceAccount.secretKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessKey":{"type":"string"},"disableUser":{"type":"boolean","description":"Disable service account\n"},"policy":{"type":"string","description":"policy of service account\n"},"secretKey":{"type":"string","secret":true},"status":{"type":"string"},"targetUser":{"type":"string"},"updateSecret":{"type":"boolean","description":"rotate secret key\n"}},"required":["accessKey","secretKey","status","targetUser"],"inputProperties":{"disableUser":{"type":"boolean","description":"Disable service account\n"},"policy":{"type":"string","description":"policy of service account\n"},"targetUser":{"type":"string","willReplaceOnChanges":true},"updateSecret":{"type":"boolean","description":"rotate secret key\n"}},"requiredInputs":["targetUser"],"stateInputs":{"description":"Input properties used for looking up and filtering IamServiceAccount resources.\n","properties":{"accessKey":{"type":"string"},"disableUser":{"type":"boolean","description":"Disable service account\n"},"policy":{"type":"string","description":"policy of service account\n"},"secretKey":{"type":"string","secret":true},"status":{"type":"string"},"targetUser":{"type":"string","willReplaceOnChanges":true},"updateSecret":{"type":"boolean","description":"rotate secret key\n"}},"type":"object"}},"minio:index/iamUser:IamUser":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nexport = async () =\u003e {\n    const test = new minio.IamUser(\"test\", {\n        name: \"test\",\n        forceDestroy: true,\n        tags: {\n            \"tag-key\": \"tag-value\",\n        },\n    });\n    return {\n        test: test.id,\n        status: test.status,\n        secret: test.secret,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\ntest = minio.IamUser(\"test\",\n    name=\"test\",\n    force_destroy=True,\n    tags={\n        \"tag-key\": \"tag-value\",\n    })\npulumi.export(\"test\", test.id)\npulumi.export(\"status\", test.status)\npulumi.export(\"secret\", test.secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Minio.IamUser(\"test\", new()\n    {\n        Name = \"test\",\n        ForceDestroy = true,\n        Tags = \n        {\n            { \"tag-key\", \"tag-value\" },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"test\"] = test.Id,\n        [\"status\"] = test.Status,\n        [\"secret\"] = test.Secret,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := minio.NewIamUser(ctx, \"test\", \u0026minio.IamUserArgs{\n\t\t\tName:         pulumi.String(\"test\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"test\", test.ID())\n\t\tctx.Export(\"status\", test.Status)\n\t\tctx.Export(\"secret\", test.Secret)\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.minio.IamUser;\nimport com.pulumi.minio.IamUserArgs;\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 test = new IamUser(\"test\", IamUserArgs.builder()\n            .name(\"test\")\n            .forceDestroy(true)\n            .tags(Map.of(\"tag-key\", \"tag-value\"))\n            .build());\n\n        ctx.export(\"test\", test.id());\n        ctx.export(\"status\", test.status());\n        ctx.export(\"secret\", test.secret());\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: minio:IamUser\n    properties:\n      name: test\n      forceDestroy: true\n      tags:\n        tag-key: tag-value\noutputs:\n  test: ${test.id}\n  status: ${test.status}\n  secret: ${test.secret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"disableUser":{"type":"boolean","description":"Disable user\n"},"forceDestroy":{"type":"boolean","description":"Delete user even if it has non-Terraform-managed IAM access keys\n"},"name":{"type":"string"},"secret":{"type":"string","secret":true},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updateSecret":{"type":"boolean","description":"Rotate Minio User Secret Key\n"}},"required":["name","secret","status"],"inputProperties":{"disableUser":{"type":"boolean","description":"Disable user\n"},"forceDestroy":{"type":"boolean","description":"Delete user even if it has non-Terraform-managed IAM access keys\n"},"name":{"type":"string","willReplaceOnChanges":true},"secret":{"type":"string","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updateSecret":{"type":"boolean","description":"Rotate Minio User Secret Key\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamUser resources.\n","properties":{"disableUser":{"type":"boolean","description":"Disable user\n"},"forceDestroy":{"type":"boolean","description":"Delete user even if it has non-Terraform-managed IAM access keys\n"},"name":{"type":"string","willReplaceOnChanges":true},"secret":{"type":"string","secret":true},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updateSecret":{"type":"boolean","description":"Rotate Minio User Secret Key\n"}},"type":"object"}},"minio:index/iamUserPolicyAttachment:IamUserPolicyAttachment":{"description":"## Example Usage\n\n","properties":{"policyName":{"type":"string"},"userName":{"type":"string"}},"required":["policyName","userName"],"inputProperties":{"policyName":{"type":"string","willReplaceOnChanges":true},"userName":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["policyName","userName"],"stateInputs":{"description":"Input properties used for looking up and filtering IamUserPolicyAttachment resources.\n","properties":{"policyName":{"type":"string","willReplaceOnChanges":true},"userName":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"minio:index/ilmPolicy:IlmPolicy":{"description":"\u003cspan pulumi-lang-nodejs=\"`minio.IlmPolicy`\" pulumi-lang-dotnet=\"`minio.IlmPolicy`\" pulumi-lang-go=\"`IlmPolicy`\" pulumi-lang-python=\"`IlmPolicy`\" pulumi-lang-yaml=\"`minio.IlmPolicy`\" pulumi-lang-java=\"`minio.IlmPolicy`\"\u003e`minio.IlmPolicy`\u003c/span\u003e handles lifecycle settings for a given \u003cspan pulumi-lang-nodejs=\"`minio.S3Bucket`\" pulumi-lang-dotnet=\"`minio.S3Bucket`\" pulumi-lang-go=\"`S3Bucket`\" pulumi-lang-python=\"`S3Bucket`\" pulumi-lang-yaml=\"`minio.S3Bucket`\" pulumi-lang-java=\"`minio.S3Bucket`\"\u003e`minio.S3Bucket`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst bucket = new minio.S3Bucket(\"bucket\", {bucket: \"bucket\"});\nconst bucket_lifecycle_rules = new minio.IlmPolicy(\"bucket-lifecycle-rules\", {\n    bucket: bucket.bucket,\n    rules: [{\n        id: \"expire-7d\",\n        expiration: \"7d\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\nbucket = minio.S3Bucket(\"bucket\", bucket=\"bucket\")\nbucket_lifecycle_rules = minio.IlmPolicy(\"bucket-lifecycle-rules\",\n    bucket=bucket.bucket,\n    rules=[{\n        \"id\": \"expire-7d\",\n        \"expiration\": \"7d\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Minio.S3Bucket(\"bucket\", new()\n    {\n        Bucket = \"bucket\",\n    });\n\n    var bucket_lifecycle_rules = new Minio.IlmPolicy(\"bucket-lifecycle-rules\", new()\n    {\n        Bucket = bucket.Bucket,\n        Rules = new[]\n        {\n            new Minio.Inputs.IlmPolicyRuleArgs\n            {\n                Id = \"expire-7d\",\n                Expiration = \"7d\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := minio.NewS3Bucket(ctx, \"bucket\", \u0026minio.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = minio.NewIlmPolicy(ctx, \"bucket-lifecycle-rules\", \u0026minio.IlmPolicyArgs{\n\t\t\tBucket: bucket.Bucket,\n\t\t\tRules: minio.IlmPolicyRuleArray{\n\t\t\t\t\u0026minio.IlmPolicyRuleArgs{\n\t\t\t\t\tId:         pulumi.String(\"expire-7d\"),\n\t\t\t\t\tExpiration: pulumi.String(\"7d\"),\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.minio.S3Bucket;\nimport com.pulumi.minio.S3BucketArgs;\nimport com.pulumi.minio.IlmPolicy;\nimport com.pulumi.minio.IlmPolicyArgs;\nimport com.pulumi.minio.inputs.IlmPolicyRuleArgs;\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 bucket = new S3Bucket(\"bucket\", S3BucketArgs.builder()\n            .bucket(\"bucket\")\n            .build());\n\n        var bucket_lifecycle_rules = new IlmPolicy(\"bucket-lifecycle-rules\", IlmPolicyArgs.builder()\n            .bucket(bucket.bucket())\n            .rules(IlmPolicyRuleArgs.builder()\n                .id(\"expire-7d\")\n                .expiration(\"7d\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: minio:S3Bucket\n    properties:\n      bucket: bucket\n  bucket-lifecycle-rules:\n    type: minio:IlmPolicy\n    properties:\n      bucket: ${bucket.bucket}\n      rules:\n        - id: expire-7d\n          expiration: 7d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bucket":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/minio:index/IlmPolicyRule:IlmPolicyRule"}}},"required":["bucket","rules"],"inputProperties":{"bucket":{"type":"string","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/minio:index/IlmPolicyRule:IlmPolicyRule"}}},"requiredInputs":["bucket","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering IlmPolicy resources.\n","properties":{"bucket":{"type":"string","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/minio:index/IlmPolicyRule:IlmPolicyRule"}}},"type":"object"}},"minio:index/kmsKey:KmsKey":{"properties":{"keyId":{"type":"string"}},"required":["keyId"],"inputProperties":{"keyId":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["keyId"],"stateInputs":{"description":"Input properties used for looking up and filtering KmsKey resources.\n","properties":{"keyId":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"minio:index/s3Bucket:S3Bucket":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst stateTerraformS3 = new minio.S3Bucket(\"state_terraform_s3\", {\n    bucket: \"state-terraform-s3\",\n    acl: \"public\",\n});\nexport const minioId = stateTerraformS3.id;\nexport const minioUrl = stateTerraformS3.bucketDomainName;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\nstate_terraform_s3 = minio.S3Bucket(\"state_terraform_s3\",\n    bucket=\"state-terraform-s3\",\n    acl=\"public\")\npulumi.export(\"minioId\", state_terraform_s3.id)\npulumi.export(\"minioUrl\", state_terraform_s3.bucket_domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var stateTerraformS3 = new Minio.S3Bucket(\"state_terraform_s3\", new()\n    {\n        Bucket = \"state-terraform-s3\",\n        Acl = \"public\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioId\"] = stateTerraformS3.Id,\n        [\"minioUrl\"] = stateTerraformS3.BucketDomainName,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstateTerraformS3, err := minio.NewS3Bucket(ctx, \"state_terraform_s3\", \u0026minio.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"state-terraform-s3\"),\n\t\t\tAcl:    pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioId\", stateTerraformS3.ID())\n\t\tctx.Export(\"minioUrl\", stateTerraformS3.BucketDomainName)\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.minio.S3Bucket;\nimport com.pulumi.minio.S3BucketArgs;\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 stateTerraformS3 = new S3Bucket(\"stateTerraformS3\", S3BucketArgs.builder()\n            .bucket(\"state-terraform-s3\")\n            .acl(\"public\")\n            .build());\n\n        ctx.export(\"minioId\", stateTerraformS3.id());\n        ctx.export(\"minioUrl\", stateTerraformS3.bucketDomainName());\n    }\n}\n```\n```yaml\nresources:\n  stateTerraformS3:\n    type: minio:S3Bucket\n    name: state_terraform_s3\n    properties:\n      bucket: state-terraform-s3\n      acl: public\noutputs:\n  minioId: ${stateTerraformS3.id}\n  minioUrl: ${stateTerraformS3.bucketDomainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"acl":{"type":"string"},"arn":{"type":"string"},"bucket":{"type":"string"},"bucketDomainName":{"type":"string"},"bucketPrefix":{"type":"string"},"forceDestroy":{"type":"boolean"},"objectLocking":{"type":"boolean"},"quota":{"type":"number"}},"required":["arn","bucket","bucketDomainName"],"inputProperties":{"acl":{"type":"string"},"bucket":{"type":"string","willReplaceOnChanges":true},"bucketPrefix":{"type":"string","willReplaceOnChanges":true},"forceDestroy":{"type":"boolean"},"objectLocking":{"type":"boolean"},"quota":{"type":"number"}},"stateInputs":{"description":"Input properties used for looking up and filtering S3Bucket resources.\n","properties":{"acl":{"type":"string"},"arn":{"type":"string"},"bucket":{"type":"string","willReplaceOnChanges":true},"bucketDomainName":{"type":"string"},"bucketPrefix":{"type":"string","willReplaceOnChanges":true},"forceDestroy":{"type":"boolean"},"objectLocking":{"type":"boolean"},"quota":{"type":"number"}},"type":"object"}},"minio:index/s3BucketNotification:S3BucketNotification":{"properties":{"bucket":{"type":"string"},"queues":{"type":"array","items":{"$ref":"#/types/minio:index/S3BucketNotificationQueue:S3BucketNotificationQueue"}}},"required":["bucket"],"inputProperties":{"bucket":{"type":"string","willReplaceOnChanges":true},"queues":{"type":"array","items":{"$ref":"#/types/minio:index/S3BucketNotificationQueue:S3BucketNotificationQueue"}}},"requiredInputs":["bucket"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketNotification resources.\n","properties":{"bucket":{"type":"string","willReplaceOnChanges":true},"queues":{"type":"array","items":{"$ref":"#/types/minio:index/S3BucketNotificationQueue:S3BucketNotificationQueue"}}},"type":"object"}},"minio:index/s3BucketPolicy:S3BucketPolicy":{"properties":{"bucket":{"type":"string"},"policy":{"type":"string"}},"required":["bucket","policy"],"inputProperties":{"bucket":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"requiredInputs":["bucket","policy"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketPolicy resources.\n","properties":{"bucket":{"type":"string","willReplaceOnChanges":true},"policy":{"type":"string"}},"type":"object"}},"minio:index/s3BucketServerSideEncryption:S3BucketServerSideEncryption":{"properties":{"bucket":{"type":"string"},"encryptionType":{"type":"string"},"kmsKeyId":{"type":"string"}},"required":["bucket","encryptionType","kmsKeyId"],"inputProperties":{"bucket":{"type":"string","willReplaceOnChanges":true},"encryptionType":{"type":"string"},"kmsKeyId":{"type":"string"}},"requiredInputs":["bucket","encryptionType","kmsKeyId"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketServerSideEncryption resources.\n","properties":{"bucket":{"type":"string","willReplaceOnChanges":true},"encryptionType":{"type":"string"},"kmsKeyId":{"type":"string"}},"type":"object"}},"minio:index/s3BucketVersioning:S3BucketVersioning":{"properties":{"bucket":{"type":"string"},"versioningConfiguration":{"$ref":"#/types/minio:index/S3BucketVersioningVersioningConfiguration:S3BucketVersioningVersioningConfiguration"}},"required":["bucket","versioningConfiguration"],"inputProperties":{"bucket":{"type":"string","willReplaceOnChanges":true},"versioningConfiguration":{"$ref":"#/types/minio:index/S3BucketVersioningVersioningConfiguration:S3BucketVersioningVersioningConfiguration"}},"requiredInputs":["bucket","versioningConfiguration"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketVersioning resources.\n","properties":{"bucket":{"type":"string","willReplaceOnChanges":true},"versioningConfiguration":{"$ref":"#/types/minio:index/S3BucketVersioningVersioningConfiguration:S3BucketVersioningVersioningConfiguration"}},"type":"object"}},"minio:index/s3Object:S3Object":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst stateTerraformS3 = new minio.S3Bucket(\"state_terraform_s3\", {\n    bucket: \"state-terraform-s3\",\n    acl: \"public\",\n});\nconst txtFile = new minio.S3Object(\"txt_file\", {\n    bucketName: stateTerraformS3.bucket,\n    objectName: \"text.txt\",\n    content: \"Lorem ipsum dolor sit amet.\",\n    contentType: \"text/plain\",\n}, {\n    dependsOn: [stateTerraformS3],\n});\nexport const minioId = txtFile.id;\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\nstate_terraform_s3 = minio.S3Bucket(\"state_terraform_s3\",\n    bucket=\"state-terraform-s3\",\n    acl=\"public\")\ntxt_file = minio.S3Object(\"txt_file\",\n    bucket_name=state_terraform_s3.bucket,\n    object_name=\"text.txt\",\n    content=\"Lorem ipsum dolor sit amet.\",\n    content_type=\"text/plain\",\n    opts = pulumi.ResourceOptions(depends_on=[state_terraform_s3]))\npulumi.export(\"minioId\", txt_file.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var stateTerraformS3 = new Minio.S3Bucket(\"state_terraform_s3\", new()\n    {\n        Bucket = \"state-terraform-s3\",\n        Acl = \"public\",\n    });\n\n    var txtFile = new Minio.S3Object(\"txt_file\", new()\n    {\n        BucketName = stateTerraformS3.Bucket,\n        ObjectName = \"text.txt\",\n        Content = \"Lorem ipsum dolor sit amet.\",\n        ContentType = \"text/plain\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            stateTerraformS3,\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"minioId\"] = txtFile.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstateTerraformS3, err := minio.NewS3Bucket(ctx, \"state_terraform_s3\", \u0026minio.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"state-terraform-s3\"),\n\t\t\tAcl:    pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttxtFile, err := minio.NewS3Object(ctx, \"txt_file\", \u0026minio.S3ObjectArgs{\n\t\t\tBucketName:  stateTerraformS3.Bucket,\n\t\t\tObjectName:  pulumi.String(\"text.txt\"),\n\t\t\tContent:     pulumi.String(\"Lorem ipsum dolor sit amet.\"),\n\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tstateTerraformS3,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"minioId\", txtFile.ID())\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.minio.S3Bucket;\nimport com.pulumi.minio.S3BucketArgs;\nimport com.pulumi.minio.S3Object;\nimport com.pulumi.minio.S3ObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 stateTerraformS3 = new S3Bucket(\"stateTerraformS3\", S3BucketArgs.builder()\n            .bucket(\"state-terraform-s3\")\n            .acl(\"public\")\n            .build());\n\n        var txtFile = new S3Object(\"txtFile\", S3ObjectArgs.builder()\n            .bucketName(stateTerraformS3.bucket())\n            .objectName(\"text.txt\")\n            .content(\"Lorem ipsum dolor sit amet.\")\n            .contentType(\"text/plain\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(stateTerraformS3)\n                .build());\n\n        ctx.export(\"minioId\", txtFile.id());\n    }\n}\n```\n```yaml\nresources:\n  stateTerraformS3:\n    type: minio:S3Bucket\n    name: state_terraform_s3\n    properties:\n      bucket: state-terraform-s3\n      acl: public\n  txtFile:\n    type: minio:S3Object\n    name: txt_file\n    properties:\n      bucketName: ${stateTerraformS3.bucket}\n      objectName: text.txt\n      content: Lorem ipsum dolor sit amet.\n      contentType: text/plain\n    options:\n      dependsOn:\n        - ${stateTerraformS3}\noutputs:\n  minioId: ${txtFile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bucketName":{"type":"string"},"content":{"type":"string"},"contentBase64":{"type":"string"},"contentType":{"type":"string"},"etag":{"type":"string"},"objectName":{"type":"string"},"source":{"type":"string"},"versionId":{"type":"string"}},"required":["bucketName","contentType","etag","objectName","versionId"],"inputProperties":{"bucketName":{"type":"string","willReplaceOnChanges":true},"content":{"type":"string"},"contentBase64":{"type":"string"},"contentType":{"type":"string"},"etag":{"type":"string"},"objectName":{"type":"string","willReplaceOnChanges":true},"source":{"type":"string"},"versionId":{"type":"string"}},"requiredInputs":["bucketName","objectName"],"stateInputs":{"description":"Input properties used for looking up and filtering S3Object resources.\n","properties":{"bucketName":{"type":"string","willReplaceOnChanges":true},"content":{"type":"string"},"contentBase64":{"type":"string"},"contentType":{"type":"string"},"etag":{"type":"string"},"objectName":{"type":"string","willReplaceOnChanges":true},"source":{"type":"string"},"versionId":{"type":"string"}},"type":"object"}}},"functions":{"minio:index/getIamPolicyDocument:getIamPolicyDocument":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as minio from \"@pulumi/minio\";\n\nconst example = minio.getIamPolicyDocument({\n    statements: [\n        {\n            sid: \"1\",\n            actions: [\n                \"s3:ListAllMyBuckets\",\n                \"s3:GetBucketLocation\",\n            ],\n            resources: [\"arn:aws:s3:::*\"],\n        },\n        {\n            actions: [\"s3:ListBucket\"],\n            resources: [\"arn:aws:s3:::state-terraform-s3\"],\n            conditions: [{\n                test: \"StringLike\",\n                variable: \"s3:prefix\",\n                values: [\n                    \"\",\n                    \"home/\",\n                ],\n            }],\n        },\n        {\n            actions: [\"s3:PutObject\"],\n            resources: [\n                \"arn:aws:s3:::state-terraform-s3\",\n                \"arn:aws:s3:::state-terraform-s3/*\",\n            ],\n        },\n    ],\n});\nconst testPolicy = new minio.IamPolicy(\"test_policy\", {\n    name: \"state-terraform-s3\",\n    policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_minio as minio\n\nexample = minio.get_iam_policy_document(statements=[\n    {\n        \"sid\": \"1\",\n        \"actions\": [\n            \"s3:ListAllMyBuckets\",\n            \"s3:GetBucketLocation\",\n        ],\n        \"resources\": [\"arn:aws:s3:::*\"],\n    },\n    {\n        \"actions\": [\"s3:ListBucket\"],\n        \"resources\": [\"arn:aws:s3:::state-terraform-s3\"],\n        \"conditions\": [{\n            \"test\": \"StringLike\",\n            \"variable\": \"s3:prefix\",\n            \"values\": [\n                \"\",\n                \"home/\",\n            ],\n        }],\n    },\n    {\n        \"actions\": [\"s3:PutObject\"],\n        \"resources\": [\n            \"arn:aws:s3:::state-terraform-s3\",\n            \"arn:aws:s3:::state-terraform-s3/*\",\n        ],\n    },\n])\ntest_policy = minio.IamPolicy(\"test_policy\",\n    name=\"state-terraform-s3\",\n    policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Minio = Pulumi.Minio;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Minio.GetIamPolicyDocument.Invoke(new()\n    {\n        Statements = new[]\n        {\n            new Minio.Inputs.GetIamPolicyDocumentStatementInputArgs\n            {\n                Sid = \"1\",\n                Actions = new[]\n                {\n                    \"s3:ListAllMyBuckets\",\n                    \"s3:GetBucketLocation\",\n                },\n                Resources = new[]\n                {\n                    \"arn:aws:s3:::*\",\n                },\n            },\n            new Minio.Inputs.GetIamPolicyDocumentStatementInputArgs\n            {\n                Actions = new[]\n                {\n                    \"s3:ListBucket\",\n                },\n                Resources = new[]\n                {\n                    \"arn:aws:s3:::state-terraform-s3\",\n                },\n                Conditions = new[]\n                {\n                    new Minio.Inputs.GetIamPolicyDocumentStatementConditionInputArgs\n                    {\n                        Test = \"StringLike\",\n                        Variable = \"s3:prefix\",\n                        Values = new[]\n                        {\n                            \"\",\n                            \"home/\",\n                        },\n                    },\n                },\n            },\n            new Minio.Inputs.GetIamPolicyDocumentStatementInputArgs\n            {\n                Actions = new[]\n                {\n                    \"s3:PutObject\",\n                },\n                Resources = new[]\n                {\n                    \"arn:aws:s3:::state-terraform-s3\",\n                    \"arn:aws:s3:::state-terraform-s3/*\",\n                },\n            },\n        },\n    });\n\n    var testPolicy = new Minio.IamPolicy(\"test_policy\", new()\n    {\n        Name = \"state-terraform-s3\",\n        Policy = example.Apply(getIamPolicyDocumentResult =\u003e getIamPolicyDocumentResult.Json),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-minio/sdk/go/minio\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := minio.GetIamPolicyDocument(ctx, \u0026minio.GetIamPolicyDocumentArgs{\n\t\t\tStatements: []minio.GetIamPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::state-terraform-s3\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []minio.GetIamPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest:     \"StringLike\",\n\t\t\t\t\t\t\tVariable: \"s3:prefix\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\"home/\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::state-terraform-s3\",\n\t\t\t\t\t\t\"arn:aws:s3:::state-terraform-s3/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = minio.NewIamPolicy(ctx, \"test_policy\", \u0026minio.IamPolicyArgs{\n\t\t\tName:   pulumi.String(\"state-terraform-s3\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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.minio.MinioFunctions;\nimport com.pulumi.minio.inputs.GetIamPolicyDocumentArgs;\nimport com.pulumi.minio.IamPolicy;\nimport com.pulumi.minio.IamPolicyArgs;\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        final var example = MinioFunctions.getIamPolicyDocument(GetIamPolicyDocumentArgs.builder()\n            .statements(            \n                GetIamPolicyDocumentStatementArgs.builder()\n                    .sid(\"1\")\n                    .actions(                    \n                        \"s3:ListAllMyBuckets\",\n                        \"s3:GetBucketLocation\")\n                    .resources(\"arn:aws:s3:::*\")\n                    .build(),\n                GetIamPolicyDocumentStatementArgs.builder()\n                    .actions(\"s3:ListBucket\")\n                    .resources(\"arn:aws:s3:::state-terraform-s3\")\n                    .conditions(GetIamPolicyDocumentStatementConditionArgs.builder()\n                        .test(\"StringLike\")\n                        .variable(\"s3:prefix\")\n                        .values(                        \n                            \"\",\n                            \"home/\")\n                        .build())\n                    .build(),\n                GetIamPolicyDocumentStatementArgs.builder()\n                    .actions(\"s3:PutObject\")\n                    .resources(                    \n                        \"arn:aws:s3:::state-terraform-s3\",\n                        \"arn:aws:s3:::state-terraform-s3/*\")\n                    .build())\n            .build());\n\n        var testPolicy = new IamPolicy(\"testPolicy\", IamPolicyArgs.builder()\n            .name(\"state-terraform-s3\")\n            .policy(example.json())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testPolicy:\n    type: minio:IamPolicy\n    name: test_policy\n    properties:\n      name: state-terraform-s3\n      policy: ${example.json}\nvariables:\n  example:\n    fn::invoke:\n      function: minio:getIamPolicyDocument\n      arguments:\n        statements:\n          - sid: '1'\n            actions:\n              - s3:ListAllMyBuckets\n              - s3:GetBucketLocation\n            resources:\n              - arn:aws:s3:::*\n          - actions:\n              - s3:ListBucket\n            resources:\n              - arn:aws:s3:::state-terraform-s3\n            conditions:\n              - test: StringLike\n                variable: s3:prefix\n                values:\n                  - \"\"\n                  - home/\n          - actions:\n              - s3:PutObject\n            resources:\n              - arn:aws:s3:::state-terraform-s3\n              - arn:aws:s3:::state-terraform-s3/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamPolicyDocument.\n","properties":{"overrideJson":{"type":"string"},"policyId":{"type":"string"},"sourceJson":{"type":"string"},"statements":{"type":"array","items":{"$ref":"#/types/minio:index/getIamPolicyDocumentStatement:getIamPolicyDocumentStatement"}},"version":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamPolicyDocument.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"json":{"type":"string"},"overrideJson":{"type":"string"},"policyId":{"type":"string"},"sourceJson":{"type":"string"},"statements":{"items":{"$ref":"#/types/minio:index/getIamPolicyDocumentStatement:getIamPolicyDocumentStatement"},"type":"array"},"version":{"type":"string"}},"required":["json","id"],"type":"object"}},"pulumi:providers:minio/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:minio/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}