diff --git a/provider/cmd/pulumi-resource-snowflake/schema.json b/provider/cmd/pulumi-resource-snowflake/schema.json index c4c99524..8d5c0044 100644 --- a/provider/cmd/pulumi-resource-snowflake/schema.json +++ b/provider/cmd/pulumi-resource-snowflake/schema.json @@ -2123,6 +2123,10 @@ "snowflake:index/accountGrant:AccountGrant": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst grant = new snowflake.AccountGrant(\"grant\", {\n privilege: \"CREATE ROLE\",\n roles: [\n \"role1\",\n \"role2\",\n ],\n withGrantOption: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_snowflake as snowflake\n\ngrant = snowflake.AccountGrant(\"grant\",\n privilege=\"CREATE ROLE\",\n roles=[\n \"role1\",\n \"role2\",\n ],\n with_grant_option=False)\n```\n```csharp\nusing Pulumi;\nusing Snowflake = Pulumi.Snowflake;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var grant = new Snowflake.AccountGrant(\"grant\", new Snowflake.AccountGrantArgs\n {\n Privilege = \"CREATE ROLE\",\n Roles = \n {\n \"role1\",\n \"role2\",\n },\n WithGrantOption = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-snowflake/sdk/go/snowflake\"\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 := snowflake.NewAccountGrant(ctx, \"grant\", \u0026snowflake.AccountGrantArgs{\n\t\t\tPrivilege: pulumi.String(\"CREATE ROLE\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"role1\"),\n\t\t\t\tpulumi.String(\"role2\"),\n\t\t\t},\n\t\t\tWithGrantOption: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# format is account name | | | privilege | true/false for with_grant_option\n\n```sh\n $ pulumi import snowflake:index/accountGrant:AccountGrant example 'accountName|||USAGE|true'\n```\n\n ", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the account.\n" @@ -2140,6 +2144,10 @@ } }, "inputProperties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the account.\n" @@ -2159,6 +2167,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering AccountGrant resources.\n", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the account.\n" @@ -2472,6 +2484,10 @@ "type": "string", "description": "The name of the database on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the database.\n" @@ -2503,6 +2519,10 @@ "type": "string", "description": "The name of the database on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the database.\n" @@ -2536,6 +2556,10 @@ "type": "string", "description": "The name of the database on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the database.\n" @@ -3309,6 +3333,10 @@ "type": "string", "description": "The name of the database containing the current or future external tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "externalTableName": { "type": "string", "description": "The name of the external table on which to grant privileges immediately (only valid if on_future is false).\n" @@ -3353,6 +3381,10 @@ "type": "string", "description": "The name of the database containing the current or future external tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "externalTableName": { "type": "string", "description": "The name of the external table on which to grant privileges immediately (only valid if on_future is false).\n" @@ -3399,6 +3431,10 @@ "type": "string", "description": "The name of the database containing the current or future external tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "externalTableName": { "type": "string", "description": "The name of the external table on which to grant privileges immediately (only valid if on_future is false).\n" @@ -3909,6 +3945,10 @@ "type": "string", "description": "The name of the database containing the current or future file formats on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "fileFormatName": { "type": "string", "description": "The name of the file format on which to grant privileges immediately (only valid if on_future is false).\n" @@ -3946,6 +3986,10 @@ "type": "string", "description": "The name of the database containing the current or future file formats on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "fileFormatName": { "type": "string", "description": "The name of the file format on which to grant privileges immediately (only valid if on_future is false).\n" @@ -3985,6 +4029,10 @@ "type": "string", "description": "The name of the database containing the current or future file formats on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "fileFormatName": { "type": "string", "description": "The name of the file format on which to grant privileges immediately (only valid if on_future is false).\n" @@ -4229,6 +4277,10 @@ "type": "string", "description": "The name of the database containing the current or future functions on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "functionName": { "type": "string", "description": "The name of the function on which to grant privileges immediately (only valid if on_future is false).\n" @@ -4284,6 +4336,10 @@ "type": "string", "description": "The name of the database containing the current or future functions on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "functionName": { "type": "string", "description": "The name of the function on which to grant privileges immediately (only valid if on_future is false).\n" @@ -4341,6 +4397,10 @@ "type": "string", "description": "The name of the database containing the current or future functions on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "functionName": { "type": "string", "description": "The name of the function on which to grant privileges immediately (only valid if on_future is false).\n" @@ -4386,6 +4446,10 @@ "snowflake:index/integrationGrant:IntegrationGrant": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst grant = new snowflake.IntegrationGrant(\"grant\", {\n integrationName: \"integration\",\n privilege: \"USAGE\",\n roles: [\n \"role1\",\n \"role2\",\n ],\n withGrantOption: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_snowflake as snowflake\n\ngrant = snowflake.IntegrationGrant(\"grant\",\n integration_name=\"integration\",\n privilege=\"USAGE\",\n roles=[\n \"role1\",\n \"role2\",\n ],\n with_grant_option=False)\n```\n```csharp\nusing Pulumi;\nusing Snowflake = Pulumi.Snowflake;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var grant = new Snowflake.IntegrationGrant(\"grant\", new Snowflake.IntegrationGrantArgs\n {\n IntegrationName = \"integration\",\n Privilege = \"USAGE\",\n Roles = \n {\n \"role1\",\n \"role2\",\n },\n WithGrantOption = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-snowflake/sdk/go/snowflake\"\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 := snowflake.NewIntegrationGrant(ctx, \"grant\", \u0026snowflake.IntegrationGrantArgs{\n\t\t\tIntegrationName: pulumi.String(\"integration\"),\n\t\t\tPrivilege: pulumi.String(\"USAGE\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"role1\"),\n\t\t\t\tpulumi.String(\"role2\"),\n\t\t\t},\n\t\t\tWithGrantOption: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# format is integration name ||| privilege | true/false for with_grant_option\n\n```sh\n $ pulumi import snowflake:index/integrationGrant:IntegrationGrant example 'intName|||USAGE|true'\n```\n\n ", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "integrationName": { "type": "string", "description": "Identifier for the integration; must be unique for your account.\n" @@ -4410,6 +4474,10 @@ "integrationName" ], "inputProperties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "integrationName": { "type": "string", "description": "Identifier for the integration; must be unique for your account.\n" @@ -4436,6 +4504,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering IntegrationGrant resources.\n", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "integrationName": { "type": "string", "description": "Identifier for the integration; must be unique for your account.\n" @@ -4704,6 +4776,10 @@ "type": "string", "description": "The name of the database containing the masking policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "maskingPolicyName": { "type": "string", "description": "The name of the masking policy on which to grant privileges immediately.\n" @@ -4738,6 +4814,10 @@ "type": "string", "description": "The name of the database containing the masking policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "maskingPolicyName": { "type": "string", "description": "The name of the masking policy on which to grant privileges immediately.\n" @@ -4774,6 +4854,10 @@ "type": "string", "description": "The name of the database containing the masking policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "maskingPolicyName": { "type": "string", "description": "The name of the masking policy on which to grant privileges immediately.\n" @@ -4951,6 +5035,10 @@ "type": "string", "description": "The name of the database containing the current or future materialized views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "materializedViewName": { "type": "string", "description": "The name of the materialized view on which to grant privileges immediately (only valid if on_future is false).\n" @@ -4994,6 +5082,10 @@ "type": "string", "description": "The name of the database containing the current or future materialized views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "materializedViewName": { "type": "string", "description": "The name of the materialized view on which to grant privileges immediately (only valid if on_future is false).\n" @@ -5039,6 +5131,10 @@ "type": "string", "description": "The name of the database containing the current or future materialized views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "materializedViewName": { "type": "string", "description": "The name of the materialized view on which to grant privileges immediately (only valid if on_future is false).\n" @@ -5738,6 +5834,10 @@ "type": "string", "description": "The name of the database containing the current or future pipes on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future.\n" @@ -5775,6 +5875,10 @@ "type": "string", "description": "The name of the database containing the current or future pipes on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future.\n" @@ -5814,6 +5918,10 @@ "type": "string", "description": "The name of the database containing the current or future pipes on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future.\n" @@ -6014,6 +6122,10 @@ "type": "string", "description": "The name of the database containing the current or future procedures on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future.\n" @@ -6069,6 +6181,10 @@ "type": "string", "description": "The name of the database containing the current or future procedures on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future.\n" @@ -6126,6 +6242,10 @@ "type": "string", "description": "The name of the database containing the current or future procedures on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future.\n" @@ -6346,6 +6466,10 @@ "snowflake:index/resourceMonitorGrant:ResourceMonitorGrant": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst grant = new snowflake.MonitorGrant(\"grant\", {\n monitorName: \"monitor\",\n privilege: \"MODIFY\",\n roles: [\"role1\"],\n withGrantOption: false,\n});\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import snowflake:index/resourceMonitorGrant:ResourceMonitorGrant example name\n```\n\n ", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "monitorName": { "type": "string", "description": "Identifier for the resource monitor; must be unique for your account.\n" @@ -6370,6 +6494,10 @@ "monitorName" ], "inputProperties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "monitorName": { "type": "string", "description": "Identifier for the resource monitor; must be unique for your account.\n" @@ -6396,6 +6524,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering ResourceMonitorGrant resources.\n", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "monitorName": { "type": "string", "description": "Identifier for the resource monitor; must be unique for your account.\n" @@ -6477,6 +6609,10 @@ "snowflake:index/roleGrants:RoleGrants": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst role = new snowflake.Role(\"role\", {\n comment: \"for testing\",\n});\nconst user = new snowflake.User(\"user\", {\n comment: \"for testing\",\n});\nconst user2 = new snowflake.User(\"user2\", {\n comment: \"for testing\",\n});\nconst otherRole = new snowflake.Role(\"other_role\", {});\nconst grants = new snowflake.RoleGrants(\"grants\", {\n roleName: role.name,\n roles: [otherRole.name],\n users: [\n user.name,\n user2.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_snowflake as snowflake\n\nrole = snowflake.Role(\"role\", comment=\"for testing\")\nuser = snowflake.User(\"user\", comment=\"for testing\")\nuser2 = snowflake.User(\"user2\", comment=\"for testing\")\nother_role = snowflake.Role(\"otherRole\")\ngrants = snowflake.RoleGrants(\"grants\",\n role_name=role.name,\n roles=[other_role.name],\n users=[\n user.name,\n user2.name,\n ])\n```\n```csharp\nusing Pulumi;\nusing Snowflake = Pulumi.Snowflake;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var role = new Snowflake.Role(\"role\", new Snowflake.RoleArgs\n {\n Comment = \"for testing\",\n });\n var user = new Snowflake.User(\"user\", new Snowflake.UserArgs\n {\n Comment = \"for testing\",\n });\n var user2 = new Snowflake.User(\"user2\", new Snowflake.UserArgs\n {\n Comment = \"for testing\",\n });\n var otherRole = new Snowflake.Role(\"otherRole\", new Snowflake.RoleArgs\n {\n });\n var grants = new Snowflake.RoleGrants(\"grants\", new Snowflake.RoleGrantsArgs\n {\n RoleName = role.Name,\n Roles = \n {\n otherRole.Name,\n },\n Users = \n {\n user.Name,\n user2.Name,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-snowflake/sdk/go/snowflake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trole, err := snowflake.NewRole(ctx, \"role\", \u0026snowflake.RoleArgs{\n\t\t\tComment: pulumi.String(\"for testing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser, err := snowflake.NewUser(ctx, \"user\", \u0026snowflake.UserArgs{\n\t\t\tComment: pulumi.String(\"for testing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser2, err := snowflake.NewUser(ctx, \"user2\", \u0026snowflake.UserArgs{\n\t\t\tComment: pulumi.String(\"for testing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\totherRole, err := snowflake.NewRole(ctx, \"otherRole\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = snowflake.NewRoleGrants(ctx, \"grants\", \u0026snowflake.RoleGrantsArgs{\n\t\t\tRoleName: role.Name,\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\totherRole.Name,\n\t\t\t},\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tuser.Name,\n\t\t\t\tuser2.Name,\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import snowflake:index/roleGrants:RoleGrants example rolename\n```\n\n ", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "roleName": { "type": "string", "description": "The name of the role we are granting.\n" @@ -6500,6 +6636,10 @@ "roleName" ], "inputProperties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "roleName": { "type": "string", "description": "The name of the role we are granting.\n" @@ -6525,6 +6665,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering RoleGrants resources.\n", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "roleName": { "type": "string", "description": "The name of the role we are granting.\n" @@ -6547,6 +6691,62 @@ "type": "object" } }, + "snowflake:index/roleOwnershipGrant:RoleOwnershipGrant": { + "properties": { + "currentGrants": { + "type": "string", + "description": "Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role.\n" + }, + "onRoleName": { + "type": "string", + "description": "The name of the role ownership is granted on.\n" + }, + "toRoleName": { + "type": "string", + "description": "The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access.\n" + } + }, + "required": [ + "onRoleName", + "toRoleName" + ], + "inputProperties": { + "currentGrants": { + "type": "string", + "description": "Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role.\n" + }, + "onRoleName": { + "type": "string", + "description": "The name of the role ownership is granted on.\n" + }, + "toRoleName": { + "type": "string", + "description": "The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access.\n" + } + }, + "requiredInputs": [ + "onRoleName", + "toRoleName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RoleOwnershipGrant resources.\n", + "properties": { + "currentGrants": { + "type": "string", + "description": "Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role.\n" + }, + "onRoleName": { + "type": "string", + "description": "The name of the role ownership is granted on.\n" + }, + "toRoleName": { + "type": "string", + "description": "The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access.\n" + } + }, + "type": "object" + } + }, "snowflake:index/rowAccessPolicy:RowAccessPolicy": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst exampleRowAccessPolicy = new snowflake.RowAccessPolicy(\"example_row_access_policy\", {\n database: \"EXAMPLE_DB\",\n rowAccessExpression: \"case when current_role() in ('ANALYST') then true else false end\",\n schema: \"EXAMPLE_SCHEMA\",\n signature: {\n A: \"VARCHAR\",\n B: \"VARCHAR\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_snowflake as snowflake\n\nexample_row_access_policy = snowflake.RowAccessPolicy(\"exampleRowAccessPolicy\",\n database=\"EXAMPLE_DB\",\n row_access_expression=\"case when current_role() in ('ANALYST') then true else false end\",\n schema=\"EXAMPLE_SCHEMA\",\n signature={\n \"A\": \"VARCHAR\",\n \"B\": \"VARCHAR\",\n })\n```\n```csharp\nusing Pulumi;\nusing Snowflake = Pulumi.Snowflake;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleRowAccessPolicy = new Snowflake.RowAccessPolicy(\"exampleRowAccessPolicy\", new Snowflake.RowAccessPolicyArgs\n {\n Database = \"EXAMPLE_DB\",\n RowAccessExpression = \"case when current_role() in ('ANALYST') then true else false end\",\n Schema = \"EXAMPLE_SCHEMA\",\n Signature = \n {\n { \"A\", \"VARCHAR\" },\n { \"B\", \"VARCHAR\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-snowflake/sdk/go/snowflake\"\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 := snowflake.NewRowAccessPolicy(ctx, \"exampleRowAccessPolicy\", \u0026snowflake.RowAccessPolicyArgs{\n\t\t\tDatabase: pulumi.String(\"EXAMPLE_DB\"),\n\t\t\tRowAccessExpression: pulumi.String(\"case when current_role() in ('ANALYST') then true else false end\"),\n\t\t\tSchema: pulumi.String(\"EXAMPLE_SCHEMA\"),\n\t\t\tSignature: pulumi.StringMap{\n\t\t\t\t\"A\": pulumi.String(\"VARCHAR\"),\n\t\t\t\t\"B\": pulumi.String(\"VARCHAR\"),\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# format is database name | schema name | policy name\n\n```sh\n $ pulumi import snowflake:index/rowAccessPolicy:RowAccessPolicy example 'dbName|schemaName|policyName'\n```\n\n ", "properties": { @@ -6661,6 +6861,10 @@ "type": "string", "description": "The name of the database containing the row access policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the row access policy.\n" @@ -6695,6 +6899,10 @@ "type": "string", "description": "The name of the database containing the row access policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the row access policy.\n" @@ -6731,6 +6939,10 @@ "type": "string", "description": "The name of the database containing the row access policy on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the row access policy.\n" @@ -7119,6 +7331,10 @@ "type": "string", "description": "The name of the database containing the schema on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future.\n" @@ -7158,6 +7374,10 @@ "type": "string", "description": "The name of the database containing the schema on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future.\n" @@ -7199,6 +7419,10 @@ "type": "string", "description": "The name of the database containing the schema on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future.\n" @@ -7419,6 +7643,10 @@ "type": "string", "description": "The name of the database containing the current or future sequences on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future.\n" @@ -7456,6 +7684,10 @@ "type": "string", "description": "The name of the database containing the current or future sequences on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future.\n" @@ -7495,6 +7727,10 @@ "type": "string", "description": "The name of the database containing the current or future sequences on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future.\n" @@ -7789,6 +8025,10 @@ "type": "string", "description": "The name of the database containing the current stage on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future.\n" @@ -7826,6 +8066,10 @@ "type": "string", "description": "The name of the database containing the current stage on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future.\n" @@ -7865,6 +8109,10 @@ "type": "string", "description": "The name of the database containing the current stage on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future.\n" @@ -8223,6 +8471,10 @@ "type": "string", "description": "The name of the database containing the current or future streams on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future.\n" @@ -8260,6 +8512,10 @@ "type": "string", "description": "The name of the database containing the current or future streams on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future.\n" @@ -8299,6 +8555,10 @@ "type": "string", "description": "The name of the database containing the current or future streams on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future.\n" @@ -8517,6 +8777,10 @@ "type": "string", "description": "The name of the database containing the current or future tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.\n" @@ -8560,6 +8824,10 @@ "type": "string", "description": "The name of the database containing the current or future tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.\n" @@ -8605,6 +8873,10 @@ "type": "string", "description": "The name of the database containing the current or future tables on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.\n" @@ -8920,6 +9192,10 @@ "type": "string", "description": "The name of the database containing the current or future tasks on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future.\n" @@ -8957,6 +9233,10 @@ "type": "string", "description": "The name of the database containing the current or future tasks on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future.\n" @@ -8996,6 +9276,10 @@ "type": "string", "description": "The name of the database containing the current or future tasks on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future.\n" @@ -9438,6 +9722,10 @@ "type": "string", "description": "The name of the database containing the current or future views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future.\n" @@ -9481,6 +9769,10 @@ "type": "string", "description": "The name of the database containing the current or future views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future.\n" @@ -9526,6 +9818,10 @@ "type": "string", "description": "The name of the database containing the current or future views on which to grant privileges.\n" }, + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "onFuture": { "type": "boolean", "description": "When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future.\n" @@ -9776,6 +10072,10 @@ "snowflake:index/warehouseGrant:WarehouseGrant": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as snowflake from \"@pulumi/snowflake\";\n\nconst grant = new snowflake.WarehouseGrant(\"grant\", {\n privilege: \"MODIFY\",\n roles: [\"role1\"],\n warehouseName: \"wh\",\n withGrantOption: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_snowflake as snowflake\n\ngrant = snowflake.WarehouseGrant(\"grant\",\n privilege=\"MODIFY\",\n roles=[\"role1\"],\n warehouse_name=\"wh\",\n with_grant_option=False)\n```\n```csharp\nusing Pulumi;\nusing Snowflake = Pulumi.Snowflake;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var grant = new Snowflake.WarehouseGrant(\"grant\", new Snowflake.WarehouseGrantArgs\n {\n Privilege = \"MODIFY\",\n Roles = \n {\n \"role1\",\n },\n WarehouseName = \"wh\",\n WithGrantOption = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-snowflake/sdk/go/snowflake\"\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 := snowflake.NewWarehouseGrant(ctx, \"grant\", \u0026snowflake.WarehouseGrantArgs{\n\t\t\tPrivilege: pulumi.String(\"MODIFY\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"role1\"),\n\t\t\t},\n\t\t\tWarehouseName: pulumi.String(\"wh\"),\n\t\t\tWithGrantOption: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# format is warehouse name | | | privilege | true/false for with_grant_option\n\n```sh\n $ pulumi import snowflake:index/warehouseGrant:WarehouseGrant example 'warehouseName|||MODIFY|true'\n```\n\n ", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the warehouse.\n" @@ -9800,6 +10100,10 @@ "warehouseName" ], "inputProperties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the warehouse.\n" @@ -9826,6 +10130,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering WarehouseGrant resources.\n", "properties": { + "enableMultipleGrants": { + "type": "boolean", + "description": "When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke\ngrants applied to roles and objects outside Terraform.\n" + }, "privilege": { "type": "string", "description": "The privilege to grant on the warehouse.\n" diff --git a/provider/go.mod b/provider/go.mod index 1550cdb2..e7c2f61f 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -9,7 +9,7 @@ replace ( require ( cloud.google.com/go/kms v1.4.0 // indirect - github.com/chanzuckerberg/terraform-provider-snowflake v0.28.8 + github.com/chanzuckerberg/terraform-provider-snowflake v0.29.0 github.com/hashicorp/terraform-plugin-sdk v1.9.1 // indirect github.com/pulumi/pulumi-terraform-bridge/v3 v3.19.1 github.com/pulumi/pulumi/sdk/v3 v3.25.0 diff --git a/provider/go.sum b/provider/go.sum index 552fdf83..6d6de165 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -402,8 +402,8 @@ github.com/chanzuckerberg/aws-oidc v0.23.1/go.mod h1:AbN6f7tGQ1aR8kJdr5Mpnyk3iab github.com/chanzuckerberg/go-misc v0.0.0-20200814145037-61fd36eedee6/go.mod h1:5GljuH2+xw/T7ovs4sRj9WbNRrgePgom8sMzJJPlAAo= github.com/chanzuckerberg/go-misc v0.0.0-20220309145137-a6d9e8c090d2 h1:yQ3ygwbCH0Wp0YPQSlILa21yGLD5guv4eUZrVaJ0ZPw= github.com/chanzuckerberg/go-misc v0.0.0-20220309145137-a6d9e8c090d2/go.mod h1:josvORVy6Us8JVr+O3qkNUgFmqu2I0Goy/5ZXKK5bVQ= -github.com/chanzuckerberg/terraform-provider-snowflake v0.28.8 h1:r0LVx9Ptukaraw4eG8BIBTeK7H6pMkeEeQLzSStr2vA= -github.com/chanzuckerberg/terraform-provider-snowflake v0.28.8/go.mod h1:1vwIUm8Ot8i1AcxqVksNTIq4tTzp3F46qR1PrS/oX5k= +github.com/chanzuckerberg/terraform-provider-snowflake v0.29.0 h1:SG1QXNj+YnoyPxqFGcjlJ4t3xFH7U+EiTs1GmCsR4EA= +github.com/chanzuckerberg/terraform-provider-snowflake v0.29.0/go.mod h1:1vwIUm8Ot8i1AcxqVksNTIq4tTzp3F46qR1PrS/oX5k= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= diff --git a/provider/resources.go b/provider/resources.go index 0961adbd..59db47e4 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -132,6 +132,7 @@ func Provider() tfbridge.ProviderInfo { "snowflake_oauth_integration": {Tok: makeResource(mainMod, "OauthIntegration")}, "snowflake_saml_integration": {Tok: makeResource(mainMod, "SamlIntegration")}, "snowflake_external_oauth_integration": {Tok: makeResource(mainMod, "ExternalOauthIntegration")}, + "snowflake_role_ownership_grant": {Tok: makeResource(mainMod, "RoleOwnershipGrant")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ "snowflake_current_account": {Tok: makeDataSource(mainMod, "getCurrentAccount")}, diff --git a/sdk/dotnet/AccountGrant.cs b/sdk/dotnet/AccountGrant.cs index 77acf33b..f69df82a 100644 --- a/sdk/dotnet/AccountGrant.cs +++ b/sdk/dotnet/AccountGrant.cs @@ -46,6 +46,13 @@ namespace Pulumi.Snowflake [SnowflakeResourceType("snowflake:index/accountGrant:AccountGrant")] public partial class AccountGrant : Pulumi.CustomResource { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The privilege to grant on the account. /// @@ -110,6 +117,13 @@ public static AccountGrant Get(string name, Input id, AccountGrantState? public sealed class AccountGrantArgs : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the account. /// @@ -141,6 +155,13 @@ public AccountGrantArgs() public sealed class AccountGrantState : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the account. /// diff --git a/sdk/dotnet/DatabaseGrant.cs b/sdk/dotnet/DatabaseGrant.cs index f297c71a..b532aed5 100644 --- a/sdk/dotnet/DatabaseGrant.cs +++ b/sdk/dotnet/DatabaseGrant.cs @@ -58,6 +58,13 @@ public partial class DatabaseGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The privilege to grant on the database. /// @@ -134,6 +141,13 @@ public sealed class DatabaseGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the database. /// @@ -183,6 +197,13 @@ public sealed class DatabaseGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the database. /// diff --git a/sdk/dotnet/ExternalTableGrant.cs b/sdk/dotnet/ExternalTableGrant.cs index e4631fe0..3bfb6af8 100644 --- a/sdk/dotnet/ExternalTableGrant.cs +++ b/sdk/dotnet/ExternalTableGrant.cs @@ -61,6 +61,13 @@ public partial class ExternalTableGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the external table on which to grant privileges immediately (only valid if on_future is false). /// @@ -155,6 +162,13 @@ public sealed class ExternalTableGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the external table on which to grant privileges immediately (only valid if on_future is false). /// @@ -222,6 +236,13 @@ public sealed class ExternalTableGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the external table on which to grant privileges immediately (only valid if on_future is false). /// diff --git a/sdk/dotnet/FileFormatGrant.cs b/sdk/dotnet/FileFormatGrant.cs index 4cb883eb..3a57ddce 100644 --- a/sdk/dotnet/FileFormatGrant.cs +++ b/sdk/dotnet/FileFormatGrant.cs @@ -56,6 +56,13 @@ public partial class FileFormatGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the file format on which to grant privileges immediately (only valid if on_future is false). /// @@ -144,6 +151,13 @@ public sealed class FileFormatGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the file format on which to grant privileges immediately (only valid if on_future is false). /// @@ -199,6 +213,13 @@ public sealed class FileFormatGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the file format on which to grant privileges immediately (only valid if on_future is false). /// diff --git a/sdk/dotnet/FunctionGrant.cs b/sdk/dotnet/FunctionGrant.cs index 97c0c0e7..a800cc2d 100644 --- a/sdk/dotnet/FunctionGrant.cs +++ b/sdk/dotnet/FunctionGrant.cs @@ -77,6 +77,13 @@ public partial class FunctionGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the function on which to grant privileges immediately (only valid if on_future is false). /// @@ -189,6 +196,13 @@ public InputList Arguments [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the function on which to grant privileges immediately (only valid if on_future is false). /// @@ -274,6 +288,13 @@ public InputList Arguments [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the function on which to grant privileges immediately (only valid if on_future is false). /// diff --git a/sdk/dotnet/IntegrationGrant.cs b/sdk/dotnet/IntegrationGrant.cs index 0c796561..0d55d47a 100644 --- a/sdk/dotnet/IntegrationGrant.cs +++ b/sdk/dotnet/IntegrationGrant.cs @@ -47,6 +47,13 @@ namespace Pulumi.Snowflake [SnowflakeResourceType("snowflake:index/integrationGrant:IntegrationGrant")] public partial class IntegrationGrant : Pulumi.CustomResource { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// Identifier for the integration; must be unique for your account. /// @@ -117,6 +124,13 @@ public static IntegrationGrant Get(string name, Input id, IntegrationGra public sealed class IntegrationGrantArgs : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// Identifier for the integration; must be unique for your account. /// @@ -154,6 +168,13 @@ public IntegrationGrantArgs() public sealed class IntegrationGrantState : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// Identifier for the integration; must be unique for your account. /// diff --git a/sdk/dotnet/MaskingPolicyGrant.cs b/sdk/dotnet/MaskingPolicyGrant.cs index 60ed0b8a..54b5bc12 100644 --- a/sdk/dotnet/MaskingPolicyGrant.cs +++ b/sdk/dotnet/MaskingPolicyGrant.cs @@ -18,6 +18,13 @@ public partial class MaskingPolicyGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the masking policy on which to grant privileges immediately. /// @@ -100,6 +107,13 @@ public sealed class MaskingPolicyGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the masking policy on which to grant privileges immediately. /// @@ -149,6 +163,13 @@ public sealed class MaskingPolicyGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the masking policy on which to grant privileges immediately. /// diff --git a/sdk/dotnet/MaterializedViewGrant.cs b/sdk/dotnet/MaterializedViewGrant.cs index b9efb96c..09816bef 100644 --- a/sdk/dotnet/MaterializedViewGrant.cs +++ b/sdk/dotnet/MaterializedViewGrant.cs @@ -61,6 +61,13 @@ public partial class MaterializedViewGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). /// @@ -155,6 +162,13 @@ public sealed class MaterializedViewGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). /// @@ -222,6 +236,13 @@ public sealed class MaterializedViewGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). /// diff --git a/sdk/dotnet/PipeGrant.cs b/sdk/dotnet/PipeGrant.cs index c265a0fd..022a2453 100644 --- a/sdk/dotnet/PipeGrant.cs +++ b/sdk/dotnet/PipeGrant.cs @@ -27,6 +27,13 @@ public partial class PipeGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. /// @@ -115,6 +122,13 @@ public sealed class PipeGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. /// @@ -170,6 +184,13 @@ public sealed class PipeGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. /// diff --git a/sdk/dotnet/ProcedureGrant.cs b/sdk/dotnet/ProcedureGrant.cs index c0ddf7a7..5d465c63 100644 --- a/sdk/dotnet/ProcedureGrant.cs +++ b/sdk/dotnet/ProcedureGrant.cs @@ -77,6 +77,13 @@ public partial class ProcedureGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. /// @@ -189,6 +196,13 @@ public InputList Arguments [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. /// @@ -274,6 +288,13 @@ public InputList Arguments [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. /// diff --git a/sdk/dotnet/ResourceMonitorGrant.cs b/sdk/dotnet/ResourceMonitorGrant.cs index cfa8a538..20446203 100644 --- a/sdk/dotnet/ResourceMonitorGrant.cs +++ b/sdk/dotnet/ResourceMonitorGrant.cs @@ -19,6 +19,13 @@ namespace Pulumi.Snowflake [SnowflakeResourceType("snowflake:index/resourceMonitorGrant:ResourceMonitorGrant")] public partial class ResourceMonitorGrant : Pulumi.CustomResource { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// Identifier for the resource monitor; must be unique for your account. /// @@ -89,6 +96,13 @@ public static ResourceMonitorGrant Get(string name, Input id, ResourceMo public sealed class ResourceMonitorGrantArgs : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// Identifier for the resource monitor; must be unique for your account. /// @@ -126,6 +140,13 @@ public ResourceMonitorGrantArgs() public sealed class ResourceMonitorGrantState : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// Identifier for the resource monitor; must be unique for your account. /// diff --git a/sdk/dotnet/RoleGrants.cs b/sdk/dotnet/RoleGrants.cs index acbdbdbb..e37a9225 100644 --- a/sdk/dotnet/RoleGrants.cs +++ b/sdk/dotnet/RoleGrants.cs @@ -62,6 +62,13 @@ namespace Pulumi.Snowflake [SnowflakeResourceType("snowflake:index/roleGrants:RoleGrants")] public partial class RoleGrants : Pulumi.CustomResource { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The name of the role we are granting. /// @@ -126,6 +133,13 @@ public static RoleGrants Get(string name, Input id, RoleGrantsState? sta public sealed class RoleGrantsArgs : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the role we are granting. /// @@ -163,6 +177,13 @@ public RoleGrantsArgs() public sealed class RoleGrantsState : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The name of the role we are granting. /// diff --git a/sdk/dotnet/RoleOwnershipGrant.cs b/sdk/dotnet/RoleOwnershipGrant.cs new file mode 100644 index 00000000..e61ab779 --- /dev/null +++ b/sdk/dotnet/RoleOwnershipGrant.cs @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Snowflake +{ + [SnowflakeResourceType("snowflake:index/roleOwnershipGrant:RoleOwnershipGrant")] + public partial class RoleOwnershipGrant : Pulumi.CustomResource + { + /// + /// Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + /// + [Output("currentGrants")] + public Output CurrentGrants { get; private set; } = null!; + + /// + /// The name of the role ownership is granted on. + /// + [Output("onRoleName")] + public Output OnRoleName { get; private set; } = null!; + + /// + /// The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + /// + [Output("toRoleName")] + public Output ToRoleName { get; private set; } = null!; + + + /// + /// Create a RoleOwnershipGrant resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public RoleOwnershipGrant(string name, RoleOwnershipGrantArgs args, CustomResourceOptions? options = null) + : base("snowflake:index/roleOwnershipGrant:RoleOwnershipGrant", name, args ?? new RoleOwnershipGrantArgs(), MakeResourceOptions(options, "")) + { + } + + private RoleOwnershipGrant(string name, Input id, RoleOwnershipGrantState? state = null, CustomResourceOptions? options = null) + : base("snowflake:index/roleOwnershipGrant:RoleOwnershipGrant", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing RoleOwnershipGrant resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static RoleOwnershipGrant Get(string name, Input id, RoleOwnershipGrantState? state = null, CustomResourceOptions? options = null) + { + return new RoleOwnershipGrant(name, id, state, options); + } + } + + public sealed class RoleOwnershipGrantArgs : Pulumi.ResourceArgs + { + /// + /// Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + /// + [Input("currentGrants")] + public Input? CurrentGrants { get; set; } + + /// + /// The name of the role ownership is granted on. + /// + [Input("onRoleName", required: true)] + public Input OnRoleName { get; set; } = null!; + + /// + /// The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + /// + [Input("toRoleName", required: true)] + public Input ToRoleName { get; set; } = null!; + + public RoleOwnershipGrantArgs() + { + } + } + + public sealed class RoleOwnershipGrantState : Pulumi.ResourceArgs + { + /// + /// Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + /// + [Input("currentGrants")] + public Input? CurrentGrants { get; set; } + + /// + /// The name of the role ownership is granted on. + /// + [Input("onRoleName")] + public Input? OnRoleName { get; set; } + + /// + /// The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + /// + [Input("toRoleName")] + public Input? ToRoleName { get; set; } + + public RoleOwnershipGrantState() + { + } + } +} diff --git a/sdk/dotnet/RowAccessPolicyGrant.cs b/sdk/dotnet/RowAccessPolicyGrant.cs index 036b66b9..0e2aaefa 100644 --- a/sdk/dotnet/RowAccessPolicyGrant.cs +++ b/sdk/dotnet/RowAccessPolicyGrant.cs @@ -55,6 +55,13 @@ public partial class RowAccessPolicyGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The privilege to grant on the row access policy. /// @@ -137,6 +144,13 @@ public sealed class RowAccessPolicyGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the row access policy. /// @@ -186,6 +200,13 @@ public sealed class RowAccessPolicyGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the row access policy. /// diff --git a/sdk/dotnet/SchemaGrant.cs b/sdk/dotnet/SchemaGrant.cs index fdfffb4d..221b2084 100644 --- a/sdk/dotnet/SchemaGrant.cs +++ b/sdk/dotnet/SchemaGrant.cs @@ -60,6 +60,13 @@ public partial class SchemaGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. /// @@ -149,6 +156,13 @@ public sealed class SchemaGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. /// @@ -211,6 +225,13 @@ public sealed class SchemaGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. /// diff --git a/sdk/dotnet/SequenceGrant.cs b/sdk/dotnet/SequenceGrant.cs index 881eb0e8..7049c674 100644 --- a/sdk/dotnet/SequenceGrant.cs +++ b/sdk/dotnet/SequenceGrant.cs @@ -56,6 +56,13 @@ public partial class SequenceGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. /// @@ -144,6 +151,13 @@ public sealed class SequenceGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. /// @@ -199,6 +213,13 @@ public sealed class SequenceGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. /// diff --git a/sdk/dotnet/StageGrant.cs b/sdk/dotnet/StageGrant.cs index 7a53ad77..f137bc36 100644 --- a/sdk/dotnet/StageGrant.cs +++ b/sdk/dotnet/StageGrant.cs @@ -27,6 +27,13 @@ public partial class StageGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. /// @@ -115,6 +122,13 @@ public sealed class StageGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. /// @@ -170,6 +184,13 @@ public sealed class StageGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. /// diff --git a/sdk/dotnet/StreamGrant.cs b/sdk/dotnet/StreamGrant.cs index 77e7aaa9..8a1e0226 100644 --- a/sdk/dotnet/StreamGrant.cs +++ b/sdk/dotnet/StreamGrant.cs @@ -56,6 +56,13 @@ public partial class StreamGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. /// @@ -144,6 +151,13 @@ public sealed class StreamGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. /// @@ -199,6 +213,13 @@ public sealed class StreamGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. /// diff --git a/sdk/dotnet/TableGrant.cs b/sdk/dotnet/TableGrant.cs index 07604cdc..3c1c4970 100644 --- a/sdk/dotnet/TableGrant.cs +++ b/sdk/dotnet/TableGrant.cs @@ -59,6 +59,13 @@ public partial class TableGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. /// @@ -153,6 +160,13 @@ public sealed class TableGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. /// @@ -220,6 +234,13 @@ public sealed class TableGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. /// diff --git a/sdk/dotnet/TaskGrant.cs b/sdk/dotnet/TaskGrant.cs index 0f9f8758..b17bb62f 100644 --- a/sdk/dotnet/TaskGrant.cs +++ b/sdk/dotnet/TaskGrant.cs @@ -56,6 +56,13 @@ public partial class TaskGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. /// @@ -144,6 +151,13 @@ public sealed class TaskGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. /// @@ -199,6 +213,13 @@ public sealed class TaskGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. /// diff --git a/sdk/dotnet/ViewGrant.cs b/sdk/dotnet/ViewGrant.cs index e8de4cae..9de5222a 100644 --- a/sdk/dotnet/ViewGrant.cs +++ b/sdk/dotnet/ViewGrant.cs @@ -61,6 +61,13 @@ public partial class ViewGrant : Pulumi.CustomResource [Output("databaseName")] public Output DatabaseName { get; private set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. /// @@ -155,6 +162,13 @@ public sealed class ViewGrantArgs : Pulumi.ResourceArgs [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. /// @@ -222,6 +236,13 @@ public sealed class ViewGrantState : Pulumi.ResourceArgs [Input("databaseName")] public Input? DatabaseName { get; set; } + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. /// diff --git a/sdk/dotnet/WarehouseGrant.cs b/sdk/dotnet/WarehouseGrant.cs index d13c8211..a668af8d 100644 --- a/sdk/dotnet/WarehouseGrant.cs +++ b/sdk/dotnet/WarehouseGrant.cs @@ -46,6 +46,13 @@ namespace Pulumi.Snowflake [SnowflakeResourceType("snowflake:index/warehouseGrant:WarehouseGrant")] public partial class WarehouseGrant : Pulumi.CustomResource { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Output("enableMultipleGrants")] + public Output EnableMultipleGrants { get; private set; } = null!; + /// /// The privilege to grant on the warehouse. /// @@ -116,6 +123,13 @@ public static WarehouseGrant Get(string name, Input id, WarehouseGrantSt public sealed class WarehouseGrantArgs : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the warehouse. /// @@ -153,6 +167,13 @@ public WarehouseGrantArgs() public sealed class WarehouseGrantState : Pulumi.ResourceArgs { + /// + /// When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + /// grants applied to roles and objects outside Terraform. + /// + [Input("enableMultipleGrants")] + public Input? EnableMultipleGrants { get; set; } + /// /// The privilege to grant on the warehouse. /// diff --git a/sdk/go/snowflake/accountGrant.go b/sdk/go/snowflake/accountGrant.go index c68c6dc6..73ea6d8d 100644 --- a/sdk/go/snowflake/accountGrant.go +++ b/sdk/go/snowflake/accountGrant.go @@ -48,6 +48,9 @@ import ( type AccountGrant struct { pulumi.CustomResourceState + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The privilege to grant on the account. Privilege pulumi.StringPtrOutput `pulumi:"privilege"` // Grants privilege to these roles. @@ -85,6 +88,9 @@ func GetAccountGrant(ctx *pulumi.Context, // Input properties used for looking up and filtering AccountGrant resources. type accountGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the account. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -94,6 +100,9 @@ type accountGrantState struct { } type AccountGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the account. Privilege pulumi.StringPtrInput // Grants privilege to these roles. @@ -107,6 +116,9 @@ func (AccountGrantState) ElementType() reflect.Type { } type accountGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the account. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -117,6 +129,9 @@ type accountGrantArgs struct { // The set of arguments for constructing a AccountGrant resource. type AccountGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the account. Privilege pulumi.StringPtrInput // Grants privilege to these roles. diff --git a/sdk/go/snowflake/databaseGrant.go b/sdk/go/snowflake/databaseGrant.go index f8d04229..9648ac5a 100644 --- a/sdk/go/snowflake/databaseGrant.go +++ b/sdk/go/snowflake/databaseGrant.go @@ -56,6 +56,9 @@ type DatabaseGrant struct { // The name of the database on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The privilege to grant on the database. Privilege pulumi.StringPtrOutput `pulumi:"privilege"` // Grants privilege to these roles. @@ -100,6 +103,9 @@ func GetDatabaseGrant(ctx *pulumi.Context, type databaseGrantState struct { // The name of the database on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the database. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -113,6 +119,9 @@ type databaseGrantState struct { type DatabaseGrantState struct { // The name of the database on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the database. Privilege pulumi.StringPtrInput // Grants privilege to these roles. @@ -130,6 +139,9 @@ func (DatabaseGrantState) ElementType() reflect.Type { type databaseGrantArgs struct { // The name of the database on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the database. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -144,6 +156,9 @@ type databaseGrantArgs struct { type DatabaseGrantArgs struct { // The name of the database on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the database. Privilege pulumi.StringPtrInput // Grants privilege to these roles. diff --git a/sdk/go/snowflake/externalTableGrant.go b/sdk/go/snowflake/externalTableGrant.go index 05bf555b..58464ade 100644 --- a/sdk/go/snowflake/externalTableGrant.go +++ b/sdk/go/snowflake/externalTableGrant.go @@ -59,6 +59,9 @@ type ExternalTableGrant struct { // The name of the database containing the current or future external tables on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the external table on which to grant privileges immediately (only valid if onFuture is false). ExternalTableName pulumi.StringPtrOutput `pulumi:"externalTableName"` // When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. @@ -112,6 +115,9 @@ func GetExternalTableGrant(ctx *pulumi.Context, type externalTableGrantState struct { // The name of the database containing the current or future external tables on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the external table on which to grant privileges immediately (only valid if onFuture is false). ExternalTableName *string `pulumi:"externalTableName"` // When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. @@ -131,6 +137,9 @@ type externalTableGrantState struct { type ExternalTableGrantState struct { // The name of the database containing the current or future external tables on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the external table on which to grant privileges immediately (only valid if onFuture is false). ExternalTableName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. @@ -154,6 +163,9 @@ func (ExternalTableGrantState) ElementType() reflect.Type { type externalTableGrantArgs struct { // The name of the database containing the current or future external tables on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the external table on which to grant privileges immediately (only valid if onFuture is false). ExternalTableName *string `pulumi:"externalTableName"` // When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. @@ -174,6 +186,9 @@ type externalTableGrantArgs struct { type ExternalTableGrantArgs struct { // The name of the database containing the current or future external tables on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the external table on which to grant privileges immediately (only valid if onFuture is false). ExternalTableName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. diff --git a/sdk/go/snowflake/fileFormatGrant.go b/sdk/go/snowflake/fileFormatGrant.go index ebb3442b..311403fd 100644 --- a/sdk/go/snowflake/fileFormatGrant.go +++ b/sdk/go/snowflake/fileFormatGrant.go @@ -55,6 +55,9 @@ type FileFormatGrant struct { // The name of the database containing the current or future file formats on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the file format on which to grant privileges immediately (only valid if onFuture is false). FileFormatName pulumi.StringPtrOutput `pulumi:"fileFormatName"` // When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. @@ -106,6 +109,9 @@ func GetFileFormatGrant(ctx *pulumi.Context, type fileFormatGrantState struct { // The name of the database containing the current or future file formats on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the file format on which to grant privileges immediately (only valid if onFuture is false). FileFormatName *string `pulumi:"fileFormatName"` // When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. @@ -123,6 +129,9 @@ type fileFormatGrantState struct { type FileFormatGrantState struct { // The name of the database containing the current or future file formats on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the file format on which to grant privileges immediately (only valid if onFuture is false). FileFormatName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. @@ -144,6 +153,9 @@ func (FileFormatGrantState) ElementType() reflect.Type { type fileFormatGrantArgs struct { // The name of the database containing the current or future file formats on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the file format on which to grant privileges immediately (only valid if onFuture is false). FileFormatName *string `pulumi:"fileFormatName"` // When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. @@ -162,6 +174,9 @@ type fileFormatGrantArgs struct { type FileFormatGrantArgs struct { // The name of the database containing the current or future file formats on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the file format on which to grant privileges immediately (only valid if onFuture is false). FileFormatName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. diff --git a/sdk/go/snowflake/functionGrant.go b/sdk/go/snowflake/functionGrant.go index 3923bd71..df87e98a 100644 --- a/sdk/go/snowflake/functionGrant.go +++ b/sdk/go/snowflake/functionGrant.go @@ -72,6 +72,9 @@ type FunctionGrant struct { Arguments FunctionGrantArgumentArrayOutput `pulumi:"arguments"` // The name of the database containing the current or future functions on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the function on which to grant privileges immediately (only valid if onFuture is false). FunctionName pulumi.StringPtrOutput `pulumi:"functionName"` // When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. @@ -129,6 +132,9 @@ type functionGrantState struct { Arguments []FunctionGrantArgument `pulumi:"arguments"` // The name of the database containing the current or future functions on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the function on which to grant privileges immediately (only valid if onFuture is false). FunctionName *string `pulumi:"functionName"` // When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. @@ -152,6 +158,9 @@ type FunctionGrantState struct { Arguments FunctionGrantArgumentArrayInput // The name of the database containing the current or future functions on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the function on which to grant privileges immediately (only valid if onFuture is false). FunctionName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. @@ -179,6 +188,9 @@ type functionGrantArgs struct { Arguments []FunctionGrantArgument `pulumi:"arguments"` // The name of the database containing the current or future functions on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the function on which to grant privileges immediately (only valid if onFuture is false). FunctionName *string `pulumi:"functionName"` // When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. @@ -203,6 +215,9 @@ type FunctionGrantArgs struct { Arguments FunctionGrantArgumentArrayInput // The name of the database containing the current or future functions on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the function on which to grant privileges immediately (only valid if onFuture is false). FunctionName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. diff --git a/sdk/go/snowflake/init.go b/sdk/go/snowflake/init.go index 792a7130..a321ea46 100644 --- a/sdk/go/snowflake/init.go +++ b/sdk/go/snowflake/init.go @@ -80,6 +80,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Role{} case "snowflake:index/roleGrants:RoleGrants": r = &RoleGrants{} + case "snowflake:index/roleOwnershipGrant:RoleOwnershipGrant": + r = &RoleOwnershipGrant{} case "snowflake:index/rowAccessPolicy:RowAccessPolicy": r = &RowAccessPolicy{} case "snowflake:index/rowAccessPolicyGrant:RowAccessPolicyGrant": @@ -311,6 +313,11 @@ func init() { "index/roleGrants", &module{version}, ) + pulumi.RegisterResourceModule( + "snowflake", + "index/roleOwnershipGrant", + &module{version}, + ) pulumi.RegisterResourceModule( "snowflake", "index/rowAccessPolicy", diff --git a/sdk/go/snowflake/integrationGrant.go b/sdk/go/snowflake/integrationGrant.go index 68cf8d53..f691dbbd 100644 --- a/sdk/go/snowflake/integrationGrant.go +++ b/sdk/go/snowflake/integrationGrant.go @@ -50,6 +50,9 @@ import ( type IntegrationGrant struct { pulumi.CustomResourceState + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // Identifier for the integration; must be unique for your account. IntegrationName pulumi.StringOutput `pulumi:"integrationName"` // The privilege to grant on the integration. @@ -92,6 +95,9 @@ func GetIntegrationGrant(ctx *pulumi.Context, // Input properties used for looking up and filtering IntegrationGrant resources. type integrationGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // Identifier for the integration; must be unique for your account. IntegrationName *string `pulumi:"integrationName"` // The privilege to grant on the integration. @@ -103,6 +109,9 @@ type integrationGrantState struct { } type IntegrationGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // Identifier for the integration; must be unique for your account. IntegrationName pulumi.StringPtrInput // The privilege to grant on the integration. @@ -118,6 +127,9 @@ func (IntegrationGrantState) ElementType() reflect.Type { } type integrationGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // Identifier for the integration; must be unique for your account. IntegrationName string `pulumi:"integrationName"` // The privilege to grant on the integration. @@ -130,6 +142,9 @@ type integrationGrantArgs struct { // The set of arguments for constructing a IntegrationGrant resource. type IntegrationGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // Identifier for the integration; must be unique for your account. IntegrationName pulumi.StringInput // The privilege to grant on the integration. diff --git a/sdk/go/snowflake/maskingPolicyGrant.go b/sdk/go/snowflake/maskingPolicyGrant.go index 84b20a2a..fbfaf483 100644 --- a/sdk/go/snowflake/maskingPolicyGrant.go +++ b/sdk/go/snowflake/maskingPolicyGrant.go @@ -16,6 +16,9 @@ type MaskingPolicyGrant struct { // The name of the database containing the masking policy on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the masking policy on which to grant privileges immediately. MaskingPolicyName pulumi.StringOutput `pulumi:"maskingPolicyName"` // The privilege to grant on the masking policy. @@ -68,6 +71,9 @@ func GetMaskingPolicyGrant(ctx *pulumi.Context, type maskingPolicyGrantState struct { // The name of the database containing the masking policy on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the masking policy on which to grant privileges immediately. MaskingPolicyName *string `pulumi:"maskingPolicyName"` // The privilege to grant on the masking policy. @@ -83,6 +89,9 @@ type maskingPolicyGrantState struct { type MaskingPolicyGrantState struct { // The name of the database containing the masking policy on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the masking policy on which to grant privileges immediately. MaskingPolicyName pulumi.StringPtrInput // The privilege to grant on the masking policy. @@ -102,6 +111,9 @@ func (MaskingPolicyGrantState) ElementType() reflect.Type { type maskingPolicyGrantArgs struct { // The name of the database containing the masking policy on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the masking policy on which to grant privileges immediately. MaskingPolicyName string `pulumi:"maskingPolicyName"` // The privilege to grant on the masking policy. @@ -118,6 +130,9 @@ type maskingPolicyGrantArgs struct { type MaskingPolicyGrantArgs struct { // The name of the database containing the masking policy on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the masking policy on which to grant privileges immediately. MaskingPolicyName pulumi.StringInput // The privilege to grant on the masking policy. diff --git a/sdk/go/snowflake/materializedViewGrant.go b/sdk/go/snowflake/materializedViewGrant.go index 26c377bf..54dd4c11 100644 --- a/sdk/go/snowflake/materializedViewGrant.go +++ b/sdk/go/snowflake/materializedViewGrant.go @@ -59,6 +59,9 @@ type MaterializedViewGrant struct { // The name of the database containing the current or future materialized views on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). MaterializedViewName pulumi.StringPtrOutput `pulumi:"materializedViewName"` // When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. @@ -109,6 +112,9 @@ func GetMaterializedViewGrant(ctx *pulumi.Context, type materializedViewGrantState struct { // The name of the database containing the current or future materialized views on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). MaterializedViewName *string `pulumi:"materializedViewName"` // When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. @@ -128,6 +134,9 @@ type materializedViewGrantState struct { type MaterializedViewGrantState struct { // The name of the database containing the current or future materialized views on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). MaterializedViewName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. @@ -151,6 +160,9 @@ func (MaterializedViewGrantState) ElementType() reflect.Type { type materializedViewGrantArgs struct { // The name of the database containing the current or future materialized views on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). MaterializedViewName *string `pulumi:"materializedViewName"` // When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. @@ -171,6 +183,9 @@ type materializedViewGrantArgs struct { type MaterializedViewGrantArgs struct { // The name of the database containing the current or future materialized views on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). MaterializedViewName pulumi.StringPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. diff --git a/sdk/go/snowflake/pipeGrant.go b/sdk/go/snowflake/pipeGrant.go index b03b82ca..898c9568 100644 --- a/sdk/go/snowflake/pipeGrant.go +++ b/sdk/go/snowflake/pipeGrant.go @@ -23,6 +23,9 @@ type PipeGrant struct { // The name of the database containing the current or future pipes on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The name of the pipe on which to grant privileges immediately (only valid if onFuture is false). @@ -74,6 +77,9 @@ func GetPipeGrant(ctx *pulumi.Context, type pipeGrantState struct { // The name of the database containing the current or future pipes on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The name of the pipe on which to grant privileges immediately (only valid if onFuture is false). @@ -91,6 +97,9 @@ type pipeGrantState struct { type PipeGrantState struct { // The name of the database containing the current or future pipes on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The name of the pipe on which to grant privileges immediately (only valid if onFuture is false). @@ -112,6 +121,9 @@ func (PipeGrantState) ElementType() reflect.Type { type pipeGrantArgs struct { // The name of the database containing the current or future pipes on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The name of the pipe on which to grant privileges immediately (only valid if onFuture is false). @@ -130,6 +142,9 @@ type pipeGrantArgs struct { type PipeGrantArgs struct { // The name of the database containing the current or future pipes on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The name of the pipe on which to grant privileges immediately (only valid if onFuture is false). diff --git a/sdk/go/snowflake/procedureGrant.go b/sdk/go/snowflake/procedureGrant.go index d5ecd1a1..a363318b 100644 --- a/sdk/go/snowflake/procedureGrant.go +++ b/sdk/go/snowflake/procedureGrant.go @@ -72,6 +72,9 @@ type ProcedureGrant struct { Arguments ProcedureGrantArgumentArrayOutput `pulumi:"arguments"` // The name of the database containing the current or future procedures on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future procedure. @@ -129,6 +132,9 @@ type procedureGrantState struct { Arguments []ProcedureGrantArgument `pulumi:"arguments"` // The name of the database containing the current or future procedures on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future procedure. @@ -152,6 +158,9 @@ type ProcedureGrantState struct { Arguments ProcedureGrantArgumentArrayInput // The name of the database containing the current or future procedures on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future procedure. @@ -179,6 +188,9 @@ type procedureGrantArgs struct { Arguments []ProcedureGrantArgument `pulumi:"arguments"` // The name of the database containing the current or future procedures on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future procedure. @@ -203,6 +215,9 @@ type ProcedureGrantArgs struct { Arguments ProcedureGrantArgumentArrayInput // The name of the database containing the current or future procedures on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future procedure. diff --git a/sdk/go/snowflake/resourceMonitorGrant.go b/sdk/go/snowflake/resourceMonitorGrant.go index 49d44f0d..0af2a154 100644 --- a/sdk/go/snowflake/resourceMonitorGrant.go +++ b/sdk/go/snowflake/resourceMonitorGrant.go @@ -19,6 +19,9 @@ import ( type ResourceMonitorGrant struct { pulumi.CustomResourceState + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // Identifier for the resource monitor; must be unique for your account. MonitorName pulumi.StringOutput `pulumi:"monitorName"` // The privilege to grant on the resource monitor. @@ -61,6 +64,9 @@ func GetResourceMonitorGrant(ctx *pulumi.Context, // Input properties used for looking up and filtering ResourceMonitorGrant resources. type resourceMonitorGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // Identifier for the resource monitor; must be unique for your account. MonitorName *string `pulumi:"monitorName"` // The privilege to grant on the resource monitor. @@ -72,6 +78,9 @@ type resourceMonitorGrantState struct { } type ResourceMonitorGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // Identifier for the resource monitor; must be unique for your account. MonitorName pulumi.StringPtrInput // The privilege to grant on the resource monitor. @@ -87,6 +96,9 @@ func (ResourceMonitorGrantState) ElementType() reflect.Type { } type resourceMonitorGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // Identifier for the resource monitor; must be unique for your account. MonitorName string `pulumi:"monitorName"` // The privilege to grant on the resource monitor. @@ -99,6 +111,9 @@ type resourceMonitorGrantArgs struct { // The set of arguments for constructing a ResourceMonitorGrant resource. type ResourceMonitorGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // Identifier for the resource monitor; must be unique for your account. MonitorName pulumi.StringInput // The privilege to grant on the resource monitor. diff --git a/sdk/go/snowflake/roleGrants.go b/sdk/go/snowflake/roleGrants.go index a7c98645..12e53a8e 100644 --- a/sdk/go/snowflake/roleGrants.go +++ b/sdk/go/snowflake/roleGrants.go @@ -71,6 +71,9 @@ import ( type RoleGrants struct { pulumi.CustomResourceState + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The name of the role we are granting. RoleName pulumi.StringOutput `pulumi:"roleName"` // Grants role to this specified role. @@ -111,6 +114,9 @@ func GetRoleGrants(ctx *pulumi.Context, // Input properties used for looking up and filtering RoleGrants resources. type roleGrantsState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the role we are granting. RoleName *string `pulumi:"roleName"` // Grants role to this specified role. @@ -120,6 +126,9 @@ type roleGrantsState struct { } type RoleGrantsState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the role we are granting. RoleName pulumi.StringPtrInput // Grants role to this specified role. @@ -133,6 +142,9 @@ func (RoleGrantsState) ElementType() reflect.Type { } type roleGrantsArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The name of the role we are granting. RoleName string `pulumi:"roleName"` // Grants role to this specified role. @@ -143,6 +155,9 @@ type roleGrantsArgs struct { // The set of arguments for constructing a RoleGrants resource. type RoleGrantsArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The name of the role we are granting. RoleName pulumi.StringInput // Grants role to this specified role. diff --git a/sdk/go/snowflake/roleOwnershipGrant.go b/sdk/go/snowflake/roleOwnershipGrant.go new file mode 100644 index 00000000..53f6e51a --- /dev/null +++ b/sdk/go/snowflake/roleOwnershipGrant.go @@ -0,0 +1,234 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package snowflake + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type RoleOwnershipGrant struct { + pulumi.CustomResourceState + + // Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + CurrentGrants pulumi.StringPtrOutput `pulumi:"currentGrants"` + // The name of the role ownership is granted on. + OnRoleName pulumi.StringOutput `pulumi:"onRoleName"` + // The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + ToRoleName pulumi.StringOutput `pulumi:"toRoleName"` +} + +// NewRoleOwnershipGrant registers a new resource with the given unique name, arguments, and options. +func NewRoleOwnershipGrant(ctx *pulumi.Context, + name string, args *RoleOwnershipGrantArgs, opts ...pulumi.ResourceOption) (*RoleOwnershipGrant, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.OnRoleName == nil { + return nil, errors.New("invalid value for required argument 'OnRoleName'") + } + if args.ToRoleName == nil { + return nil, errors.New("invalid value for required argument 'ToRoleName'") + } + var resource RoleOwnershipGrant + err := ctx.RegisterResource("snowflake:index/roleOwnershipGrant:RoleOwnershipGrant", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRoleOwnershipGrant gets an existing RoleOwnershipGrant resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRoleOwnershipGrant(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RoleOwnershipGrantState, opts ...pulumi.ResourceOption) (*RoleOwnershipGrant, error) { + var resource RoleOwnershipGrant + err := ctx.ReadResource("snowflake:index/roleOwnershipGrant:RoleOwnershipGrant", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RoleOwnershipGrant resources. +type roleOwnershipGrantState struct { + // Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + CurrentGrants *string `pulumi:"currentGrants"` + // The name of the role ownership is granted on. + OnRoleName *string `pulumi:"onRoleName"` + // The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + ToRoleName *string `pulumi:"toRoleName"` +} + +type RoleOwnershipGrantState struct { + // Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + CurrentGrants pulumi.StringPtrInput + // The name of the role ownership is granted on. + OnRoleName pulumi.StringPtrInput + // The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + ToRoleName pulumi.StringPtrInput +} + +func (RoleOwnershipGrantState) ElementType() reflect.Type { + return reflect.TypeOf((*roleOwnershipGrantState)(nil)).Elem() +} + +type roleOwnershipGrantArgs struct { + // Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + CurrentGrants *string `pulumi:"currentGrants"` + // The name of the role ownership is granted on. + OnRoleName string `pulumi:"onRoleName"` + // The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + ToRoleName string `pulumi:"toRoleName"` +} + +// The set of arguments for constructing a RoleOwnershipGrant resource. +type RoleOwnershipGrantArgs struct { + // Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + CurrentGrants pulumi.StringPtrInput + // The name of the role ownership is granted on. + OnRoleName pulumi.StringInput + // The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + ToRoleName pulumi.StringInput +} + +func (RoleOwnershipGrantArgs) ElementType() reflect.Type { + return reflect.TypeOf((*roleOwnershipGrantArgs)(nil)).Elem() +} + +type RoleOwnershipGrantInput interface { + pulumi.Input + + ToRoleOwnershipGrantOutput() RoleOwnershipGrantOutput + ToRoleOwnershipGrantOutputWithContext(ctx context.Context) RoleOwnershipGrantOutput +} + +func (*RoleOwnershipGrant) ElementType() reflect.Type { + return reflect.TypeOf((**RoleOwnershipGrant)(nil)).Elem() +} + +func (i *RoleOwnershipGrant) ToRoleOwnershipGrantOutput() RoleOwnershipGrantOutput { + return i.ToRoleOwnershipGrantOutputWithContext(context.Background()) +} + +func (i *RoleOwnershipGrant) ToRoleOwnershipGrantOutputWithContext(ctx context.Context) RoleOwnershipGrantOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleOwnershipGrantOutput) +} + +// RoleOwnershipGrantArrayInput is an input type that accepts RoleOwnershipGrantArray and RoleOwnershipGrantArrayOutput values. +// You can construct a concrete instance of `RoleOwnershipGrantArrayInput` via: +// +// RoleOwnershipGrantArray{ RoleOwnershipGrantArgs{...} } +type RoleOwnershipGrantArrayInput interface { + pulumi.Input + + ToRoleOwnershipGrantArrayOutput() RoleOwnershipGrantArrayOutput + ToRoleOwnershipGrantArrayOutputWithContext(context.Context) RoleOwnershipGrantArrayOutput +} + +type RoleOwnershipGrantArray []RoleOwnershipGrantInput + +func (RoleOwnershipGrantArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RoleOwnershipGrant)(nil)).Elem() +} + +func (i RoleOwnershipGrantArray) ToRoleOwnershipGrantArrayOutput() RoleOwnershipGrantArrayOutput { + return i.ToRoleOwnershipGrantArrayOutputWithContext(context.Background()) +} + +func (i RoleOwnershipGrantArray) ToRoleOwnershipGrantArrayOutputWithContext(ctx context.Context) RoleOwnershipGrantArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleOwnershipGrantArrayOutput) +} + +// RoleOwnershipGrantMapInput is an input type that accepts RoleOwnershipGrantMap and RoleOwnershipGrantMapOutput values. +// You can construct a concrete instance of `RoleOwnershipGrantMapInput` via: +// +// RoleOwnershipGrantMap{ "key": RoleOwnershipGrantArgs{...} } +type RoleOwnershipGrantMapInput interface { + pulumi.Input + + ToRoleOwnershipGrantMapOutput() RoleOwnershipGrantMapOutput + ToRoleOwnershipGrantMapOutputWithContext(context.Context) RoleOwnershipGrantMapOutput +} + +type RoleOwnershipGrantMap map[string]RoleOwnershipGrantInput + +func (RoleOwnershipGrantMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RoleOwnershipGrant)(nil)).Elem() +} + +func (i RoleOwnershipGrantMap) ToRoleOwnershipGrantMapOutput() RoleOwnershipGrantMapOutput { + return i.ToRoleOwnershipGrantMapOutputWithContext(context.Background()) +} + +func (i RoleOwnershipGrantMap) ToRoleOwnershipGrantMapOutputWithContext(ctx context.Context) RoleOwnershipGrantMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleOwnershipGrantMapOutput) +} + +type RoleOwnershipGrantOutput struct{ *pulumi.OutputState } + +func (RoleOwnershipGrantOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoleOwnershipGrant)(nil)).Elem() +} + +func (o RoleOwnershipGrantOutput) ToRoleOwnershipGrantOutput() RoleOwnershipGrantOutput { + return o +} + +func (o RoleOwnershipGrantOutput) ToRoleOwnershipGrantOutputWithContext(ctx context.Context) RoleOwnershipGrantOutput { + return o +} + +type RoleOwnershipGrantArrayOutput struct{ *pulumi.OutputState } + +func (RoleOwnershipGrantArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RoleOwnershipGrant)(nil)).Elem() +} + +func (o RoleOwnershipGrantArrayOutput) ToRoleOwnershipGrantArrayOutput() RoleOwnershipGrantArrayOutput { + return o +} + +func (o RoleOwnershipGrantArrayOutput) ToRoleOwnershipGrantArrayOutputWithContext(ctx context.Context) RoleOwnershipGrantArrayOutput { + return o +} + +func (o RoleOwnershipGrantArrayOutput) Index(i pulumi.IntInput) RoleOwnershipGrantOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RoleOwnershipGrant { + return vs[0].([]*RoleOwnershipGrant)[vs[1].(int)] + }).(RoleOwnershipGrantOutput) +} + +type RoleOwnershipGrantMapOutput struct{ *pulumi.OutputState } + +func (RoleOwnershipGrantMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RoleOwnershipGrant)(nil)).Elem() +} + +func (o RoleOwnershipGrantMapOutput) ToRoleOwnershipGrantMapOutput() RoleOwnershipGrantMapOutput { + return o +} + +func (o RoleOwnershipGrantMapOutput) ToRoleOwnershipGrantMapOutputWithContext(ctx context.Context) RoleOwnershipGrantMapOutput { + return o +} + +func (o RoleOwnershipGrantMapOutput) MapIndex(k pulumi.StringInput) RoleOwnershipGrantOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RoleOwnershipGrant { + return vs[0].(map[string]*RoleOwnershipGrant)[vs[1].(string)] + }).(RoleOwnershipGrantOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RoleOwnershipGrantInput)(nil)).Elem(), &RoleOwnershipGrant{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleOwnershipGrantArrayInput)(nil)).Elem(), RoleOwnershipGrantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleOwnershipGrantMapInput)(nil)).Elem(), RoleOwnershipGrantMap{}) + pulumi.RegisterOutputType(RoleOwnershipGrantOutput{}) + pulumi.RegisterOutputType(RoleOwnershipGrantArrayOutput{}) + pulumi.RegisterOutputType(RoleOwnershipGrantMapOutput{}) +} diff --git a/sdk/go/snowflake/rowAccessPolicyGrant.go b/sdk/go/snowflake/rowAccessPolicyGrant.go index cf3bc0fe..4ab44416 100644 --- a/sdk/go/snowflake/rowAccessPolicyGrant.go +++ b/sdk/go/snowflake/rowAccessPolicyGrant.go @@ -54,6 +54,9 @@ type RowAccessPolicyGrant struct { // The name of the database containing the row access policy on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The privilege to grant on the row access policy. Privilege pulumi.StringPtrOutput `pulumi:"privilege"` // Grants privilege to these roles. @@ -106,6 +109,9 @@ func GetRowAccessPolicyGrant(ctx *pulumi.Context, type rowAccessPolicyGrantState struct { // The name of the database containing the row access policy on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the row access policy. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -121,6 +127,9 @@ type rowAccessPolicyGrantState struct { type RowAccessPolicyGrantState struct { // The name of the database containing the row access policy on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the row access policy. Privilege pulumi.StringPtrInput // Grants privilege to these roles. @@ -140,6 +149,9 @@ func (RowAccessPolicyGrantState) ElementType() reflect.Type { type rowAccessPolicyGrantArgs struct { // The name of the database containing the row access policy on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the row access policy. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -156,6 +168,9 @@ type rowAccessPolicyGrantArgs struct { type RowAccessPolicyGrantArgs struct { // The name of the database containing the row access policy on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the row access policy. Privilege pulumi.StringPtrInput // Grants privilege to these roles. diff --git a/sdk/go/snowflake/schemaGrant.go b/sdk/go/snowflake/schemaGrant.go index ddbc8e93..a1e0c667 100644 --- a/sdk/go/snowflake/schemaGrant.go +++ b/sdk/go/snowflake/schemaGrant.go @@ -58,6 +58,9 @@ type SchemaGrant struct { // The name of the database containing the schema on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that @@ -107,6 +110,9 @@ func GetSchemaGrant(ctx *pulumi.Context, type schemaGrantState struct { // The name of the database containing the schema on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that @@ -125,6 +131,9 @@ type schemaGrantState struct { type SchemaGrantState struct { // The name of the database containing the schema on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that @@ -147,6 +156,9 @@ func (SchemaGrantState) ElementType() reflect.Type { type schemaGrantArgs struct { // The name of the database containing the schema on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that @@ -166,6 +178,9 @@ type schemaGrantArgs struct { type SchemaGrantArgs struct { // The name of the database containing the schema on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that diff --git a/sdk/go/snowflake/sequenceGrant.go b/sdk/go/snowflake/sequenceGrant.go index 9b850f4c..6af4d2a5 100644 --- a/sdk/go/snowflake/sequenceGrant.go +++ b/sdk/go/snowflake/sequenceGrant.go @@ -55,6 +55,9 @@ type SequenceGrant struct { // The name of the database containing the current or future sequences on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future sequence. @@ -106,6 +109,9 @@ func GetSequenceGrant(ctx *pulumi.Context, type sequenceGrantState struct { // The name of the database containing the current or future sequences on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future sequence. @@ -123,6 +129,9 @@ type sequenceGrantState struct { type SequenceGrantState struct { // The name of the database containing the current or future sequences on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future sequence. @@ -144,6 +153,9 @@ func (SequenceGrantState) ElementType() reflect.Type { type sequenceGrantArgs struct { // The name of the database containing the current or future sequences on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future sequence. @@ -162,6 +174,9 @@ type sequenceGrantArgs struct { type SequenceGrantArgs struct { // The name of the database containing the current or future sequences on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future sequence. diff --git a/sdk/go/snowflake/stageGrant.go b/sdk/go/snowflake/stageGrant.go index 44a84c1c..324ecb1f 100644 --- a/sdk/go/snowflake/stageGrant.go +++ b/sdk/go/snowflake/stageGrant.go @@ -23,6 +23,9 @@ type StageGrant struct { // The name of the database containing the current stage on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the stage. @@ -74,6 +77,9 @@ func GetStageGrant(ctx *pulumi.Context, type stageGrantState struct { // The name of the database containing the current stage on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the stage. @@ -91,6 +97,9 @@ type stageGrantState struct { type StageGrantState struct { // The name of the database containing the current stage on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the stage. @@ -112,6 +121,9 @@ func (StageGrantState) ElementType() reflect.Type { type stageGrantArgs struct { // The name of the database containing the current stage on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the stage. @@ -130,6 +142,9 @@ type stageGrantArgs struct { type StageGrantArgs struct { // The name of the database containing the current stage on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the stage. diff --git a/sdk/go/snowflake/streamGrant.go b/sdk/go/snowflake/streamGrant.go index 2766ac92..653c261b 100644 --- a/sdk/go/snowflake/streamGrant.go +++ b/sdk/go/snowflake/streamGrant.go @@ -55,6 +55,9 @@ type StreamGrant struct { // The name of the database containing the current or future streams on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future stream. @@ -106,6 +109,9 @@ func GetStreamGrant(ctx *pulumi.Context, type streamGrantState struct { // The name of the database containing the current or future streams on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future stream. @@ -123,6 +129,9 @@ type streamGrantState struct { type StreamGrantState struct { // The name of the database containing the current or future streams on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future stream. @@ -144,6 +153,9 @@ func (StreamGrantState) ElementType() reflect.Type { type streamGrantArgs struct { // The name of the database containing the current or future streams on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future stream. @@ -162,6 +174,9 @@ type streamGrantArgs struct { type StreamGrantArgs struct { // The name of the database containing the current or future streams on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future stream. diff --git a/sdk/go/snowflake/tableGrant.go b/sdk/go/snowflake/tableGrant.go index 1db8a026..a79f2105 100644 --- a/sdk/go/snowflake/tableGrant.go +++ b/sdk/go/snowflake/tableGrant.go @@ -57,6 +57,9 @@ type TableGrant struct { // The name of the database containing the current or future tables on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future table. @@ -107,6 +110,9 @@ func GetTableGrant(ctx *pulumi.Context, type tableGrantState struct { // The name of the database containing the current or future tables on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future table. @@ -126,6 +132,9 @@ type tableGrantState struct { type TableGrantState struct { // The name of the database containing the current or future tables on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future table. @@ -149,6 +158,9 @@ func (TableGrantState) ElementType() reflect.Type { type tableGrantArgs struct { // The name of the database containing the current or future tables on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future table. @@ -169,6 +181,9 @@ type tableGrantArgs struct { type TableGrantArgs struct { // The name of the database containing the current or future tables on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future table. diff --git a/sdk/go/snowflake/taskGrant.go b/sdk/go/snowflake/taskGrant.go index 231b20bd..4459bab1 100644 --- a/sdk/go/snowflake/taskGrant.go +++ b/sdk/go/snowflake/taskGrant.go @@ -55,6 +55,9 @@ type TaskGrant struct { // The name of the database containing the current or future tasks on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future task. @@ -106,6 +109,9 @@ func GetTaskGrant(ctx *pulumi.Context, type taskGrantState struct { // The name of the database containing the current or future tasks on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future task. @@ -123,6 +129,9 @@ type taskGrantState struct { type TaskGrantState struct { // The name of the database containing the current or future tasks on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future task. @@ -144,6 +153,9 @@ func (TaskGrantState) ElementType() reflect.Type { type taskGrantArgs struct { // The name of the database containing the current or future tasks on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future task. @@ -162,6 +174,9 @@ type taskGrantArgs struct { type TaskGrantArgs struct { // The name of the database containing the current or future tasks on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future task. diff --git a/sdk/go/snowflake/viewGrant.go b/sdk/go/snowflake/viewGrant.go index 16ccbcfa..bf6bcc0a 100644 --- a/sdk/go/snowflake/viewGrant.go +++ b/sdk/go/snowflake/viewGrant.go @@ -59,6 +59,9 @@ type ViewGrant struct { // The name of the database containing the current or future views on which to grant privileges. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrOutput `pulumi:"onFuture"` // The privilege to grant on the current or future view. @@ -109,6 +112,9 @@ func GetViewGrant(ctx *pulumi.Context, type viewGrantState struct { // The name of the database containing the current or future views on which to grant privileges. DatabaseName *string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future view. @@ -128,6 +134,9 @@ type viewGrantState struct { type ViewGrantState struct { // The name of the database containing the current or future views on which to grant privileges. DatabaseName pulumi.StringPtrInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future view. @@ -151,6 +160,9 @@ func (ViewGrantState) ElementType() reflect.Type { type viewGrantArgs struct { // The name of the database containing the current or future views on which to grant privileges. DatabaseName string `pulumi:"databaseName"` + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. OnFuture *bool `pulumi:"onFuture"` // The privilege to grant on the current or future view. @@ -171,6 +183,9 @@ type viewGrantArgs struct { type ViewGrantArgs struct { // The name of the database containing the current or future views on which to grant privileges. DatabaseName pulumi.StringInput + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. OnFuture pulumi.BoolPtrInput // The privilege to grant on the current or future view. diff --git a/sdk/go/snowflake/warehouseGrant.go b/sdk/go/snowflake/warehouseGrant.go index e219be72..e7f3d01f 100644 --- a/sdk/go/snowflake/warehouseGrant.go +++ b/sdk/go/snowflake/warehouseGrant.go @@ -49,6 +49,9 @@ import ( type WarehouseGrant struct { pulumi.CustomResourceState + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrOutput `pulumi:"enableMultipleGrants"` // The privilege to grant on the warehouse. Privilege pulumi.StringPtrOutput `pulumi:"privilege"` // Grants privilege to these roles. @@ -91,6 +94,9 @@ func GetWarehouseGrant(ctx *pulumi.Context, // Input properties used for looking up and filtering WarehouseGrant resources. type warehouseGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the warehouse. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -102,6 +108,9 @@ type warehouseGrantState struct { } type WarehouseGrantState struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the warehouse. Privilege pulumi.StringPtrInput // Grants privilege to these roles. @@ -117,6 +126,9 @@ func (WarehouseGrantState) ElementType() reflect.Type { } type warehouseGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants *bool `pulumi:"enableMultipleGrants"` // The privilege to grant on the warehouse. Privilege *string `pulumi:"privilege"` // Grants privilege to these roles. @@ -129,6 +141,9 @@ type warehouseGrantArgs struct { // The set of arguments for constructing a WarehouseGrant resource. type WarehouseGrantArgs struct { + // When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + // grants applied to roles and objects outside Terraform. + EnableMultipleGrants pulumi.BoolPtrInput // The privilege to grant on the warehouse. Privilege pulumi.StringPtrInput // Grants privilege to these roles. diff --git a/sdk/nodejs/accountGrant.ts b/sdk/nodejs/accountGrant.ts index 6bb02e75..09e7398d 100644 --- a/sdk/nodejs/accountGrant.ts +++ b/sdk/nodejs/accountGrant.ts @@ -57,6 +57,11 @@ export class AccountGrant extends pulumi.CustomResource { return obj['__pulumiType'] === AccountGrant.__pulumiType; } + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The privilege to grant on the account. */ @@ -83,11 +88,13 @@ export class AccountGrant extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as AccountGrantState | undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; resourceInputs["withGrantOption"] = state ? state.withGrantOption : undefined; } else { const args = argsOrState as AccountGrantArgs | undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; resourceInputs["withGrantOption"] = args ? args.withGrantOption : undefined; @@ -101,6 +108,11 @@ export class AccountGrant extends pulumi.CustomResource { * Input properties used for looking up and filtering AccountGrant resources. */ export interface AccountGrantState { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the account. */ @@ -119,6 +131,11 @@ export interface AccountGrantState { * The set of arguments for constructing a AccountGrant resource. */ export interface AccountGrantArgs { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the account. */ diff --git a/sdk/nodejs/databaseGrant.ts b/sdk/nodejs/databaseGrant.ts index ed600c96..982a01d8 100644 --- a/sdk/nodejs/databaseGrant.ts +++ b/sdk/nodejs/databaseGrant.ts @@ -66,6 +66,11 @@ export class DatabaseGrant extends pulumi.CustomResource { * The name of the database on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The privilege to grant on the database. */ @@ -97,6 +102,7 @@ export class DatabaseGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as DatabaseGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; resourceInputs["shares"] = state ? state.shares : undefined; @@ -107,6 +113,7 @@ export class DatabaseGrant extends pulumi.CustomResource { throw new Error("Missing required property 'databaseName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; resourceInputs["shares"] = args ? args.shares : undefined; @@ -125,6 +132,11 @@ export interface DatabaseGrantState { * The name of the database on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the database. */ @@ -151,6 +163,11 @@ export interface DatabaseGrantArgs { * The name of the database on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the database. */ diff --git a/sdk/nodejs/externalTableGrant.ts b/sdk/nodejs/externalTableGrant.ts index 8aa21639..dce9c171 100644 --- a/sdk/nodejs/externalTableGrant.ts +++ b/sdk/nodejs/externalTableGrant.ts @@ -69,6 +69,11 @@ export class ExternalTableGrant extends pulumi.CustomResource { * The name of the database containing the current or future external tables on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the external table on which to grant privileges immediately (only valid if onFuture is false). */ @@ -112,6 +117,7 @@ export class ExternalTableGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ExternalTableGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["externalTableName"] = state ? state.externalTableName : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; @@ -128,6 +134,7 @@ export class ExternalTableGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["externalTableName"] = args ? args.externalTableName : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; @@ -149,6 +156,11 @@ export interface ExternalTableGrantState { * The name of the database containing the current or future external tables on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the external table on which to grant privileges immediately (only valid if onFuture is false). */ @@ -187,6 +199,11 @@ export interface ExternalTableGrantArgs { * The name of the database containing the current or future external tables on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the external table on which to grant privileges immediately (only valid if onFuture is false). */ diff --git a/sdk/nodejs/fileFormatGrant.ts b/sdk/nodejs/fileFormatGrant.ts index b3fe6e2c..db6f5a7f 100644 --- a/sdk/nodejs/fileFormatGrant.ts +++ b/sdk/nodejs/fileFormatGrant.ts @@ -65,6 +65,11 @@ export class FileFormatGrant extends pulumi.CustomResource { * The name of the database containing the current or future file formats on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the file format on which to grant privileges immediately (only valid if onFuture is false). */ @@ -104,6 +109,7 @@ export class FileFormatGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FileFormatGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["fileFormatName"] = state ? state.fileFormatName : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; @@ -119,6 +125,7 @@ export class FileFormatGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["fileFormatName"] = args ? args.fileFormatName : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; @@ -139,6 +146,11 @@ export interface FileFormatGrantState { * The name of the database containing the current or future file formats on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the file format on which to grant privileges immediately (only valid if onFuture is false). */ @@ -173,6 +185,11 @@ export interface FileFormatGrantArgs { * The name of the database containing the current or future file formats on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the file format on which to grant privileges immediately (only valid if onFuture is false). */ diff --git a/sdk/nodejs/functionGrant.ts b/sdk/nodejs/functionGrant.ts index 357351ee..1588b2b6 100644 --- a/sdk/nodejs/functionGrant.ts +++ b/sdk/nodejs/functionGrant.ts @@ -85,6 +85,11 @@ export class FunctionGrant extends pulumi.CustomResource { * The name of the database containing the current or future functions on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the function on which to grant privileges immediately (only valid if onFuture is false). */ @@ -133,6 +138,7 @@ export class FunctionGrant extends pulumi.CustomResource { const state = argsOrState as FunctionGrantState | undefined; resourceInputs["arguments"] = state ? state.arguments : undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["functionName"] = state ? state.functionName : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; @@ -151,6 +157,7 @@ export class FunctionGrant extends pulumi.CustomResource { } resourceInputs["arguments"] = args ? args.arguments : undefined; resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["functionName"] = args ? args.functionName : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; @@ -177,6 +184,11 @@ export interface FunctionGrantState { * The name of the database containing the current or future functions on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the function on which to grant privileges immediately (only valid if onFuture is false). */ @@ -223,6 +235,11 @@ export interface FunctionGrantArgs { * The name of the database containing the current or future functions on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the function on which to grant privileges immediately (only valid if onFuture is false). */ diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 35dc6ace..1060ce81 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -62,6 +62,7 @@ export * from "./resourceMonitor"; export * from "./resourceMonitorGrant"; export * from "./role"; export * from "./roleGrants"; +export * from "./roleOwnershipGrant"; export * from "./rowAccessPolicy"; export * from "./rowAccessPolicyGrant"; export * from "./samlIntegration"; @@ -128,6 +129,7 @@ import { ResourceMonitor } from "./resourceMonitor"; import { ResourceMonitorGrant } from "./resourceMonitorGrant"; import { Role } from "./role"; import { RoleGrants } from "./roleGrants"; +import { RoleOwnershipGrant } from "./roleOwnershipGrant"; import { RowAccessPolicy } from "./rowAccessPolicy"; import { RowAccessPolicyGrant } from "./rowAccessPolicyGrant"; import { SamlIntegration } from "./samlIntegration"; @@ -218,6 +220,8 @@ const _module = { return new Role(name, undefined, { urn }) case "snowflake:index/roleGrants:RoleGrants": return new RoleGrants(name, undefined, { urn }) + case "snowflake:index/roleOwnershipGrant:RoleOwnershipGrant": + return new RoleOwnershipGrant(name, undefined, { urn }) case "snowflake:index/rowAccessPolicy:RowAccessPolicy": return new RowAccessPolicy(name, undefined, { urn }) case "snowflake:index/rowAccessPolicyGrant:RowAccessPolicyGrant": @@ -303,6 +307,7 @@ pulumi.runtime.registerResourceModule("snowflake", "index/resourceMonitor", _mod pulumi.runtime.registerResourceModule("snowflake", "index/resourceMonitorGrant", _module) pulumi.runtime.registerResourceModule("snowflake", "index/role", _module) pulumi.runtime.registerResourceModule("snowflake", "index/roleGrants", _module) +pulumi.runtime.registerResourceModule("snowflake", "index/roleOwnershipGrant", _module) pulumi.runtime.registerResourceModule("snowflake", "index/rowAccessPolicy", _module) pulumi.runtime.registerResourceModule("snowflake", "index/rowAccessPolicyGrant", _module) pulumi.runtime.registerResourceModule("snowflake", "index/samlIntegration", _module) diff --git a/sdk/nodejs/integrationGrant.ts b/sdk/nodejs/integrationGrant.ts index 2820ced7..4f5fa6c6 100644 --- a/sdk/nodejs/integrationGrant.ts +++ b/sdk/nodejs/integrationGrant.ts @@ -58,6 +58,11 @@ export class IntegrationGrant extends pulumi.CustomResource { return obj['__pulumiType'] === IntegrationGrant.__pulumiType; } + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * Identifier for the integration; must be unique for your account. */ @@ -88,6 +93,7 @@ export class IntegrationGrant extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as IntegrationGrantState | undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["integrationName"] = state ? state.integrationName : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -97,6 +103,7 @@ export class IntegrationGrant extends pulumi.CustomResource { if ((!args || args.integrationName === undefined) && !opts.urn) { throw new Error("Missing required property 'integrationName'"); } + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["integrationName"] = args ? args.integrationName : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -111,6 +118,11 @@ export class IntegrationGrant extends pulumi.CustomResource { * Input properties used for looking up and filtering IntegrationGrant resources. */ export interface IntegrationGrantState { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * Identifier for the integration; must be unique for your account. */ @@ -133,6 +145,11 @@ export interface IntegrationGrantState { * The set of arguments for constructing a IntegrationGrant resource. */ export interface IntegrationGrantArgs { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * Identifier for the integration; must be unique for your account. */ diff --git a/sdk/nodejs/maskingPolicyGrant.ts b/sdk/nodejs/maskingPolicyGrant.ts index 0a9b5bc4..af99333d 100644 --- a/sdk/nodejs/maskingPolicyGrant.ts +++ b/sdk/nodejs/maskingPolicyGrant.ts @@ -36,6 +36,11 @@ export class MaskingPolicyGrant extends pulumi.CustomResource { * The name of the database containing the masking policy on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the masking policy on which to grant privileges immediately. */ @@ -71,6 +76,7 @@ export class MaskingPolicyGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as MaskingPolicyGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["maskingPolicyName"] = state ? state.maskingPolicyName : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -88,6 +94,7 @@ export class MaskingPolicyGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["maskingPolicyName"] = args ? args.maskingPolicyName : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -107,6 +114,11 @@ export interface MaskingPolicyGrantState { * The name of the database containing the masking policy on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the masking policy on which to grant privileges immediately. */ @@ -137,6 +149,11 @@ export interface MaskingPolicyGrantArgs { * The name of the database containing the masking policy on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the masking policy on which to grant privileges immediately. */ diff --git a/sdk/nodejs/materializedViewGrant.ts b/sdk/nodejs/materializedViewGrant.ts index 5ed5701f..874c4a45 100644 --- a/sdk/nodejs/materializedViewGrant.ts +++ b/sdk/nodejs/materializedViewGrant.ts @@ -69,6 +69,11 @@ export class MaterializedViewGrant extends pulumi.CustomResource { * The name of the database containing the current or future materialized views on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). */ @@ -112,6 +117,7 @@ export class MaterializedViewGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as MaterializedViewGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["materializedViewName"] = state ? state.materializedViewName : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; @@ -125,6 +131,7 @@ export class MaterializedViewGrant extends pulumi.CustomResource { throw new Error("Missing required property 'databaseName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["materializedViewName"] = args ? args.materializedViewName : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; @@ -146,6 +153,11 @@ export interface MaterializedViewGrantState { * The name of the database containing the current or future materialized views on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). */ @@ -184,6 +196,11 @@ export interface MaterializedViewGrantArgs { * The name of the database containing the current or future materialized views on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the materialized view on which to grant privileges immediately (only valid if onFuture is false). */ diff --git a/sdk/nodejs/pipeGrant.ts b/sdk/nodejs/pipeGrant.ts index 23eb70a1..4feed55f 100644 --- a/sdk/nodejs/pipeGrant.ts +++ b/sdk/nodejs/pipeGrant.ts @@ -65,6 +65,11 @@ export class PipeGrant extends pulumi.CustomResource { * The name of the database containing the current or future pipes on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. */ @@ -104,6 +109,7 @@ export class PipeGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as PipeGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["pipeName"] = state ? state.pipeName : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; @@ -119,6 +125,7 @@ export class PipeGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["pipeName"] = args ? args.pipeName : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; @@ -139,6 +146,11 @@ export interface PipeGrantState { * The name of the database containing the current or future pipes on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. */ @@ -173,6 +185,11 @@ export interface PipeGrantArgs { * The name of the database containing the current or future pipes on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. */ diff --git a/sdk/nodejs/procedureGrant.ts b/sdk/nodejs/procedureGrant.ts index 538e75f9..bd42bc2a 100644 --- a/sdk/nodejs/procedureGrant.ts +++ b/sdk/nodejs/procedureGrant.ts @@ -85,6 +85,11 @@ export class ProcedureGrant extends pulumi.CustomResource { * The name of the database containing the current or future procedures on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. */ @@ -133,6 +138,7 @@ export class ProcedureGrant extends pulumi.CustomResource { const state = argsOrState as ProcedureGrantState | undefined; resourceInputs["arguments"] = state ? state.arguments : undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["procedureName"] = state ? state.procedureName : undefined; @@ -151,6 +157,7 @@ export class ProcedureGrant extends pulumi.CustomResource { } resourceInputs["arguments"] = args ? args.arguments : undefined; resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["procedureName"] = args ? args.procedureName : undefined; @@ -177,6 +184,11 @@ export interface ProcedureGrantState { * The name of the database containing the current or future procedures on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. */ @@ -223,6 +235,11 @@ export interface ProcedureGrantArgs { * The name of the database containing the current or future procedures on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. */ diff --git a/sdk/nodejs/resourceMonitorGrant.ts b/sdk/nodejs/resourceMonitorGrant.ts index b07850d4..dba18d55 100644 --- a/sdk/nodejs/resourceMonitorGrant.ts +++ b/sdk/nodejs/resourceMonitorGrant.ts @@ -53,6 +53,11 @@ export class ResourceMonitorGrant extends pulumi.CustomResource { return obj['__pulumiType'] === ResourceMonitorGrant.__pulumiType; } + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * Identifier for the resource monitor; must be unique for your account. */ @@ -83,6 +88,7 @@ export class ResourceMonitorGrant extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as ResourceMonitorGrantState | undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["monitorName"] = state ? state.monitorName : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -92,6 +98,7 @@ export class ResourceMonitorGrant extends pulumi.CustomResource { if ((!args || args.monitorName === undefined) && !opts.urn) { throw new Error("Missing required property 'monitorName'"); } + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["monitorName"] = args ? args.monitorName : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -106,6 +113,11 @@ export class ResourceMonitorGrant extends pulumi.CustomResource { * Input properties used for looking up and filtering ResourceMonitorGrant resources. */ export interface ResourceMonitorGrantState { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * Identifier for the resource monitor; must be unique for your account. */ @@ -128,6 +140,11 @@ export interface ResourceMonitorGrantState { * The set of arguments for constructing a ResourceMonitorGrant resource. */ export interface ResourceMonitorGrantArgs { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * Identifier for the resource monitor; must be unique for your account. */ diff --git a/sdk/nodejs/roleGrants.ts b/sdk/nodejs/roleGrants.ts index c275630e..732d1ae7 100644 --- a/sdk/nodejs/roleGrants.ts +++ b/sdk/nodejs/roleGrants.ts @@ -65,6 +65,11 @@ export class RoleGrants extends pulumi.CustomResource { return obj['__pulumiType'] === RoleGrants.__pulumiType; } + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The name of the role we are granting. */ @@ -91,6 +96,7 @@ export class RoleGrants extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as RoleGrantsState | undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["roleName"] = state ? state.roleName : undefined; resourceInputs["roles"] = state ? state.roles : undefined; resourceInputs["users"] = state ? state.users : undefined; @@ -99,6 +105,7 @@ export class RoleGrants extends pulumi.CustomResource { if ((!args || args.roleName === undefined) && !opts.urn) { throw new Error("Missing required property 'roleName'"); } + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["roleName"] = args ? args.roleName : undefined; resourceInputs["roles"] = args ? args.roles : undefined; resourceInputs["users"] = args ? args.users : undefined; @@ -112,6 +119,11 @@ export class RoleGrants extends pulumi.CustomResource { * Input properties used for looking up and filtering RoleGrants resources. */ export interface RoleGrantsState { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the role we are granting. */ @@ -130,6 +142,11 @@ export interface RoleGrantsState { * The set of arguments for constructing a RoleGrants resource. */ export interface RoleGrantsArgs { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The name of the role we are granting. */ diff --git a/sdk/nodejs/roleOwnershipGrant.ts b/sdk/nodejs/roleOwnershipGrant.ts new file mode 100644 index 00000000..f67b28f7 --- /dev/null +++ b/sdk/nodejs/roleOwnershipGrant.ts @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +export class RoleOwnershipGrant extends pulumi.CustomResource { + /** + * Get an existing RoleOwnershipGrant resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: RoleOwnershipGrantState, opts?: pulumi.CustomResourceOptions): RoleOwnershipGrant { + return new RoleOwnershipGrant(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'snowflake:index/roleOwnershipGrant:RoleOwnershipGrant'; + + /** + * Returns true if the given object is an instance of RoleOwnershipGrant. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is RoleOwnershipGrant { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RoleOwnershipGrant.__pulumiType; + } + + /** + * Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + */ + public readonly currentGrants!: pulumi.Output; + /** + * The name of the role ownership is granted on. + */ + public readonly onRoleName!: pulumi.Output; + /** + * The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + */ + public readonly toRoleName!: pulumi.Output; + + /** + * Create a RoleOwnershipGrant resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: RoleOwnershipGrantArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RoleOwnershipGrantArgs | RoleOwnershipGrantState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RoleOwnershipGrantState | undefined; + resourceInputs["currentGrants"] = state ? state.currentGrants : undefined; + resourceInputs["onRoleName"] = state ? state.onRoleName : undefined; + resourceInputs["toRoleName"] = state ? state.toRoleName : undefined; + } else { + const args = argsOrState as RoleOwnershipGrantArgs | undefined; + if ((!args || args.onRoleName === undefined) && !opts.urn) { + throw new Error("Missing required property 'onRoleName'"); + } + if ((!args || args.toRoleName === undefined) && !opts.urn) { + throw new Error("Missing required property 'toRoleName'"); + } + resourceInputs["currentGrants"] = args ? args.currentGrants : undefined; + resourceInputs["onRoleName"] = args ? args.onRoleName : undefined; + resourceInputs["toRoleName"] = args ? args.toRoleName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RoleOwnershipGrant.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RoleOwnershipGrant resources. + */ +export interface RoleOwnershipGrantState { + /** + * Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + */ + currentGrants?: pulumi.Input; + /** + * The name of the role ownership is granted on. + */ + onRoleName?: pulumi.Input; + /** + * The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + */ + toRoleName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RoleOwnershipGrant resource. + */ +export interface RoleOwnershipGrantArgs { + /** + * Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + */ + currentGrants?: pulumi.Input; + /** + * The name of the role ownership is granted on. + */ + onRoleName: pulumi.Input; + /** + * The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + */ + toRoleName: pulumi.Input; +} diff --git a/sdk/nodejs/rowAccessPolicyGrant.ts b/sdk/nodejs/rowAccessPolicyGrant.ts index 64b7cac4..83f90408 100644 --- a/sdk/nodejs/rowAccessPolicyGrant.ts +++ b/sdk/nodejs/rowAccessPolicyGrant.ts @@ -64,6 +64,11 @@ export class RowAccessPolicyGrant extends pulumi.CustomResource { * The name of the database containing the row access policy on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The privilege to grant on the row access policy. */ @@ -99,6 +104,7 @@ export class RowAccessPolicyGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as RowAccessPolicyGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; resourceInputs["rowAccessPolicyName"] = state ? state.rowAccessPolicyName : undefined; @@ -116,6 +122,7 @@ export class RowAccessPolicyGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; resourceInputs["rowAccessPolicyName"] = args ? args.rowAccessPolicyName : undefined; @@ -135,6 +142,11 @@ export interface RowAccessPolicyGrantState { * The name of the database containing the row access policy on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the row access policy. */ @@ -165,6 +177,11 @@ export interface RowAccessPolicyGrantArgs { * The name of the database containing the row access policy on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the row access policy. */ diff --git a/sdk/nodejs/schemaGrant.ts b/sdk/nodejs/schemaGrant.ts index 492b0556..c3959bc8 100644 --- a/sdk/nodejs/schemaGrant.ts +++ b/sdk/nodejs/schemaGrant.ts @@ -68,6 +68,11 @@ export class SchemaGrant extends pulumi.CustomResource { * The name of the database containing the schema on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. */ @@ -108,6 +113,7 @@ export class SchemaGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SchemaGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -120,6 +126,7 @@ export class SchemaGrant extends pulumi.CustomResource { throw new Error("Missing required property 'databaseName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -140,6 +147,11 @@ export interface SchemaGrantState { * The name of the database containing the schema on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. */ @@ -175,6 +187,11 @@ export interface SchemaGrantArgs { * The name of the database containing the schema on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. */ diff --git a/sdk/nodejs/sequenceGrant.ts b/sdk/nodejs/sequenceGrant.ts index 3cf38c13..2028bf57 100644 --- a/sdk/nodejs/sequenceGrant.ts +++ b/sdk/nodejs/sequenceGrant.ts @@ -65,6 +65,11 @@ export class SequenceGrant extends pulumi.CustomResource { * The name of the database containing the current or future sequences on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. */ @@ -104,6 +109,7 @@ export class SequenceGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SequenceGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -119,6 +125,7 @@ export class SequenceGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -139,6 +146,11 @@ export interface SequenceGrantState { * The name of the database containing the current or future sequences on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. */ @@ -173,6 +185,11 @@ export interface SequenceGrantArgs { * The name of the database containing the current or future sequences on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. */ diff --git a/sdk/nodejs/stageGrant.ts b/sdk/nodejs/stageGrant.ts index 7ed1ec4e..8d57fedd 100644 --- a/sdk/nodejs/stageGrant.ts +++ b/sdk/nodejs/stageGrant.ts @@ -69,6 +69,11 @@ export class StageGrant extends pulumi.CustomResource { * The name of the database containing the current stage on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. */ @@ -108,6 +113,7 @@ export class StageGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as StageGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -123,6 +129,7 @@ export class StageGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -143,6 +150,11 @@ export interface StageGrantState { * The name of the database containing the current stage on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. */ @@ -177,6 +189,11 @@ export interface StageGrantArgs { * The name of the database containing the current stage on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. */ diff --git a/sdk/nodejs/streamGrant.ts b/sdk/nodejs/streamGrant.ts index 78b37bde..45899236 100644 --- a/sdk/nodejs/streamGrant.ts +++ b/sdk/nodejs/streamGrant.ts @@ -65,6 +65,11 @@ export class StreamGrant extends pulumi.CustomResource { * The name of the database containing the current or future streams on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. */ @@ -104,6 +109,7 @@ export class StreamGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as StreamGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -119,6 +125,7 @@ export class StreamGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -139,6 +146,11 @@ export interface StreamGrantState { * The name of the database containing the current or future streams on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. */ @@ -173,6 +185,11 @@ export interface StreamGrantArgs { * The name of the database containing the current or future streams on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. */ diff --git a/sdk/nodejs/tableGrant.ts b/sdk/nodejs/tableGrant.ts index 3870dd5a..51234789 100644 --- a/sdk/nodejs/tableGrant.ts +++ b/sdk/nodejs/tableGrant.ts @@ -63,6 +63,11 @@ export class TableGrant extends pulumi.CustomResource { * The name of the database containing the current or future tables on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. */ @@ -106,6 +111,7 @@ export class TableGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as TableGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -119,6 +125,7 @@ export class TableGrant extends pulumi.CustomResource { throw new Error("Missing required property 'databaseName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -140,6 +147,11 @@ export interface TableGrantState { * The name of the database containing the current or future tables on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. */ @@ -178,6 +190,11 @@ export interface TableGrantArgs { * The name of the database containing the current or future tables on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. */ diff --git a/sdk/nodejs/taskGrant.ts b/sdk/nodejs/taskGrant.ts index 71ba016a..fd8c2c2f 100644 --- a/sdk/nodejs/taskGrant.ts +++ b/sdk/nodejs/taskGrant.ts @@ -65,6 +65,11 @@ export class TaskGrant extends pulumi.CustomResource { * The name of the database containing the current or future tasks on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. */ @@ -104,6 +109,7 @@ export class TaskGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as TaskGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -119,6 +125,7 @@ export class TaskGrant extends pulumi.CustomResource { throw new Error("Missing required property 'schemaName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -139,6 +146,11 @@ export interface TaskGrantState { * The name of the database containing the current or future tasks on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. */ @@ -173,6 +185,11 @@ export interface TaskGrantArgs { * The name of the database containing the current or future tasks on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index f8f6a130..dacceddb 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -73,6 +73,7 @@ "resourceMonitorGrant.ts", "role.ts", "roleGrants.ts", + "roleOwnershipGrant.ts", "rowAccessPolicy.ts", "rowAccessPolicyGrant.ts", "samlIntegration.ts", diff --git a/sdk/nodejs/viewGrant.ts b/sdk/nodejs/viewGrant.ts index 10b3e7b3..f129338b 100644 --- a/sdk/nodejs/viewGrant.ts +++ b/sdk/nodejs/viewGrant.ts @@ -69,6 +69,11 @@ export class ViewGrant extends pulumi.CustomResource { * The name of the database containing the current or future views on which to grant privileges. */ public readonly databaseName!: pulumi.Output; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. */ @@ -112,6 +117,7 @@ export class ViewGrant extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ViewGrantState | undefined; resourceInputs["databaseName"] = state ? state.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["onFuture"] = state ? state.onFuture : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; @@ -125,6 +131,7 @@ export class ViewGrant extends pulumi.CustomResource { throw new Error("Missing required property 'databaseName'"); } resourceInputs["databaseName"] = args ? args.databaseName : undefined; + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["onFuture"] = args ? args.onFuture : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; @@ -146,6 +153,11 @@ export interface ViewGrantState { * The name of the database containing the current or future views on which to grant privileges. */ databaseName?: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. */ @@ -184,6 +196,11 @@ export interface ViewGrantArgs { * The name of the database containing the current or future views on which to grant privileges. */ databaseName: pulumi.Input; + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. */ diff --git a/sdk/nodejs/warehouseGrant.ts b/sdk/nodejs/warehouseGrant.ts index dafdb91e..b2387827 100644 --- a/sdk/nodejs/warehouseGrant.ts +++ b/sdk/nodejs/warehouseGrant.ts @@ -55,6 +55,11 @@ export class WarehouseGrant extends pulumi.CustomResource { return obj['__pulumiType'] === WarehouseGrant.__pulumiType; } + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + public readonly enableMultipleGrants!: pulumi.Output; /** * The privilege to grant on the warehouse. */ @@ -85,6 +90,7 @@ export class WarehouseGrant extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as WarehouseGrantState | undefined; + resourceInputs["enableMultipleGrants"] = state ? state.enableMultipleGrants : undefined; resourceInputs["privilege"] = state ? state.privilege : undefined; resourceInputs["roles"] = state ? state.roles : undefined; resourceInputs["warehouseName"] = state ? state.warehouseName : undefined; @@ -94,6 +100,7 @@ export class WarehouseGrant extends pulumi.CustomResource { if ((!args || args.warehouseName === undefined) && !opts.urn) { throw new Error("Missing required property 'warehouseName'"); } + resourceInputs["enableMultipleGrants"] = args ? args.enableMultipleGrants : undefined; resourceInputs["privilege"] = args ? args.privilege : undefined; resourceInputs["roles"] = args ? args.roles : undefined; resourceInputs["warehouseName"] = args ? args.warehouseName : undefined; @@ -108,6 +115,11 @@ export class WarehouseGrant extends pulumi.CustomResource { * Input properties used for looking up and filtering WarehouseGrant resources. */ export interface WarehouseGrantState { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the warehouse. */ @@ -130,6 +142,11 @@ export interface WarehouseGrantState { * The set of arguments for constructing a WarehouseGrant resource. */ export interface WarehouseGrantArgs { + /** + * When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + * grants applied to roles and objects outside Terraform. + */ + enableMultipleGrants?: pulumi.Input; /** * The privilege to grant on the warehouse. */ diff --git a/sdk/python/pulumi_snowflake/__init__.py b/sdk/python/pulumi_snowflake/__init__.py index 9f0ad931..f12618b9 100644 --- a/sdk/python/pulumi_snowflake/__init__.py +++ b/sdk/python/pulumi_snowflake/__init__.py @@ -62,6 +62,7 @@ from .resource_monitor_grant import * from .role import * from .role_grants import * +from .role_ownership_grant import * from .row_access_policy import * from .row_access_policy_grant import * from .saml_integration import * @@ -340,6 +341,14 @@ "snowflake:index/roleGrants:RoleGrants": "RoleGrants" } }, + { + "pkg": "snowflake", + "mod": "index/roleOwnershipGrant", + "fqn": "pulumi_snowflake", + "classes": { + "snowflake:index/roleOwnershipGrant:RoleOwnershipGrant": "RoleOwnershipGrant" + } + }, { "pkg": "snowflake", "mod": "index/rowAccessPolicy", diff --git a/sdk/python/pulumi_snowflake/account_grant.py b/sdk/python/pulumi_snowflake/account_grant.py index 39d78c49..8d9ac8d1 100644 --- a/sdk/python/pulumi_snowflake/account_grant.py +++ b/sdk/python/pulumi_snowflake/account_grant.py @@ -13,15 +13,20 @@ @pulumi.input_type class AccountGrantArgs: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a AccountGrant resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the account. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -29,6 +34,19 @@ def __init__(__self__, *, if with_grant_option is not None: pulumi.set(__self__, "with_grant_option", with_grant_option) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -69,15 +87,20 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class _AccountGrantState: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering AccountGrant resources. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the account. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -85,6 +108,19 @@ def __init__(__self__, *, if with_grant_option is not None: pulumi.set(__self__, "with_grant_option", with_grant_option) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -127,6 +163,7 @@ class AccountGrant(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None, @@ -157,6 +194,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the account. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. @@ -206,6 +245,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None, @@ -221,6 +261,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = AccountGrantArgs.__new__(AccountGrantArgs) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["with_grant_option"] = with_grant_option @@ -234,6 +275,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None) -> 'AccountGrant': @@ -244,6 +286,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the account. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. @@ -252,11 +296,21 @@ def get(resource_name: str, __props__ = _AccountGrantState.__new__(_AccountGrantState) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["with_grant_option"] = with_grant_option return AccountGrant(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter def privilege(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/database_grant.py b/sdk/python/pulumi_snowflake/database_grant.py index 9e3e7bfd..9fa1e7ed 100644 --- a/sdk/python/pulumi_snowflake/database_grant.py +++ b/sdk/python/pulumi_snowflake/database_grant.py @@ -14,6 +14,7 @@ class DatabaseGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, shares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -21,12 +22,16 @@ def __init__(__self__, *, """ The set of arguments for constructing a DatabaseGrant resource. :param pulumi.Input[str] database_name: The name of the database on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the database. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[Sequence[pulumi.Input[str]]] shares: Grants privilege to these shares. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -48,6 +53,19 @@ def database_name(self) -> pulumi.Input[str]: def database_name(self, value: pulumi.Input[str]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -101,6 +119,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _DatabaseGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, shares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -108,6 +127,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering DatabaseGrant resources. :param pulumi.Input[str] database_name: The name of the database on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the database. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[Sequence[pulumi.Input[str]]] shares: Grants privilege to these shares. @@ -115,6 +136,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -136,6 +159,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -191,6 +227,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, shares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -228,6 +265,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the database. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[Sequence[pulumi.Input[str]]] shares: Grants privilege to these shares. @@ -284,6 +323,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, shares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -303,6 +343,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["shares"] = shares @@ -318,6 +359,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, shares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -330,6 +372,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the database. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[Sequence[pulumi.Input[str]]] shares: Grants privilege to these shares. @@ -340,6 +384,7 @@ def get(resource_name: str, __props__ = _DatabaseGrantState.__new__(_DatabaseGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["shares"] = shares @@ -354,6 +399,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter def privilege(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/external_table_grant.py b/sdk/python/pulumi_snowflake/external_table_grant.py index 134b529d..6ac5c157 100644 --- a/sdk/python/pulumi_snowflake/external_table_grant.py +++ b/sdk/python/pulumi_snowflake/external_table_grant.py @@ -15,6 +15,7 @@ class ExternalTableGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, external_table_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -25,6 +26,8 @@ def __init__(__self__, *, The set of arguments for constructing a ExternalTableGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future external tables on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future external tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] external_table_name: The name of the external table on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future external table. @@ -34,6 +37,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if external_table_name is not None: pulumi.set(__self__, "external_table_name", external_table_name) if on_future is not None: @@ -71,6 +76,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="externalTableName") def external_table_name(self) -> Optional[pulumi.Input[str]]: @@ -148,6 +166,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _ExternalTableGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, external_table_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -158,6 +177,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ExternalTableGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future external tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] external_table_name: The name of the external table on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future external table. @@ -168,6 +189,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if external_table_name is not None: pulumi.set(__self__, "external_table_name", external_table_name) if on_future is not None: @@ -195,6 +218,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="externalTableName") def external_table_name(self) -> Optional[pulumi.Input[str]]: @@ -286,6 +322,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, external_table_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -329,6 +366,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future external tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] external_table_name: The name of the external table on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future external table. @@ -391,6 +430,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, external_table_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -413,6 +453,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["external_table_name"] = external_table_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -433,6 +474,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, external_table_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -448,6 +490,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future external tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] external_table_name: The name of the external table on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future external tables in the given schema. When this is true and no schema*name is provided apply this grant on all future external tables in the given database. The external*table*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future external table. @@ -461,6 +505,7 @@ def get(resource_name: str, __props__ = _ExternalTableGrantState.__new__(_ExternalTableGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["external_table_name"] = external_table_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -478,6 +523,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="externalTableName") def external_table_name(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/file_format_grant.py b/sdk/python/pulumi_snowflake/file_format_grant.py index 58e724fe..1d4d77ed 100644 --- a/sdk/python/pulumi_snowflake/file_format_grant.py +++ b/sdk/python/pulumi_snowflake/file_format_grant.py @@ -15,6 +15,7 @@ class FileFormatGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, file_format_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a FileFormatGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future file formats on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future file formats on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] file_format_name: The name of the file format on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future file format. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if file_format_name is not None: pulumi.set(__self__, "file_format_name", file_format_name) if on_future is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="fileFormatName") def file_format_name(self) -> Optional[pulumi.Input[str]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _FileFormatGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, file_format_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering FileFormatGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future file formats on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] file_format_name: The name of the file format on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future file format. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if file_format_name is not None: pulumi.set(__self__, "file_format_name", file_format_name) if on_future is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="fileFormatName") def file_format_name(self) -> Optional[pulumi.Input[str]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, file_format_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -292,6 +329,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future file formats on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] file_format_name: The name of the file format on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future file format. @@ -349,6 +388,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, file_format_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -370,6 +410,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["file_format_name"] = file_format_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -389,6 +430,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, file_format_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -403,6 +445,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future file formats on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] file_format_name: The name of the file format on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future file formats in the given schema. When this is true and no schema*name is provided apply this grant on all future file formats in the given database. The file*format*name field must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future file format. @@ -415,6 +459,7 @@ def get(resource_name: str, __props__ = _FileFormatGrantState.__new__(_FileFormatGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["file_format_name"] = file_format_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -431,6 +476,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="fileFormatName") def file_format_name(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/function_grant.py b/sdk/python/pulumi_snowflake/function_grant.py index cc1b218c..58f5f5ee 100644 --- a/sdk/python/pulumi_snowflake/function_grant.py +++ b/sdk/python/pulumi_snowflake/function_grant.py @@ -18,6 +18,7 @@ def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionGrantArgumentArgs']]]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, function_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -30,6 +31,8 @@ def __init__(__self__, *, :param pulumi.Input[str] database_name: The name of the database containing the current or future functions on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future functions on which to grant privileges. :param pulumi.Input[Sequence[pulumi.Input['FunctionGrantArgumentArgs']]] arguments: List of the arguments for the function (must be present if function has arguments and function_name is present) + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] function_name: The name of the function on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future function. Must be one of `USAGE` or `OWNERSHIP`. @@ -42,6 +45,8 @@ def __init__(__self__, *, pulumi.set(__self__, "schema_name", schema_name) if arguments is not None: pulumi.set(__self__, "arguments", arguments) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if function_name is not None: pulumi.set(__self__, "function_name", function_name) if on_future is not None: @@ -93,6 +98,19 @@ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionGran def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionGrantArgumentArgs']]]]): pulumi.set(self, "arguments", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="functionName") def function_name(self) -> Optional[pulumi.Input[str]]: @@ -183,6 +201,7 @@ class _FunctionGrantState: def __init__(__self__, *, arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionGrantArgumentArgs']]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, function_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -195,6 +214,8 @@ def __init__(__self__, *, Input properties used for looking up and filtering FunctionGrant resources. :param pulumi.Input[Sequence[pulumi.Input['FunctionGrantArgumentArgs']]] arguments: List of the arguments for the function (must be present if function has arguments and function_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future functions on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] function_name: The name of the function on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future function. Must be one of `USAGE` or `OWNERSHIP`. @@ -208,6 +229,8 @@ def __init__(__self__, *, pulumi.set(__self__, "arguments", arguments) if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if function_name is not None: pulumi.set(__self__, "function_name", function_name) if on_future is not None: @@ -249,6 +272,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="functionName") def function_name(self) -> Optional[pulumi.Input[str]]: @@ -353,6 +389,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, function_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -405,6 +442,8 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionGrantArgumentArgs']]]] arguments: List of the arguments for the function (must be present if function has arguments and function_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future functions on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] function_name: The name of the function on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future function. Must be one of `USAGE` or `OWNERSHIP`. @@ -476,6 +515,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, function_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -500,6 +540,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["function_name"] = function_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -522,6 +563,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, function_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -539,6 +581,8 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionGrantArgumentArgs']]]] arguments: List of the arguments for the function (must be present if function has arguments and function_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future functions on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] function_name: The name of the function on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future functions in the given schema. When this is true and no schema*name is provided apply this grant on all future functions in the given database. The function*name, arguments, return*type, and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future function. Must be one of `USAGE` or `OWNERSHIP`. @@ -554,6 +598,7 @@ def get(resource_name: str, __props__.__dict__["arguments"] = arguments __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["function_name"] = function_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -580,6 +625,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="functionName") def function_name(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/integration_grant.py b/sdk/python/pulumi_snowflake/integration_grant.py index e48a4807..a3d36923 100644 --- a/sdk/python/pulumi_snowflake/integration_grant.py +++ b/sdk/python/pulumi_snowflake/integration_grant.py @@ -14,17 +14,22 @@ class IntegrationGrantArgs: def __init__(__self__, *, integration_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a IntegrationGrant resource. :param pulumi.Input[str] integration_name: Identifier for the integration; must be unique for your account. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the integration. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "integration_name", integration_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -44,6 +49,19 @@ def integration_name(self) -> pulumi.Input[str]: def integration_name(self, value: pulumi.Input[str]): pulumi.set(self, "integration_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -84,17 +102,22 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class _IntegrationGrantState: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, integration_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering IntegrationGrant resources. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] integration_name: Identifier for the integration; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the integration. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if integration_name is not None: pulumi.set(__self__, "integration_name", integration_name) if privilege is not None: @@ -104,6 +127,19 @@ def __init__(__self__, *, if with_grant_option is not None: pulumi.set(__self__, "with_grant_option", with_grant_option) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="integrationName") def integration_name(self) -> Optional[pulumi.Input[str]]: @@ -158,6 +194,7 @@ class IntegrationGrant(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, integration_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -190,6 +227,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] integration_name: Identifier for the integration; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the integration. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -241,6 +280,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, integration_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -257,6 +297,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = IntegrationGrantArgs.__new__(IntegrationGrantArgs) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants if integration_name is None and not opts.urn: raise TypeError("Missing required property 'integration_name'") __props__.__dict__["integration_name"] = integration_name @@ -273,6 +314,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, integration_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -284,6 +326,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] integration_name: Identifier for the integration; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the integration. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -293,12 +337,22 @@ def get(resource_name: str, __props__ = _IntegrationGrantState.__new__(_IntegrationGrantState) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["integration_name"] = integration_name __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["with_grant_option"] = with_grant_option return IntegrationGrant(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="integrationName") def integration_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_snowflake/masking_policy_grant.py b/sdk/python/pulumi_snowflake/masking_policy_grant.py index a014d6f5..acfb6f54 100644 --- a/sdk/python/pulumi_snowflake/masking_policy_grant.py +++ b/sdk/python/pulumi_snowflake/masking_policy_grant.py @@ -16,6 +16,7 @@ def __init__(__self__, *, database_name: pulumi.Input[str], masking_policy_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): @@ -24,6 +25,8 @@ def __init__(__self__, *, :param pulumi.Input[str] database_name: The name of the database containing the masking policy on which to grant privileges. :param pulumi.Input[str] masking_policy_name: The name of the masking policy on which to grant privileges immediately. :param pulumi.Input[str] schema_name: The name of the schema containing the masking policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the masking policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. @@ -31,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "masking_policy_name", masking_policy_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -74,6 +79,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -115,6 +133,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _MaskingPolicyGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, masking_policy_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -123,6 +142,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering MaskingPolicyGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the masking policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] masking_policy_name: The name of the masking policy on which to grant privileges immediately. :param pulumi.Input[str] privilege: The privilege to grant on the masking policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -131,6 +152,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if masking_policy_name is not None: pulumi.set(__self__, "masking_policy_name", masking_policy_name) if privilege is not None: @@ -154,6 +177,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="maskingPolicyName") def masking_policy_name(self) -> Optional[pulumi.Input[str]]: @@ -221,6 +257,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, masking_policy_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -232,6 +269,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the masking policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] masking_policy_name: The name of the masking policy on which to grant privileges immediately. :param pulumi.Input[str] privilege: The privilege to grant on the masking policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -262,6 +301,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, masking_policy_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -282,6 +322,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants if masking_policy_name is None and not opts.urn: raise TypeError("Missing required property 'masking_policy_name'") __props__.__dict__["masking_policy_name"] = masking_policy_name @@ -302,6 +343,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, masking_policy_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -315,6 +357,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the masking policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] masking_policy_name: The name of the masking policy on which to grant privileges immediately. :param pulumi.Input[str] privilege: The privilege to grant on the masking policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -326,6 +370,7 @@ def get(resource_name: str, __props__ = _MaskingPolicyGrantState.__new__(_MaskingPolicyGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["masking_policy_name"] = masking_policy_name __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -341,6 +386,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="maskingPolicyName") def masking_policy_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_snowflake/materialized_view_grant.py b/sdk/python/pulumi_snowflake/materialized_view_grant.py index 22d5c111..021b1f53 100644 --- a/sdk/python/pulumi_snowflake/materialized_view_grant.py +++ b/sdk/python/pulumi_snowflake/materialized_view_grant.py @@ -14,6 +14,7 @@ class MaterializedViewGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, materialized_view_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a MaterializedViewGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future materialized views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] materialized_view_name: The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future materialized view view. @@ -33,6 +36,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if materialized_view_name is not None: pulumi.set(__self__, "materialized_view_name", materialized_view_name) if on_future is not None: @@ -60,6 +65,19 @@ def database_name(self) -> pulumi.Input[str]: def database_name(self, value: pulumi.Input[str]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="materializedViewName") def materialized_view_name(self) -> Optional[pulumi.Input[str]]: @@ -149,6 +167,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _MaterializedViewGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, materialized_view_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -159,6 +178,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering MaterializedViewGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future materialized views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] materialized_view_name: The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future materialized view view. @@ -169,6 +190,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if materialized_view_name is not None: pulumi.set(__self__, "materialized_view_name", materialized_view_name) if on_future is not None: @@ -196,6 +219,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="materializedViewName") def materialized_view_name(self) -> Optional[pulumi.Input[str]]: @@ -287,6 +323,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, materialized_view_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -330,6 +367,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future materialized views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] materialized_view_name: The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future materialized view view. @@ -392,6 +431,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, materialized_view_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -414,6 +454,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["materialized_view_name"] = materialized_view_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -432,6 +473,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, materialized_view_name: Optional[pulumi.Input[str]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -447,6 +489,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future materialized views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] materialized_view_name: The name of the materialized view on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future materialized views in the given schema. When this is true and no schema*name is provided apply this grant on all future materialized views in the given database. The materialized*view*name and shares fields must be unset in order to use on_future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future materialized view view. @@ -460,6 +504,7 @@ def get(resource_name: str, __props__ = _MaterializedViewGrantState.__new__(_MaterializedViewGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["materialized_view_name"] = materialized_view_name __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege @@ -477,6 +522,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="materializedViewName") def materialized_view_name(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/pipe_grant.py b/sdk/python/pulumi_snowflake/pipe_grant.py index 20468054..6a5f2b69 100644 --- a/sdk/python/pulumi_snowflake/pipe_grant.py +++ b/sdk/python/pulumi_snowflake/pipe_grant.py @@ -15,6 +15,7 @@ class PipeGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, pipe_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a PipeGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future pipes on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future pipes on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. :param pulumi.Input[str] pipe_name: The name of the pipe on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[str] privilege: The privilege to grant on the current or future pipe. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if pipe_name is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _PipeGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, pipe_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering PipeGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future pipes on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. :param pulumi.Input[str] pipe_name: The name of the pipe on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[str] privilege: The privilege to grant on the current or future pipe. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if pipe_name is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, pipe_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -273,6 +310,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future pipes on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. :param pulumi.Input[str] pipe_name: The name of the pipe on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[str] privilege: The privilege to grant on the current or future pipe. @@ -311,6 +350,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, pipe_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -332,6 +372,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["pipe_name"] = pipe_name __props__.__dict__["privilege"] = privilege @@ -351,6 +392,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, pipe_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, @@ -365,6 +407,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future pipes on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future pipes in the given schema. When this is true and no schema*name is provided apply this grant on all future pipes in the given database. The pipe*name field must be unset in order to use on*future. :param pulumi.Input[str] pipe_name: The name of the pipe on which to grant privileges immediately (only valid if on_future is false). :param pulumi.Input[str] privilege: The privilege to grant on the current or future pipe. @@ -377,6 +421,7 @@ def get(resource_name: str, __props__ = _PipeGrantState.__new__(_PipeGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["pipe_name"] = pipe_name __props__.__dict__["privilege"] = privilege @@ -393,6 +438,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/procedure_grant.py b/sdk/python/pulumi_snowflake/procedure_grant.py index 0ea976ee..c9f5f5e9 100644 --- a/sdk/python/pulumi_snowflake/procedure_grant.py +++ b/sdk/python/pulumi_snowflake/procedure_grant.py @@ -18,6 +18,7 @@ def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], arguments: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedureGrantArgumentArgs']]]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, procedure_name: Optional[pulumi.Input[str]] = None, @@ -30,6 +31,8 @@ def __init__(__self__, *, :param pulumi.Input[str] database_name: The name of the database containing the current or future procedures on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future procedures on which to grant privileges. :param pulumi.Input[Sequence[pulumi.Input['ProcedureGrantArgumentArgs']]] arguments: List of the arguments for the procedure (must be present if procedure has arguments and procedure_name is present) + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future procedure. :param pulumi.Input[str] procedure_name: The name of the procedure on which to grant privileges immediately (only valid if on_future is false). @@ -42,6 +45,8 @@ def __init__(__self__, *, pulumi.set(__self__, "schema_name", schema_name) if arguments is not None: pulumi.set(__self__, "arguments", arguments) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -93,6 +98,19 @@ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedureGra def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedureGrantArgumentArgs']]]]): pulumi.set(self, "arguments", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -183,6 +201,7 @@ class _ProcedureGrantState: def __init__(__self__, *, arguments: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedureGrantArgumentArgs']]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, procedure_name: Optional[pulumi.Input[str]] = None, @@ -195,6 +214,8 @@ def __init__(__self__, *, Input properties used for looking up and filtering ProcedureGrant resources. :param pulumi.Input[Sequence[pulumi.Input['ProcedureGrantArgumentArgs']]] arguments: List of the arguments for the procedure (must be present if procedure has arguments and procedure_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future procedures on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future procedure. :param pulumi.Input[str] procedure_name: The name of the procedure on which to grant privileges immediately (only valid if on_future is false). @@ -208,6 +229,8 @@ def __init__(__self__, *, pulumi.set(__self__, "arguments", arguments) if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -249,6 +272,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -353,6 +389,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProcedureGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, procedure_name: Optional[pulumi.Input[str]] = None, @@ -405,6 +442,8 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProcedureGrantArgumentArgs']]]] arguments: List of the arguments for the procedure (must be present if procedure has arguments and procedure_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future procedures on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future procedure. :param pulumi.Input[str] procedure_name: The name of the procedure on which to grant privileges immediately (only valid if on_future is false). @@ -476,6 +515,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProcedureGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, procedure_name: Optional[pulumi.Input[str]] = None, @@ -500,6 +540,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["procedure_name"] = procedure_name @@ -522,6 +563,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, arguments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProcedureGrantArgumentArgs']]]]] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, procedure_name: Optional[pulumi.Input[str]] = None, @@ -539,6 +581,8 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProcedureGrantArgumentArgs']]]] arguments: List of the arguments for the procedure (must be present if procedure has arguments and procedure_name is present) :param pulumi.Input[str] database_name: The name of the database containing the current or future procedures on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future procedures in the given schema. When this is true and no schema*name is provided apply this grant on all future procedures in the given database. The procedure*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future procedure. :param pulumi.Input[str] procedure_name: The name of the procedure on which to grant privileges immediately (only valid if on_future is false). @@ -554,6 +598,7 @@ def get(resource_name: str, __props__.__dict__["arguments"] = arguments __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["procedure_name"] = procedure_name @@ -580,6 +625,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/resource_monitor_grant.py b/sdk/python/pulumi_snowflake/resource_monitor_grant.py index 6db871f4..a698ef2e 100644 --- a/sdk/python/pulumi_snowflake/resource_monitor_grant.py +++ b/sdk/python/pulumi_snowflake/resource_monitor_grant.py @@ -14,17 +14,22 @@ class ResourceMonitorGrantArgs: def __init__(__self__, *, monitor_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a ResourceMonitorGrant resource. :param pulumi.Input[str] monitor_name: Identifier for the resource monitor; must be unique for your account. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the resource monitor. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "monitor_name", monitor_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -44,6 +49,19 @@ def monitor_name(self) -> pulumi.Input[str]: def monitor_name(self, value: pulumi.Input[str]): pulumi.set(self, "monitor_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -84,17 +102,22 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class _ResourceMonitorGrantState: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, monitor_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering ResourceMonitorGrant resources. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] monitor_name: Identifier for the resource monitor; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the resource monitor. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if monitor_name is not None: pulumi.set(__self__, "monitor_name", monitor_name) if privilege is not None: @@ -104,6 +127,19 @@ def __init__(__self__, *, if with_grant_option is not None: pulumi.set(__self__, "with_grant_option", with_grant_option) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="monitorName") def monitor_name(self) -> Optional[pulumi.Input[str]]: @@ -158,6 +194,7 @@ class ResourceMonitorGrant(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, monitor_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -172,6 +209,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] monitor_name: Identifier for the resource monitor; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the resource monitor. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -205,6 +244,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, monitor_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -221,6 +261,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = ResourceMonitorGrantArgs.__new__(ResourceMonitorGrantArgs) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants if monitor_name is None and not opts.urn: raise TypeError("Missing required property 'monitor_name'") __props__.__dict__["monitor_name"] = monitor_name @@ -237,6 +278,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, monitor_name: Optional[pulumi.Input[str]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -248,6 +290,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] monitor_name: Identifier for the resource monitor; must be unique for your account. :param pulumi.Input[str] privilege: The privilege to grant on the resource monitor. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -257,12 +301,22 @@ def get(resource_name: str, __props__ = _ResourceMonitorGrantState.__new__(_ResourceMonitorGrantState) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["monitor_name"] = monitor_name __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["with_grant_option"] = with_grant_option return ResourceMonitorGrant(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="monitorName") def monitor_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_snowflake/role_grants.py b/sdk/python/pulumi_snowflake/role_grants.py index 8d834275..eca0af93 100644 --- a/sdk/python/pulumi_snowflake/role_grants.py +++ b/sdk/python/pulumi_snowflake/role_grants.py @@ -14,15 +14,20 @@ class RoleGrantsArgs: def __init__(__self__, *, role_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a RoleGrants resource. :param pulumi.Input[str] role_name: The name of the role we are granting. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants role to this specified role. :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Grants role to this specified user. """ pulumi.set(__self__, "role_name", role_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if roles is not None: pulumi.set(__self__, "roles", roles) if users is not None: @@ -40,6 +45,19 @@ def role_name(self) -> pulumi.Input[str]: def role_name(self, value: pulumi.Input[str]): pulumi.set(self, "role_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -68,15 +86,20 @@ def users(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type class _RoleGrantsState: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, role_name: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering RoleGrants resources. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] role_name: The name of the role we are granting. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants role to this specified role. :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Grants role to this specified user. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if role_name is not None: pulumi.set(__self__, "role_name", role_name) if roles is not None: @@ -84,6 +107,19 @@ def __init__(__self__, *, if users is not None: pulumi.set(__self__, "users", users) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="roleName") def role_name(self) -> Optional[pulumi.Input[str]]: @@ -126,6 +162,7 @@ class RoleGrants(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, role_name: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -158,6 +195,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] role_name: The name of the role we are granting. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants role to this specified role. :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Grants role to this specified user. @@ -209,6 +248,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, role_name: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -224,6 +264,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = RoleGrantsArgs.__new__(RoleGrantsArgs) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants if role_name is None and not opts.urn: raise TypeError("Missing required property 'role_name'") __props__.__dict__["role_name"] = role_name @@ -239,6 +280,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, role_name: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'RoleGrants': @@ -249,6 +291,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] role_name: The name of the role we are granting. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants role to this specified role. :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Grants role to this specified user. @@ -257,11 +301,21 @@ def get(resource_name: str, __props__ = _RoleGrantsState.__new__(_RoleGrantsState) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["role_name"] = role_name __props__.__dict__["roles"] = roles __props__.__dict__["users"] = users return RoleGrants(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="roleName") def role_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_snowflake/role_ownership_grant.py b/sdk/python/pulumi_snowflake/role_ownership_grant.py new file mode 100644 index 00000000..85e036a7 --- /dev/null +++ b/sdk/python/pulumi_snowflake/role_ownership_grant.py @@ -0,0 +1,241 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['RoleOwnershipGrantArgs', 'RoleOwnershipGrant'] + +@pulumi.input_type +class RoleOwnershipGrantArgs: + def __init__(__self__, *, + on_role_name: pulumi.Input[str], + to_role_name: pulumi.Input[str], + current_grants: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a RoleOwnershipGrant resource. + :param pulumi.Input[str] on_role_name: The name of the role ownership is granted on. + :param pulumi.Input[str] to_role_name: The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + :param pulumi.Input[str] current_grants: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + """ + pulumi.set(__self__, "on_role_name", on_role_name) + pulumi.set(__self__, "to_role_name", to_role_name) + if current_grants is not None: + pulumi.set(__self__, "current_grants", current_grants) + + @property + @pulumi.getter(name="onRoleName") + def on_role_name(self) -> pulumi.Input[str]: + """ + The name of the role ownership is granted on. + """ + return pulumi.get(self, "on_role_name") + + @on_role_name.setter + def on_role_name(self, value: pulumi.Input[str]): + pulumi.set(self, "on_role_name", value) + + @property + @pulumi.getter(name="toRoleName") + def to_role_name(self) -> pulumi.Input[str]: + """ + The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + return pulumi.get(self, "to_role_name") + + @to_role_name.setter + def to_role_name(self, value: pulumi.Input[str]): + pulumi.set(self, "to_role_name", value) + + @property + @pulumi.getter(name="currentGrants") + def current_grants(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + """ + return pulumi.get(self, "current_grants") + + @current_grants.setter + def current_grants(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "current_grants", value) + + +@pulumi.input_type +class _RoleOwnershipGrantState: + def __init__(__self__, *, + current_grants: Optional[pulumi.Input[str]] = None, + on_role_name: Optional[pulumi.Input[str]] = None, + to_role_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RoleOwnershipGrant resources. + :param pulumi.Input[str] current_grants: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + :param pulumi.Input[str] on_role_name: The name of the role ownership is granted on. + :param pulumi.Input[str] to_role_name: The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + if current_grants is not None: + pulumi.set(__self__, "current_grants", current_grants) + if on_role_name is not None: + pulumi.set(__self__, "on_role_name", on_role_name) + if to_role_name is not None: + pulumi.set(__self__, "to_role_name", to_role_name) + + @property + @pulumi.getter(name="currentGrants") + def current_grants(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + """ + return pulumi.get(self, "current_grants") + + @current_grants.setter + def current_grants(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "current_grants", value) + + @property + @pulumi.getter(name="onRoleName") + def on_role_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the role ownership is granted on. + """ + return pulumi.get(self, "on_role_name") + + @on_role_name.setter + def on_role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "on_role_name", value) + + @property + @pulumi.getter(name="toRoleName") + def to_role_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + return pulumi.get(self, "to_role_name") + + @to_role_name.setter + def to_role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "to_role_name", value) + + +class RoleOwnershipGrant(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + current_grants: Optional[pulumi.Input[str]] = None, + on_role_name: Optional[pulumi.Input[str]] = None, + to_role_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a RoleOwnershipGrant resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] current_grants: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + :param pulumi.Input[str] on_role_name: The name of the role ownership is granted on. + :param pulumi.Input[str] to_role_name: The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RoleOwnershipGrantArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a RoleOwnershipGrant resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param RoleOwnershipGrantArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RoleOwnershipGrantArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + current_grants: Optional[pulumi.Input[str]] = None, + on_role_name: Optional[pulumi.Input[str]] = None, + to_role_name: Optional[pulumi.Input[str]] = None, + __props__=None): + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RoleOwnershipGrantArgs.__new__(RoleOwnershipGrantArgs) + + __props__.__dict__["current_grants"] = current_grants + if on_role_name is None and not opts.urn: + raise TypeError("Missing required property 'on_role_name'") + __props__.__dict__["on_role_name"] = on_role_name + if to_role_name is None and not opts.urn: + raise TypeError("Missing required property 'to_role_name'") + __props__.__dict__["to_role_name"] = to_role_name + super(RoleOwnershipGrant, __self__).__init__( + 'snowflake:index/roleOwnershipGrant:RoleOwnershipGrant', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + current_grants: Optional[pulumi.Input[str]] = None, + on_role_name: Optional[pulumi.Input[str]] = None, + to_role_name: Optional[pulumi.Input[str]] = None) -> 'RoleOwnershipGrant': + """ + Get an existing RoleOwnershipGrant resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] current_grants: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + :param pulumi.Input[str] on_role_name: The name of the role ownership is granted on. + :param pulumi.Input[str] to_role_name: The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RoleOwnershipGrantState.__new__(_RoleOwnershipGrantState) + + __props__.__dict__["current_grants"] = current_grants + __props__.__dict__["on_role_name"] = on_role_name + __props__.__dict__["to_role_name"] = to_role_name + return RoleOwnershipGrant(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="currentGrants") + def current_grants(self) -> pulumi.Output[Optional[str]]: + """ + Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. + """ + return pulumi.get(self, "current_grants") + + @property + @pulumi.getter(name="onRoleName") + def on_role_name(self) -> pulumi.Output[str]: + """ + The name of the role ownership is granted on. + """ + return pulumi.get(self, "on_role_name") + + @property + @pulumi.getter(name="toRoleName") + def to_role_name(self) -> pulumi.Output[str]: + """ + The name of the role to grant ownership. Please ensure that the role that terraform is using is granted access. + """ + return pulumi.get(self, "to_role_name") + diff --git a/sdk/python/pulumi_snowflake/row_access_policy_grant.py b/sdk/python/pulumi_snowflake/row_access_policy_grant.py index 397f195e..e4c0bbdb 100644 --- a/sdk/python/pulumi_snowflake/row_access_policy_grant.py +++ b/sdk/python/pulumi_snowflake/row_access_policy_grant.py @@ -16,6 +16,7 @@ def __init__(__self__, *, database_name: pulumi.Input[str], row_access_policy_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): @@ -24,6 +25,8 @@ def __init__(__self__, *, :param pulumi.Input[str] database_name: The name of the database containing the row access policy on which to grant privileges. :param pulumi.Input[str] row_access_policy_name: The name of the row access policy on which to grant privileges immediately. :param pulumi.Input[str] schema_name: The name of the schema containing the row access policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the row access policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. @@ -31,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "row_access_policy_name", row_access_policy_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -74,6 +79,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -115,6 +133,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _RowAccessPolicyGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, row_access_policy_name: Optional[pulumi.Input[str]] = None, @@ -123,6 +142,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering RowAccessPolicyGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the row access policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the row access policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] row_access_policy_name: The name of the row access policy on which to grant privileges immediately. @@ -131,6 +152,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -154,6 +177,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -221,6 +257,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, row_access_policy_name: Optional[pulumi.Input[str]] = None, @@ -257,6 +294,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the row access policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the row access policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] row_access_policy_name: The name of the row access policy on which to grant privileges immediately. @@ -312,6 +351,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, row_access_policy_name: Optional[pulumi.Input[str]] = None, @@ -332,6 +372,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles if row_access_policy_name is None and not opts.urn: @@ -352,6 +393,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, row_access_policy_name: Optional[pulumi.Input[str]] = None, @@ -365,6 +407,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the row access policy on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the row access policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] row_access_policy_name: The name of the row access policy on which to grant privileges immediately. @@ -376,6 +420,7 @@ def get(resource_name: str, __props__ = _RowAccessPolicyGrantState.__new__(_RowAccessPolicyGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["row_access_policy_name"] = row_access_policy_name @@ -391,6 +436,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter def privilege(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_snowflake/schema_grant.py b/sdk/python/pulumi_snowflake/schema_grant.py index db313675..de40195c 100644 --- a/sdk/python/pulumi_snowflake/schema_grant.py +++ b/sdk/python/pulumi_snowflake/schema_grant.py @@ -14,6 +14,7 @@ class SchemaGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -23,6 +24,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a SchemaGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the schema on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that terraform is using is granted access. @@ -32,6 +35,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -57,6 +62,19 @@ def database_name(self) -> pulumi.Input[str]: def database_name(self, value: pulumi.Input[str]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -135,6 +153,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _SchemaGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -144,6 +163,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SchemaGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the schema on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that terraform is using is granted access. @@ -154,6 +175,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -179,6 +202,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -259,6 +295,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -300,6 +337,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the schema on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that terraform is using is granted access. @@ -361,6 +400,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -382,6 +422,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -399,6 +440,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -413,6 +455,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the schema on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true, apply this grant on all future schemas in the given database. The schema*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future schema. Note that if "OWNERSHIP" is specified, ensure that the role that terraform is using is granted access. @@ -426,6 +470,7 @@ def get(resource_name: str, __props__ = _SchemaGrantState.__new__(_SchemaGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -442,6 +487,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/sequence_grant.py b/sdk/python/pulumi_snowflake/sequence_grant.py index 0f749471..56cb64f8 100644 --- a/sdk/python/pulumi_snowflake/sequence_grant.py +++ b/sdk/python/pulumi_snowflake/sequence_grant.py @@ -15,6 +15,7 @@ class SequenceGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a SequenceGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future sequences on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future sequences on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future sequence. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _SequenceGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SequenceGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future sequences on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future sequence. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -292,6 +329,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future sequences on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future sequence. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -349,6 +388,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -370,6 +410,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -389,6 +430,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -403,6 +445,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future sequences on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future sequences in the given schema. When this is true and no schema*name is provided apply this grant on all future sequences in the given database. The sequence*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future sequence. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -415,6 +459,7 @@ def get(resource_name: str, __props__ = _SequenceGrantState.__new__(_SequenceGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -431,6 +476,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/stage_grant.py b/sdk/python/pulumi_snowflake/stage_grant.py index a627db53..193a950f 100644 --- a/sdk/python/pulumi_snowflake/stage_grant.py +++ b/sdk/python/pulumi_snowflake/stage_grant.py @@ -15,6 +15,7 @@ class StageGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a StageGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current stage on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current stage on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the stage. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _StageGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering StageGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current stage on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the stage. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -273,6 +310,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current stage on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the stage. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -311,6 +350,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -332,6 +372,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -351,6 +392,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -365,6 +407,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current stage on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the stage. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -377,6 +421,7 @@ def get(resource_name: str, __props__ = _StageGrantState.__new__(_StageGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -393,6 +438,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/stream_grant.py b/sdk/python/pulumi_snowflake/stream_grant.py index 2659a3f2..7418d31d 100644 --- a/sdk/python/pulumi_snowflake/stream_grant.py +++ b/sdk/python/pulumi_snowflake/stream_grant.py @@ -15,6 +15,7 @@ class StreamGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a StreamGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future streams on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future streams on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future stream. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _StreamGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering StreamGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future streams on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future stream. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -292,6 +329,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future streams on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future stream. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -349,6 +388,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -370,6 +410,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -389,6 +430,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -403,6 +445,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future streams on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future streams in the given schema. When this is true and no schema*name is provided apply this grant on all future streams in the given database. The stream*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future stream. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -415,6 +459,7 @@ def get(resource_name: str, __props__ = _StreamGrantState.__new__(_StreamGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -431,6 +476,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/table_grant.py b/sdk/python/pulumi_snowflake/table_grant.py index 96571c49..d4560c1c 100644 --- a/sdk/python/pulumi_snowflake/table_grant.py +++ b/sdk/python/pulumi_snowflake/table_grant.py @@ -14,6 +14,7 @@ class TableGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a TableGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future table. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -33,6 +36,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -60,6 +65,19 @@ def database_name(self) -> pulumi.Input[str]: def database_name(self, value: pulumi.Input[str]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -149,6 +167,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _TableGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -159,6 +178,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering TableGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future table. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -169,6 +190,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -196,6 +219,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -287,6 +323,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -324,6 +361,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future table. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -380,6 +419,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -402,6 +442,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -420,6 +461,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -435,6 +477,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tables on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future table. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -448,6 +492,7 @@ def get(resource_name: str, __props__ = _TableGrantState.__new__(_TableGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -465,6 +510,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/task_grant.py b/sdk/python/pulumi_snowflake/task_grant.py index c3ce086f..962f5e82 100644 --- a/sdk/python/pulumi_snowflake/task_grant.py +++ b/sdk/python/pulumi_snowflake/task_grant.py @@ -15,6 +15,7 @@ class TaskGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], schema_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, The set of arguments for constructing a TaskGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tasks on which to grant privileges. :param pulumi.Input[str] schema_name: The name of the schema containing the current or future tasks on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future task. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -32,6 +35,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "database_name", database_name) pulumi.set(__self__, "schema_name", schema_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -67,6 +72,19 @@ def schema_name(self) -> pulumi.Input[str]: def schema_name(self, value: pulumi.Input[str]): pulumi.set(self, "schema_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -132,6 +150,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _TaskGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -141,6 +160,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering TaskGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future tasks on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future task. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -150,6 +171,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -175,6 +198,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -254,6 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -292,6 +329,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tasks on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future task. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -349,6 +388,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -370,6 +410,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -389,6 +430,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -403,6 +445,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future tasks on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future tasks in the given schema. When this is true and no schema*name is provided apply this grant on all future tasks in the given database. The task*name field must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future task. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -415,6 +459,7 @@ def get(resource_name: str, __props__ = _TaskGrantState.__new__(_TaskGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -431,6 +476,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/view_grant.py b/sdk/python/pulumi_snowflake/view_grant.py index fc2ee54a..41849ef6 100644 --- a/sdk/python/pulumi_snowflake/view_grant.py +++ b/sdk/python/pulumi_snowflake/view_grant.py @@ -14,6 +14,7 @@ class ViewGrantArgs: def __init__(__self__, *, database_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -24,6 +25,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a ViewGrant resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future view. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -33,6 +36,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -60,6 +65,19 @@ def database_name(self) -> pulumi.Input[str]: def database_name(self, value: pulumi.Input[str]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -149,6 +167,7 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): class _ViewGrantState: def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -159,6 +178,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ViewGrant resources. :param pulumi.Input[str] database_name: The name of the database containing the current or future views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future view. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -169,6 +190,8 @@ def __init__(__self__, *, """ if database_name is not None: pulumi.set(__self__, "database_name", database_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if on_future is not None: pulumi.set(__self__, "on_future", on_future) if privilege is not None: @@ -196,6 +219,19 @@ def database_name(self) -> Optional[pulumi.Input[str]]: def database_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "database_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter(name="onFuture") def on_future(self) -> Optional[pulumi.Input[bool]]: @@ -287,6 +323,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -330,6 +367,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future view. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -392,6 +431,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -414,6 +454,7 @@ def _internal_init(__self__, if database_name is None and not opts.urn: raise TypeError("Missing required property 'database_name'") __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -432,6 +473,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, database_name: Optional[pulumi.Input[str]] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, on_future: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -447,6 +489,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] database_name: The name of the database containing the current or future views on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[bool] on_future: When this is set to true and a schema*name is provided, apply this grant on all future views in the given schema. When this is true and no schema*name is provided apply this grant on all future views in the given database. The view*name and shares fields must be unset in order to use on*future. :param pulumi.Input[str] privilege: The privilege to grant on the current or future view. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. @@ -460,6 +504,7 @@ def get(resource_name: str, __props__ = _ViewGrantState.__new__(_ViewGrantState) __props__.__dict__["database_name"] = database_name + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["on_future"] = on_future __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles @@ -477,6 +522,15 @@ def database_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "database_name") + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter(name="onFuture") def on_future(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_snowflake/warehouse_grant.py b/sdk/python/pulumi_snowflake/warehouse_grant.py index a726c3ef..e405e801 100644 --- a/sdk/python/pulumi_snowflake/warehouse_grant.py +++ b/sdk/python/pulumi_snowflake/warehouse_grant.py @@ -14,17 +14,22 @@ class WarehouseGrantArgs: def __init__(__self__, *, warehouse_name: pulumi.Input[str], + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a WarehouseGrant resource. :param pulumi.Input[str] warehouse_name: The name of the warehouse on which to grant privileges. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the warehouse. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ pulumi.set(__self__, "warehouse_name", warehouse_name) + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -44,6 +49,19 @@ def warehouse_name(self) -> pulumi.Input[str]: def warehouse_name(self, value: pulumi.Input[str]): pulumi.set(self, "warehouse_name", value) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -84,17 +102,22 @@ def with_grant_option(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class _WarehouseGrantState: def __init__(__self__, *, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, warehouse_name: Optional[pulumi.Input[str]] = None, with_grant_option: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering WarehouseGrant resources. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the warehouse. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] warehouse_name: The name of the warehouse on which to grant privileges. :param pulumi.Input[bool] with_grant_option: When this is set to true, allows the recipient role to grant the privileges to other roles. """ + if enable_multiple_grants is not None: + pulumi.set(__self__, "enable_multiple_grants", enable_multiple_grants) if privilege is not None: pulumi.set(__self__, "privilege", privilege) if roles is not None: @@ -104,6 +127,19 @@ def __init__(__self__, *, if with_grant_option is not None: pulumi.set(__self__, "with_grant_option", with_grant_option) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> Optional[pulumi.Input[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + + @enable_multiple_grants.setter + def enable_multiple_grants(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_grants", value) + @property @pulumi.getter def privilege(self) -> Optional[pulumi.Input[str]]: @@ -158,6 +194,7 @@ class WarehouseGrant(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, warehouse_name: Optional[pulumi.Input[str]] = None, @@ -187,6 +224,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the warehouse. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] warehouse_name: The name of the warehouse on which to grant privileges. @@ -235,6 +274,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, warehouse_name: Optional[pulumi.Input[str]] = None, @@ -251,6 +291,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = WarehouseGrantArgs.__new__(WarehouseGrantArgs) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles if warehouse_name is None and not opts.urn: @@ -267,6 +308,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + enable_multiple_grants: Optional[pulumi.Input[bool]] = None, privilege: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, warehouse_name: Optional[pulumi.Input[str]] = None, @@ -278,6 +320,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_multiple_grants: When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. :param pulumi.Input[str] privilege: The privilege to grant on the warehouse. :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: Grants privilege to these roles. :param pulumi.Input[str] warehouse_name: The name of the warehouse on which to grant privileges. @@ -287,12 +331,22 @@ def get(resource_name: str, __props__ = _WarehouseGrantState.__new__(_WarehouseGrantState) + __props__.__dict__["enable_multiple_grants"] = enable_multiple_grants __props__.__dict__["privilege"] = privilege __props__.__dict__["roles"] = roles __props__.__dict__["warehouse_name"] = warehouse_name __props__.__dict__["with_grant_option"] = with_grant_option return WarehouseGrant(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="enableMultipleGrants") + def enable_multiple_grants(self) -> pulumi.Output[Optional[bool]]: + """ + When this is set to true, multiple grants of the same type can be created. This will cause Terraform to not revoke + grants applied to roles and objects outside Terraform. + """ + return pulumi.get(self, "enable_multiple_grants") + @property @pulumi.getter def privilege(self) -> pulumi.Output[Optional[str]]: