@pulumi/gcp 6.15.0 → 6.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/billing/accountIamBinding.d.ts +105 -0
  2. package/billing/accountIamBinding.js +75 -0
  3. package/billing/accountIamBinding.js.map +1 -1
  4. package/billing/accountIamMember.d.ts +105 -0
  5. package/billing/accountIamMember.js +75 -0
  6. package/billing/accountIamMember.js.map +1 -1
  7. package/billing/accountIamPolicy.d.ts +99 -0
  8. package/billing/accountIamPolicy.js +75 -0
  9. package/billing/accountIamPolicy.js.map +1 -1
  10. package/cloudfunctions/functionIamBinding.d.ts +142 -0
  11. package/cloudfunctions/functionIamBinding.js +85 -0
  12. package/cloudfunctions/functionIamBinding.js.map +1 -1
  13. package/cloudfunctions/functionIamMember.d.ts +142 -0
  14. package/cloudfunctions/functionIamMember.js +85 -0
  15. package/cloudfunctions/functionIamMember.js.map +1 -1
  16. package/cloudfunctions/functionIamPolicy.d.ts +139 -0
  17. package/cloudfunctions/functionIamPolicy.js +85 -0
  18. package/cloudfunctions/functionIamPolicy.js.map +1 -1
  19. package/compute/backendServiceIamBinding.d.ts +79 -0
  20. package/compute/backendServiceIamBinding.js +25 -0
  21. package/compute/backendServiceIamBinding.js.map +1 -1
  22. package/compute/backendServiceIamMember.d.ts +79 -0
  23. package/compute/backendServiceIamMember.js +25 -0
  24. package/compute/backendServiceIamMember.js.map +1 -1
  25. package/compute/backendServiceIamPolicy.d.ts +64 -0
  26. package/compute/backendServiceIamPolicy.js +25 -0
  27. package/compute/backendServiceIamPolicy.js.map +1 -1
  28. package/compute/mangedSslCertificate.d.ts +157 -27
  29. package/compute/mangedSslCertificate.js +97 -0
  30. package/compute/mangedSslCertificate.js.map +1 -1
  31. package/compute/regionBackendServiceIamBinding.d.ts +100 -0
  32. package/compute/regionBackendServiceIamBinding.js +25 -0
  33. package/compute/regionBackendServiceIamBinding.js.map +1 -1
  34. package/compute/regionBackendServiceIamMember.d.ts +100 -0
  35. package/compute/regionBackendServiceIamMember.js +25 -0
  36. package/compute/regionBackendServiceIamMember.js.map +1 -1
  37. package/compute/regionBackendServiceIamPolicy.d.ts +85 -0
  38. package/compute/regionBackendServiceIamPolicy.js +25 -0
  39. package/compute/regionBackendServiceIamPolicy.js.map +1 -1
  40. package/datacatalog/tagTemplateIamBinding.d.ts +121 -0
  41. package/datacatalog/tagTemplateIamBinding.js +79 -0
  42. package/datacatalog/tagTemplateIamBinding.js.map +1 -1
  43. package/datacatalog/tagTemplateIamMember.d.ts +121 -0
  44. package/datacatalog/tagTemplateIamMember.js +79 -0
  45. package/datacatalog/tagTemplateIamMember.js.map +1 -1
  46. package/datacatalog/tagTemplateIamPolicy.d.ts +118 -0
  47. package/datacatalog/tagTemplateIamPolicy.js +79 -0
  48. package/datacatalog/tagTemplateIamPolicy.js.map +1 -1
  49. package/folder/iamAuditConfig.d.ts +200 -8
  50. package/folder/iamAuditConfig.js +183 -0
  51. package/folder/iamAuditConfig.js.map +1 -1
  52. package/folder/iammember.d.ts +225 -0
  53. package/folder/iammember.js +183 -0
  54. package/folder/iammember.js.map +1 -1
  55. package/folder/iampolicy.d.ts +213 -0
  56. package/folder/iampolicy.js +183 -0
  57. package/folder/iampolicy.js.map +1 -1
  58. package/kms/registry.d.ts +149 -18
  59. package/kms/registry.js +89 -0
  60. package/kms/registry.js.map +1 -1
  61. package/monitoring/getSecretVersion.d.ts +52 -0
  62. package/monitoring/getSecretVersion.js +14 -0
  63. package/monitoring/getSecretVersion.js.map +1 -1
  64. package/organizations/iammember.d.ts +228 -3
  65. package/organizations/iammember.js +186 -0
  66. package/organizations/iammember.js.map +1 -1
  67. package/organizations/iampolicy.d.ts +216 -3
  68. package/organizations/iampolicy.js +186 -0
  69. package/organizations/iampolicy.js.map +1 -1
  70. package/package.json +2 -2
  71. package/package.json.dev +2 -2
  72. package/sourcerepo/getRepository.d.ts +29 -0
  73. package/sourcerepo/getRepository.js +17 -0
  74. package/sourcerepo/getRepository.js.map +1 -1
  75. package/types/input.d.ts +77 -0
  76. package/types/output.d.ts +77 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tagTemplateIamBinding.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagTemplateIamBinding.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamBinding.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,84 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * Three different resources help you manage your IAM policy for Data catalog TagTemplate. Each of these resources serves a different use case:
5
+ *
6
+ * * `gcp.datacatalog.TagTemplateIamPolicy`: Authoritative. Sets the IAM policy for the tagtemplate and replaces any existing policy already attached.
7
+ * * `gcp.datacatalog.TagTemplateIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the tagtemplate are preserved.
8
+ * * `gcp.datacatalog.TagTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagtemplate are preserved.
9
+ *
10
+ * > **Note:** `gcp.datacatalog.TagTemplateIamPolicy` **cannot** be used in conjunction with `gcp.datacatalog.TagTemplateIamBinding` and `gcp.datacatalog.TagTemplateIamMember` or they will fight over what your policy should be.
11
+ *
12
+ * > **Note:** `gcp.datacatalog.TagTemplateIamBinding` resources **can be** used in conjunction with `gcp.datacatalog.TagTemplateIamMember` resources **only if** they do not grant privilege to the same role.
13
+ *
14
+ * ## google\_data\_catalog\_tag\_template\_iam\_policy
15
+ *
16
+ * ```typescript
17
+ * import * as pulumi from "@pulumi/pulumi";
18
+ * import * as gcp from "@pulumi/gcp";
19
+ *
20
+ * const admin = gcp.organizations.getIAMPolicy({
21
+ * bindings: [{
22
+ * role: "roles/viewer",
23
+ * members: ["user:jane@example.com"],
24
+ * }],
25
+ * });
26
+ * const policy = new gcp.datacatalog.TagTemplateIamPolicy("policy", {
27
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
28
+ * policyData: admin.then(admin => admin.policyData),
29
+ * });
30
+ * ```
31
+ *
32
+ * ## google\_data\_catalog\_tag\_template\_iam\_binding
33
+ *
34
+ * ```typescript
35
+ * import * as pulumi from "@pulumi/pulumi";
36
+ * import * as gcp from "@pulumi/gcp";
37
+ *
38
+ * const binding = new gcp.datacatalog.TagTemplateIamBinding("binding", {
39
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
40
+ * role: "roles/viewer",
41
+ * members: ["user:jane@example.com"],
42
+ * });
43
+ * ```
44
+ *
45
+ * ## google\_data\_catalog\_tag\_template\_iam\_member
46
+ *
47
+ * ```typescript
48
+ * import * as pulumi from "@pulumi/pulumi";
49
+ * import * as gcp from "@pulumi/gcp";
50
+ *
51
+ * const member = new gcp.datacatalog.TagTemplateIamMember("member", {
52
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
53
+ * role: "roles/viewer",
54
+ * member: "user:jane@example.com",
55
+ * });
56
+ * ```
57
+ *
58
+ * ## Import
59
+ *
60
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} * {{project}}/{{region}}/{{tag_template}} * {{region}}/{{tag_template}} * {{tag_template}} Any variables not passed in the import command will be taken from the provider configuration. Data catalog tagtemplate IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
61
+ *
62
+ * ```sh
63
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com"
64
+ * ```
65
+ *
66
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
67
+ *
68
+ * ```sh
69
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer"
70
+ * ```
71
+ *
72
+ * IAM policy imports use the identifier of the resource in question, e.g.
73
+ *
74
+ * ```sh
75
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}}
76
+ * ```
77
+ *
78
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
79
+ *
80
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
81
+ */
3
82
  export declare class TagTemplateIamMember extends pulumi.CustomResource {
4
83
  /**
5
84
  * Get an existing TagTemplateIamMember resource's state with the given name, ID, and optional extra
@@ -17,11 +96,26 @@ export declare class TagTemplateIamMember extends pulumi.CustomResource {
17
96
  */
18
97
  static isInstance(obj: any): obj is TagTemplateIamMember;
19
98
  readonly condition: pulumi.Output<outputs.datacatalog.TagTemplateIamMemberCondition | undefined>;
99
+ /**
100
+ * (Computed) The etag of the IAM policy.
101
+ */
20
102
  readonly etag: pulumi.Output<string>;
21
103
  readonly member: pulumi.Output<string>;
104
+ /**
105
+ * The ID of the project in which the resource belongs.
106
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
107
+ */
22
108
  readonly project: pulumi.Output<string>;
23
109
  readonly region: pulumi.Output<string>;
110
+ /**
111
+ * The role that should be applied. Only one
112
+ * `gcp.datacatalog.TagTemplateIamBinding` can be used per role. Note that custom roles must be of the format
113
+ * `[projects|organizations]/{parent-name}/roles/{role-name}`.
114
+ */
24
115
  readonly role: pulumi.Output<string>;
116
+ /**
117
+ * Used to find the parent resource to bind the IAM policy to
118
+ */
25
119
  readonly tagTemplate: pulumi.Output<string>;
26
120
  /**
27
121
  * Create a TagTemplateIamMember resource with the given unique name, arguments, and options.
@@ -37,11 +131,26 @@ export declare class TagTemplateIamMember extends pulumi.CustomResource {
37
131
  */
38
132
  export interface TagTemplateIamMemberState {
39
133
  condition?: pulumi.Input<inputs.datacatalog.TagTemplateIamMemberCondition>;
134
+ /**
135
+ * (Computed) The etag of the IAM policy.
136
+ */
40
137
  etag?: pulumi.Input<string>;
41
138
  member?: pulumi.Input<string>;
139
+ /**
140
+ * The ID of the project in which the resource belongs.
141
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
142
+ */
42
143
  project?: pulumi.Input<string>;
43
144
  region?: pulumi.Input<string>;
145
+ /**
146
+ * The role that should be applied. Only one
147
+ * `gcp.datacatalog.TagTemplateIamBinding` can be used per role. Note that custom roles must be of the format
148
+ * `[projects|organizations]/{parent-name}/roles/{role-name}`.
149
+ */
44
150
  role?: pulumi.Input<string>;
151
+ /**
152
+ * Used to find the parent resource to bind the IAM policy to
153
+ */
45
154
  tagTemplate?: pulumi.Input<string>;
46
155
  }
47
156
  /**
@@ -50,8 +159,20 @@ export interface TagTemplateIamMemberState {
50
159
  export interface TagTemplateIamMemberArgs {
51
160
  condition?: pulumi.Input<inputs.datacatalog.TagTemplateIamMemberCondition>;
52
161
  member: pulumi.Input<string>;
162
+ /**
163
+ * The ID of the project in which the resource belongs.
164
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
165
+ */
53
166
  project?: pulumi.Input<string>;
54
167
  region?: pulumi.Input<string>;
168
+ /**
169
+ * The role that should be applied. Only one
170
+ * `gcp.datacatalog.TagTemplateIamBinding` can be used per role. Note that custom roles must be of the format
171
+ * `[projects|organizations]/{parent-name}/roles/{role-name}`.
172
+ */
55
173
  role: pulumi.Input<string>;
174
+ /**
175
+ * Used to find the parent resource to bind the IAM policy to
176
+ */
56
177
  tagTemplate: pulumi.Input<string>;
57
178
  }
@@ -5,6 +5,85 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.TagTemplateIamMember = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ /**
9
+ * Three different resources help you manage your IAM policy for Data catalog TagTemplate. Each of these resources serves a different use case:
10
+ *
11
+ * * `gcp.datacatalog.TagTemplateIamPolicy`: Authoritative. Sets the IAM policy for the tagtemplate and replaces any existing policy already attached.
12
+ * * `gcp.datacatalog.TagTemplateIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the tagtemplate are preserved.
13
+ * * `gcp.datacatalog.TagTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagtemplate are preserved.
14
+ *
15
+ * > **Note:** `gcp.datacatalog.TagTemplateIamPolicy` **cannot** be used in conjunction with `gcp.datacatalog.TagTemplateIamBinding` and `gcp.datacatalog.TagTemplateIamMember` or they will fight over what your policy should be.
16
+ *
17
+ * > **Note:** `gcp.datacatalog.TagTemplateIamBinding` resources **can be** used in conjunction with `gcp.datacatalog.TagTemplateIamMember` resources **only if** they do not grant privilege to the same role.
18
+ *
19
+ * ## google\_data\_catalog\_tag\_template\_iam\_policy
20
+ *
21
+ * ```typescript
22
+ * import * as pulumi from "@pulumi/pulumi";
23
+ * import * as gcp from "@pulumi/gcp";
24
+ *
25
+ * const admin = gcp.organizations.getIAMPolicy({
26
+ * bindings: [{
27
+ * role: "roles/viewer",
28
+ * members: ["user:jane@example.com"],
29
+ * }],
30
+ * });
31
+ * const policy = new gcp.datacatalog.TagTemplateIamPolicy("policy", {
32
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
33
+ * policyData: admin.then(admin => admin.policyData),
34
+ * });
35
+ * ```
36
+ *
37
+ * ## google\_data\_catalog\_tag\_template\_iam\_binding
38
+ *
39
+ * ```typescript
40
+ * import * as pulumi from "@pulumi/pulumi";
41
+ * import * as gcp from "@pulumi/gcp";
42
+ *
43
+ * const binding = new gcp.datacatalog.TagTemplateIamBinding("binding", {
44
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
45
+ * role: "roles/viewer",
46
+ * members: ["user:jane@example.com"],
47
+ * });
48
+ * ```
49
+ *
50
+ * ## google\_data\_catalog\_tag\_template\_iam\_member
51
+ *
52
+ * ```typescript
53
+ * import * as pulumi from "@pulumi/pulumi";
54
+ * import * as gcp from "@pulumi/gcp";
55
+ *
56
+ * const member = new gcp.datacatalog.TagTemplateIamMember("member", {
57
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
58
+ * role: "roles/viewer",
59
+ * member: "user:jane@example.com",
60
+ * });
61
+ * ```
62
+ *
63
+ * ## Import
64
+ *
65
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} * {{project}}/{{region}}/{{tag_template}} * {{region}}/{{tag_template}} * {{tag_template}} Any variables not passed in the import command will be taken from the provider configuration. Data catalog tagtemplate IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
66
+ *
67
+ * ```sh
68
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com"
69
+ * ```
70
+ *
71
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
72
+ *
73
+ * ```sh
74
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer"
75
+ * ```
76
+ *
77
+ * IAM policy imports use the identifier of the resource in question, e.g.
78
+ *
79
+ * ```sh
80
+ * $ pulumi import gcp:datacatalog/tagTemplateIamMember:TagTemplateIamMember editor projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}}
81
+ * ```
82
+ *
83
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
84
+ *
85
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
86
+ */
8
87
  class TagTemplateIamMember extends pulumi.CustomResource {
9
88
  constructor(name, argsOrState, opts) {
10
89
  let resourceInputs = {};
@@ -1 +1 @@
1
- {"version":3,"file":"tagTemplateIamMember.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamMember.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagTemplateIamMember.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamMember.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IA2D3D,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACzE;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IA3FD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;;AA1BL,oDA6FC;AA/EG,gBAAgB;AACO,iCAAY,GAAG,2DAA2D,CAAC"}
@@ -1,4 +1,83 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Three different resources help you manage your IAM policy for Data catalog TagTemplate. Each of these resources serves a different use case:
4
+ *
5
+ * * `gcp.datacatalog.TagTemplateIamPolicy`: Authoritative. Sets the IAM policy for the tagtemplate and replaces any existing policy already attached.
6
+ * * `gcp.datacatalog.TagTemplateIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the tagtemplate are preserved.
7
+ * * `gcp.datacatalog.TagTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagtemplate are preserved.
8
+ *
9
+ * > **Note:** `gcp.datacatalog.TagTemplateIamPolicy` **cannot** be used in conjunction with `gcp.datacatalog.TagTemplateIamBinding` and `gcp.datacatalog.TagTemplateIamMember` or they will fight over what your policy should be.
10
+ *
11
+ * > **Note:** `gcp.datacatalog.TagTemplateIamBinding` resources **can be** used in conjunction with `gcp.datacatalog.TagTemplateIamMember` resources **only if** they do not grant privilege to the same role.
12
+ *
13
+ * ## google\_data\_catalog\_tag\_template\_iam\_policy
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as gcp from "@pulumi/gcp";
18
+ *
19
+ * const admin = gcp.organizations.getIAMPolicy({
20
+ * bindings: [{
21
+ * role: "roles/viewer",
22
+ * members: ["user:jane@example.com"],
23
+ * }],
24
+ * });
25
+ * const policy = new gcp.datacatalog.TagTemplateIamPolicy("policy", {
26
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
27
+ * policyData: admin.then(admin => admin.policyData),
28
+ * });
29
+ * ```
30
+ *
31
+ * ## google\_data\_catalog\_tag\_template\_iam\_binding
32
+ *
33
+ * ```typescript
34
+ * import * as pulumi from "@pulumi/pulumi";
35
+ * import * as gcp from "@pulumi/gcp";
36
+ *
37
+ * const binding = new gcp.datacatalog.TagTemplateIamBinding("binding", {
38
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
39
+ * role: "roles/viewer",
40
+ * members: ["user:jane@example.com"],
41
+ * });
42
+ * ```
43
+ *
44
+ * ## google\_data\_catalog\_tag\_template\_iam\_member
45
+ *
46
+ * ```typescript
47
+ * import * as pulumi from "@pulumi/pulumi";
48
+ * import * as gcp from "@pulumi/gcp";
49
+ *
50
+ * const member = new gcp.datacatalog.TagTemplateIamMember("member", {
51
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
52
+ * role: "roles/viewer",
53
+ * member: "user:jane@example.com",
54
+ * });
55
+ * ```
56
+ *
57
+ * ## Import
58
+ *
59
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} * {{project}}/{{region}}/{{tag_template}} * {{region}}/{{tag_template}} * {{tag_template}} Any variables not passed in the import command will be taken from the provider configuration. Data catalog tagtemplate IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
60
+ *
61
+ * ```sh
62
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com"
63
+ * ```
64
+ *
65
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
66
+ *
67
+ * ```sh
68
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer"
69
+ * ```
70
+ *
71
+ * IAM policy imports use the identifier of the resource in question, e.g.
72
+ *
73
+ * ```sh
74
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}}
75
+ * ```
76
+ *
77
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
78
+ *
79
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
80
+ */
2
81
  export declare class TagTemplateIamPolicy extends pulumi.CustomResource {
3
82
  /**
4
83
  * Get an existing TagTemplateIamPolicy resource's state with the given name, ID, and optional extra
@@ -15,10 +94,24 @@ export declare class TagTemplateIamPolicy extends pulumi.CustomResource {
15
94
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
16
95
  */
17
96
  static isInstance(obj: any): obj is TagTemplateIamPolicy;
97
+ /**
98
+ * (Computed) The etag of the IAM policy.
99
+ */
18
100
  readonly etag: pulumi.Output<string>;
101
+ /**
102
+ * The policy data generated by
103
+ * a `gcp.organizations.getIAMPolicy` data source.
104
+ */
19
105
  readonly policyData: pulumi.Output<string>;
106
+ /**
107
+ * The ID of the project in which the resource belongs.
108
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
109
+ */
20
110
  readonly project: pulumi.Output<string>;
21
111
  readonly region: pulumi.Output<string>;
112
+ /**
113
+ * Used to find the parent resource to bind the IAM policy to
114
+ */
22
115
  readonly tagTemplate: pulumi.Output<string>;
23
116
  /**
24
117
  * Create a TagTemplateIamPolicy resource with the given unique name, arguments, and options.
@@ -33,18 +126,43 @@ export declare class TagTemplateIamPolicy extends pulumi.CustomResource {
33
126
  * Input properties used for looking up and filtering TagTemplateIamPolicy resources.
34
127
  */
35
128
  export interface TagTemplateIamPolicyState {
129
+ /**
130
+ * (Computed) The etag of the IAM policy.
131
+ */
36
132
  etag?: pulumi.Input<string>;
133
+ /**
134
+ * The policy data generated by
135
+ * a `gcp.organizations.getIAMPolicy` data source.
136
+ */
37
137
  policyData?: pulumi.Input<string>;
138
+ /**
139
+ * The ID of the project in which the resource belongs.
140
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
141
+ */
38
142
  project?: pulumi.Input<string>;
39
143
  region?: pulumi.Input<string>;
144
+ /**
145
+ * Used to find the parent resource to bind the IAM policy to
146
+ */
40
147
  tagTemplate?: pulumi.Input<string>;
41
148
  }
42
149
  /**
43
150
  * The set of arguments for constructing a TagTemplateIamPolicy resource.
44
151
  */
45
152
  export interface TagTemplateIamPolicyArgs {
153
+ /**
154
+ * The policy data generated by
155
+ * a `gcp.organizations.getIAMPolicy` data source.
156
+ */
46
157
  policyData: pulumi.Input<string>;
158
+ /**
159
+ * The ID of the project in which the resource belongs.
160
+ * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
161
+ */
47
162
  project?: pulumi.Input<string>;
48
163
  region?: pulumi.Input<string>;
164
+ /**
165
+ * Used to find the parent resource to bind the IAM policy to
166
+ */
49
167
  tagTemplate: pulumi.Input<string>;
50
168
  }
@@ -5,6 +5,85 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.TagTemplateIamPolicy = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ /**
9
+ * Three different resources help you manage your IAM policy for Data catalog TagTemplate. Each of these resources serves a different use case:
10
+ *
11
+ * * `gcp.datacatalog.TagTemplateIamPolicy`: Authoritative. Sets the IAM policy for the tagtemplate and replaces any existing policy already attached.
12
+ * * `gcp.datacatalog.TagTemplateIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the tagtemplate are preserved.
13
+ * * `gcp.datacatalog.TagTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagtemplate are preserved.
14
+ *
15
+ * > **Note:** `gcp.datacatalog.TagTemplateIamPolicy` **cannot** be used in conjunction with `gcp.datacatalog.TagTemplateIamBinding` and `gcp.datacatalog.TagTemplateIamMember` or they will fight over what your policy should be.
16
+ *
17
+ * > **Note:** `gcp.datacatalog.TagTemplateIamBinding` resources **can be** used in conjunction with `gcp.datacatalog.TagTemplateIamMember` resources **only if** they do not grant privilege to the same role.
18
+ *
19
+ * ## google\_data\_catalog\_tag\_template\_iam\_policy
20
+ *
21
+ * ```typescript
22
+ * import * as pulumi from "@pulumi/pulumi";
23
+ * import * as gcp from "@pulumi/gcp";
24
+ *
25
+ * const admin = gcp.organizations.getIAMPolicy({
26
+ * bindings: [{
27
+ * role: "roles/viewer",
28
+ * members: ["user:jane@example.com"],
29
+ * }],
30
+ * });
31
+ * const policy = new gcp.datacatalog.TagTemplateIamPolicy("policy", {
32
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
33
+ * policyData: admin.then(admin => admin.policyData),
34
+ * });
35
+ * ```
36
+ *
37
+ * ## google\_data\_catalog\_tag\_template\_iam\_binding
38
+ *
39
+ * ```typescript
40
+ * import * as pulumi from "@pulumi/pulumi";
41
+ * import * as gcp from "@pulumi/gcp";
42
+ *
43
+ * const binding = new gcp.datacatalog.TagTemplateIamBinding("binding", {
44
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
45
+ * role: "roles/viewer",
46
+ * members: ["user:jane@example.com"],
47
+ * });
48
+ * ```
49
+ *
50
+ * ## google\_data\_catalog\_tag\_template\_iam\_member
51
+ *
52
+ * ```typescript
53
+ * import * as pulumi from "@pulumi/pulumi";
54
+ * import * as gcp from "@pulumi/gcp";
55
+ *
56
+ * const member = new gcp.datacatalog.TagTemplateIamMember("member", {
57
+ * tagTemplate: google_data_catalog_tag_template.basic_tag_template.name,
58
+ * role: "roles/viewer",
59
+ * member: "user:jane@example.com",
60
+ * });
61
+ * ```
62
+ *
63
+ * ## Import
64
+ *
65
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} * {{project}}/{{region}}/{{tag_template}} * {{region}}/{{tag_template}} * {{tag_template}} Any variables not passed in the import command will be taken from the provider configuration. Data catalog tagtemplate IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
66
+ *
67
+ * ```sh
68
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com"
69
+ * ```
70
+ *
71
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
72
+ *
73
+ * ```sh
74
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor "projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer"
75
+ * ```
76
+ *
77
+ * IAM policy imports use the identifier of the resource in question, e.g.
78
+ *
79
+ * ```sh
80
+ * $ pulumi import gcp:datacatalog/tagTemplateIamPolicy:TagTemplateIamPolicy editor projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}}
81
+ * ```
82
+ *
83
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
84
+ *
85
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
86
+ */
8
87
  class TagTemplateIamPolicy extends pulumi.CustomResource {
9
88
  constructor(name, argsOrState, opts) {
10
89
  let resourceInputs = {};
@@ -1 +1 @@
1
- {"version":3,"file":"tagTemplateIamPolicy.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagTemplateIamPolicy.js","sourceRoot":"","sources":["../../datacatalog/tagTemplateIamPolicy.ts"],"names":[],"mappings":"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"}