@pulumi/gcp 6.40.0 → 6.41.0

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 (128) hide show
  1. package/appengine/standardAppVersion.d.ts +28 -0
  2. package/appengine/standardAppVersion.js +18 -0
  3. package/appengine/standardAppVersion.js.map +1 -1
  4. package/bigquery/reservation.d.ts +29 -1
  5. package/bigquery/reservation.js +6 -1
  6. package/bigquery/reservation.js.map +1 -1
  7. package/bigqueryanalyticshub/index.d.ts +12 -0
  8. package/bigqueryanalyticshub/index.js +21 -1
  9. package/bigqueryanalyticshub/index.js.map +1 -1
  10. package/bigqueryanalyticshub/listing.d.ts +280 -0
  11. package/bigqueryanalyticshub/listing.js +146 -0
  12. package/bigqueryanalyticshub/listing.js.map +1 -0
  13. package/bigqueryanalyticshub/listingIamBinding.d.ts +149 -0
  14. package/bigqueryanalyticshub/listingIamBinding.js +100 -0
  15. package/bigqueryanalyticshub/listingIamBinding.js.map +1 -0
  16. package/bigqueryanalyticshub/listingIamMember.d.ts +149 -0
  17. package/bigqueryanalyticshub/listingIamMember.js +100 -0
  18. package/bigqueryanalyticshub/listingIamMember.js.map +1 -0
  19. package/bigqueryanalyticshub/listingIamPolicy.d.ts +138 -0
  20. package/bigqueryanalyticshub/listingIamPolicy.js +93 -0
  21. package/bigqueryanalyticshub/listingIamPolicy.js.map +1 -0
  22. package/bigquerydatapolicy/dataPolicy.d.ts +178 -0
  23. package/bigquerydatapolicy/dataPolicy.js +122 -0
  24. package/bigquerydatapolicy/dataPolicy.js.map +1 -0
  25. package/bigquerydatapolicy/dataPolicyIamBinding.d.ts +128 -0
  26. package/bigquerydatapolicy/dataPolicyIamBinding.js +95 -0
  27. package/bigquerydatapolicy/dataPolicyIamBinding.js.map +1 -0
  28. package/bigquerydatapolicy/dataPolicyIamMember.d.ts +128 -0
  29. package/bigquerydatapolicy/dataPolicyIamMember.js +95 -0
  30. package/bigquerydatapolicy/dataPolicyIamMember.js.map +1 -0
  31. package/bigquerydatapolicy/dataPolicyIamPolicy.d.ts +117 -0
  32. package/bigquerydatapolicy/dataPolicyIamPolicy.js +88 -0
  33. package/bigquerydatapolicy/dataPolicyIamPolicy.js.map +1 -0
  34. package/bigquerydatapolicy/index.d.ts +12 -0
  35. package/bigquerydatapolicy/index.js +37 -0
  36. package/bigquerydatapolicy/index.js.map +1 -0
  37. package/cloudfunctionsv2/getFunction.d.ts +79 -0
  38. package/cloudfunctionsv2/getFunction.js +41 -0
  39. package/cloudfunctionsv2/getFunction.js.map +1 -0
  40. package/cloudfunctionsv2/index.d.ts +3 -0
  41. package/cloudfunctionsv2/index.js +4 -1
  42. package/cloudfunctionsv2/index.js.map +1 -1
  43. package/cloudids/endpoint.d.ts +197 -0
  44. package/cloudids/endpoint.js +127 -0
  45. package/cloudids/endpoint.js.map +1 -0
  46. package/cloudids/index.d.ts +3 -0
  47. package/cloudids/index.js +22 -0
  48. package/cloudids/index.js.map +1 -0
  49. package/cloudrun/service.d.ts +37 -0
  50. package/cloudrun/service.js +37 -0
  51. package/cloudrun/service.js.map +1 -1
  52. package/compute/backendBucket.d.ts +15 -0
  53. package/compute/backendBucket.js +2 -0
  54. package/compute/backendBucket.js.map +1 -1
  55. package/compute/backendService.d.ts +15 -0
  56. package/compute/backendService.js +2 -0
  57. package/compute/backendService.js.map +1 -1
  58. package/compute/getBackendBucket.d.ts +1 -0
  59. package/compute/getBackendBucket.js.map +1 -1
  60. package/compute/getBackendService.d.ts +1 -0
  61. package/compute/getBackendService.js.map +1 -1
  62. package/compute/getSnapshot.d.ts +106 -0
  63. package/compute/getSnapshot.js +50 -0
  64. package/compute/getSnapshot.js.map +1 -0
  65. package/compute/index.d.ts +6 -0
  66. package/compute/index.js +11 -3
  67. package/compute/index.js.map +1 -1
  68. package/compute/instance.d.ts +9 -3
  69. package/compute/instance.js +3 -0
  70. package/compute/instance.js.map +1 -1
  71. package/compute/regionTargetTcpProxy.d.ts +203 -0
  72. package/compute/regionTargetTcpProxy.js +93 -0
  73. package/compute/regionTargetTcpProxy.js.map +1 -0
  74. package/config/vars.d.ts +2 -0
  75. package/config/vars.js +12 -0
  76. package/config/vars.js.map +1 -1
  77. package/dataflow/flexTemplateJob.d.ts +0 -6
  78. package/dataflow/flexTemplateJob.js.map +1 -1
  79. package/datafusion/instance.d.ts +39 -0
  80. package/datafusion/instance.js +26 -0
  81. package/datafusion/instance.js.map +1 -1
  82. package/dataproc/metastoreFederation.d.ts +40 -2
  83. package/dataproc/metastoreFederation.js +38 -0
  84. package/dataproc/metastoreFederation.js.map +1 -1
  85. package/datastream/connectionProfile.d.ts +25 -0
  86. package/datastream/connectionProfile.js +15 -0
  87. package/datastream/connectionProfile.js.map +1 -1
  88. package/dns/managedZone.d.ts +32 -0
  89. package/dns/managedZone.js +19 -0
  90. package/dns/managedZone.js.map +1 -1
  91. package/index.d.ts +3 -1
  92. package/index.js +6 -2
  93. package/index.js.map +1 -1
  94. package/orgpolicy/customConstraint.d.ts +204 -0
  95. package/orgpolicy/customConstraint.js +141 -0
  96. package/orgpolicy/customConstraint.js.map +1 -0
  97. package/orgpolicy/index.d.ts +3 -0
  98. package/orgpolicy/index.js +6 -1
  99. package/orgpolicy/index.js.map +1 -1
  100. package/package.json +2 -2
  101. package/package.json.dev +2 -2
  102. package/provider.d.ts +4 -0
  103. package/provider.js +2 -0
  104. package/provider.js.map +1 -1
  105. package/secretmanager/secretVersion.d.ts +1 -1
  106. package/secretmanager/secretVersion.js +1 -1
  107. package/sql/user.d.ts +5 -3
  108. package/sql/user.js +3 -1
  109. package/sql/user.js.map +1 -1
  110. package/storage/bucket.d.ts +15 -3
  111. package/storage/bucket.js +2 -0
  112. package/storage/bucket.js.map +1 -1
  113. package/storage/getBucket.d.ts +1 -0
  114. package/storage/getBucket.js.map +1 -1
  115. package/types/input.d.ts +228 -14
  116. package/types/output.d.ts +361 -16
  117. package/vertex/aiFeatureStoreEntityTypeFeature.d.ts +182 -0
  118. package/vertex/aiFeatureStoreEntityTypeFeature.js +121 -0
  119. package/vertex/aiFeatureStoreEntityTypeFeature.js.map +1 -0
  120. package/vertex/index.d.ts +3 -0
  121. package/vertex/index.js +6 -1
  122. package/vertex/index.js.map +1 -1
  123. package/vpcaccess/getConnector.d.ts +89 -0
  124. package/vpcaccess/getConnector.js +49 -0
  125. package/vpcaccess/getConnector.js.map +1 -0
  126. package/vpcaccess/index.d.ts +3 -0
  127. package/vpcaccess/index.js +4 -1
  128. package/vpcaccess/index.js.map +1 -1
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ListingIamMember = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * ## Import
10
+ *
11
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} * {{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}} * {{location}}/{{data_exchange_id}}/{{listing_id}} * {{listing_id}} Any variables not passed in the import command will be taken from the provider configuration. Bigquery Analytics Hub listing 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.
12
+ *
13
+ * ```sh
14
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamMember:ListingIamMember editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer user:jane@example.com"
15
+ * ```
16
+ *
17
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
18
+ *
19
+ * ```sh
20
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamMember:ListingIamMember editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer"
21
+ * ```
22
+ *
23
+ * IAM policy imports use the identifier of the resource in question, e.g.
24
+ *
25
+ * ```sh
26
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamMember:ListingIamMember editor projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}
27
+ * ```
28
+ *
29
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
30
+ *
31
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
32
+ */
33
+ class ListingIamMember extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["condition"] = state ? state.condition : undefined;
40
+ resourceInputs["dataExchangeId"] = state ? state.dataExchangeId : undefined;
41
+ resourceInputs["etag"] = state ? state.etag : undefined;
42
+ resourceInputs["listingId"] = state ? state.listingId : undefined;
43
+ resourceInputs["location"] = state ? state.location : undefined;
44
+ resourceInputs["member"] = state ? state.member : undefined;
45
+ resourceInputs["project"] = state ? state.project : undefined;
46
+ resourceInputs["role"] = state ? state.role : undefined;
47
+ }
48
+ else {
49
+ const args = argsOrState;
50
+ if ((!args || args.dataExchangeId === undefined) && !opts.urn) {
51
+ throw new Error("Missing required property 'dataExchangeId'");
52
+ }
53
+ if ((!args || args.listingId === undefined) && !opts.urn) {
54
+ throw new Error("Missing required property 'listingId'");
55
+ }
56
+ if ((!args || args.member === undefined) && !opts.urn) {
57
+ throw new Error("Missing required property 'member'");
58
+ }
59
+ if ((!args || args.role === undefined) && !opts.urn) {
60
+ throw new Error("Missing required property 'role'");
61
+ }
62
+ resourceInputs["condition"] = args ? args.condition : undefined;
63
+ resourceInputs["dataExchangeId"] = args ? args.dataExchangeId : undefined;
64
+ resourceInputs["listingId"] = args ? args.listingId : undefined;
65
+ resourceInputs["location"] = args ? args.location : undefined;
66
+ resourceInputs["member"] = args ? args.member : undefined;
67
+ resourceInputs["project"] = args ? args.project : undefined;
68
+ resourceInputs["role"] = args ? args.role : undefined;
69
+ resourceInputs["etag"] = undefined /*out*/;
70
+ }
71
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
72
+ super(ListingIamMember.__pulumiType, name, resourceInputs, opts);
73
+ }
74
+ /**
75
+ * Get an existing ListingIamMember resource's state with the given name, ID, and optional extra
76
+ * properties used to qualify the lookup.
77
+ *
78
+ * @param name The _unique_ name of the resulting resource.
79
+ * @param id The _unique_ provider ID of the resource to lookup.
80
+ * @param state Any extra arguments used during the lookup.
81
+ * @param opts Optional settings to control the behavior of the CustomResource.
82
+ */
83
+ static get(name, id, state, opts) {
84
+ return new ListingIamMember(name, state, Object.assign(Object.assign({}, opts), { id: id }));
85
+ }
86
+ /**
87
+ * Returns true if the given object is an instance of ListingIamMember. This is designed to work even
88
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
89
+ */
90
+ static isInstance(obj) {
91
+ if (obj === undefined || obj === null) {
92
+ return false;
93
+ }
94
+ return obj['__pulumiType'] === ListingIamMember.__pulumiType;
95
+ }
96
+ }
97
+ exports.ListingIamMember = ListingIamMember;
98
+ /** @internal */
99
+ ListingIamMember.__pulumiType = 'gcp:bigqueryanalyticshub/listingIamMember:ListingIamMember';
100
+ //# sourceMappingURL=listingIamMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listingIamMember.js","sourceRoot":"","sources":["../../bigqueryanalyticshub/listingIamMember.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## Import
4
+ *
5
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} * {{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}} * {{location}}/{{data_exchange_id}}/{{listing_id}} * {{listing_id}} Any variables not passed in the import command will be taken from the provider configuration. Bigquery Analytics Hub listing 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.
6
+ *
7
+ * ```sh
8
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer user:jane@example.com"
9
+ * ```
10
+ *
11
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
12
+ *
13
+ * ```sh
14
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer"
15
+ * ```
16
+ *
17
+ * IAM policy imports use the identifier of the resource in question, e.g.
18
+ *
19
+ * ```sh
20
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}
21
+ * ```
22
+ *
23
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
24
+ *
25
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
26
+ */
27
+ export declare class ListingIamPolicy extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing ListingIamPolicy resource's state with the given name, ID, and optional extra
30
+ * properties used to qualify the lookup.
31
+ *
32
+ * @param name The _unique_ name of the resulting resource.
33
+ * @param id The _unique_ provider ID of the resource to lookup.
34
+ * @param state Any extra arguments used during the lookup.
35
+ * @param opts Optional settings to control the behavior of the CustomResource.
36
+ */
37
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ListingIamPolicyState, opts?: pulumi.CustomResourceOptions): ListingIamPolicy;
38
+ /**
39
+ * Returns true if the given object is an instance of ListingIamPolicy. This is designed to work even
40
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
41
+ */
42
+ static isInstance(obj: any): obj is ListingIamPolicy;
43
+ /**
44
+ * The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
45
+ */
46
+ readonly dataExchangeId: pulumi.Output<string>;
47
+ /**
48
+ * (Computed) The etag of the IAM policy.
49
+ */
50
+ readonly etag: pulumi.Output<string>;
51
+ /**
52
+ * The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
53
+ */
54
+ readonly listingId: pulumi.Output<string>;
55
+ /**
56
+ * The name of the location this data exchange listing.
57
+ * Used to find the parent resource to bind the IAM policy to
58
+ */
59
+ readonly location: pulumi.Output<string>;
60
+ /**
61
+ * The policy data generated by
62
+ * a `gcp.organizations.getIAMPolicy` data source.
63
+ */
64
+ readonly policyData: pulumi.Output<string>;
65
+ /**
66
+ * The ID of the project in which the resource belongs.
67
+ * 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.
68
+ */
69
+ readonly project: pulumi.Output<string>;
70
+ /**
71
+ * Create a ListingIamPolicy resource with the given unique name, arguments, and options.
72
+ *
73
+ * @param name The _unique_ name of the resource.
74
+ * @param args The arguments to use to populate this resource's properties.
75
+ * @param opts A bag of options that control this resource's behavior.
76
+ */
77
+ constructor(name: string, args: ListingIamPolicyArgs, opts?: pulumi.CustomResourceOptions);
78
+ }
79
+ /**
80
+ * Input properties used for looking up and filtering ListingIamPolicy resources.
81
+ */
82
+ export interface ListingIamPolicyState {
83
+ /**
84
+ * The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
85
+ */
86
+ dataExchangeId?: pulumi.Input<string>;
87
+ /**
88
+ * (Computed) The etag of the IAM policy.
89
+ */
90
+ etag?: pulumi.Input<string>;
91
+ /**
92
+ * The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
93
+ */
94
+ listingId?: pulumi.Input<string>;
95
+ /**
96
+ * The name of the location this data exchange listing.
97
+ * Used to find the parent resource to bind the IAM policy to
98
+ */
99
+ location?: pulumi.Input<string>;
100
+ /**
101
+ * The policy data generated by
102
+ * a `gcp.organizations.getIAMPolicy` data source.
103
+ */
104
+ policyData?: pulumi.Input<string>;
105
+ /**
106
+ * The ID of the project in which the resource belongs.
107
+ * 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.
108
+ */
109
+ project?: pulumi.Input<string>;
110
+ }
111
+ /**
112
+ * The set of arguments for constructing a ListingIamPolicy resource.
113
+ */
114
+ export interface ListingIamPolicyArgs {
115
+ /**
116
+ * The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
117
+ */
118
+ dataExchangeId: pulumi.Input<string>;
119
+ /**
120
+ * The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces. Used to find the parent resource to bind the IAM policy to
121
+ */
122
+ listingId: pulumi.Input<string>;
123
+ /**
124
+ * The name of the location this data exchange listing.
125
+ * Used to find the parent resource to bind the IAM policy to
126
+ */
127
+ location?: pulumi.Input<string>;
128
+ /**
129
+ * The policy data generated by
130
+ * a `gcp.organizations.getIAMPolicy` data source.
131
+ */
132
+ policyData: pulumi.Input<string>;
133
+ /**
134
+ * The ID of the project in which the resource belongs.
135
+ * 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.
136
+ */
137
+ project?: pulumi.Input<string>;
138
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ListingIamPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * ## Import
10
+ *
11
+ * For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} * {{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}} * {{location}}/{{data_exchange_id}}/{{listing_id}} * {{listing_id}} Any variables not passed in the import command will be taken from the provider configuration. Bigquery Analytics Hub listing 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.
12
+ *
13
+ * ```sh
14
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer user:jane@example.com"
15
+ * ```
16
+ *
17
+ * IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
18
+ *
19
+ * ```sh
20
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor "projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}} roles/viewer"
21
+ * ```
22
+ *
23
+ * IAM policy imports use the identifier of the resource in question, e.g.
24
+ *
25
+ * ```sh
26
+ * $ pulumi import gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy editor projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}
27
+ * ```
28
+ *
29
+ * -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
30
+ *
31
+ * full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
32
+ */
33
+ class ListingIamPolicy extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["dataExchangeId"] = state ? state.dataExchangeId : undefined;
40
+ resourceInputs["etag"] = state ? state.etag : undefined;
41
+ resourceInputs["listingId"] = state ? state.listingId : undefined;
42
+ resourceInputs["location"] = state ? state.location : undefined;
43
+ resourceInputs["policyData"] = state ? state.policyData : undefined;
44
+ resourceInputs["project"] = state ? state.project : undefined;
45
+ }
46
+ else {
47
+ const args = argsOrState;
48
+ if ((!args || args.dataExchangeId === undefined) && !opts.urn) {
49
+ throw new Error("Missing required property 'dataExchangeId'");
50
+ }
51
+ if ((!args || args.listingId === undefined) && !opts.urn) {
52
+ throw new Error("Missing required property 'listingId'");
53
+ }
54
+ if ((!args || args.policyData === undefined) && !opts.urn) {
55
+ throw new Error("Missing required property 'policyData'");
56
+ }
57
+ resourceInputs["dataExchangeId"] = args ? args.dataExchangeId : undefined;
58
+ resourceInputs["listingId"] = args ? args.listingId : undefined;
59
+ resourceInputs["location"] = args ? args.location : undefined;
60
+ resourceInputs["policyData"] = args ? args.policyData : undefined;
61
+ resourceInputs["project"] = args ? args.project : undefined;
62
+ resourceInputs["etag"] = undefined /*out*/;
63
+ }
64
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
65
+ super(ListingIamPolicy.__pulumiType, name, resourceInputs, opts);
66
+ }
67
+ /**
68
+ * Get an existing ListingIamPolicy resource's state with the given name, ID, and optional extra
69
+ * properties used to qualify the lookup.
70
+ *
71
+ * @param name The _unique_ name of the resulting resource.
72
+ * @param id The _unique_ provider ID of the resource to lookup.
73
+ * @param state Any extra arguments used during the lookup.
74
+ * @param opts Optional settings to control the behavior of the CustomResource.
75
+ */
76
+ static get(name, id, state, opts) {
77
+ return new ListingIamPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
78
+ }
79
+ /**
80
+ * Returns true if the given object is an instance of ListingIamPolicy. This is designed to work even
81
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
82
+ */
83
+ static isInstance(obj) {
84
+ if (obj === undefined || obj === null) {
85
+ return false;
86
+ }
87
+ return obj['__pulumiType'] === ListingIamPolicy.__pulumiType;
88
+ }
89
+ }
90
+ exports.ListingIamPolicy = ListingIamPolicy;
91
+ /** @internal */
92
+ ListingIamPolicy.__pulumiType = 'gcp:bigqueryanalyticshub/listingIamPolicy:ListingIamPolicy';
93
+ //# sourceMappingURL=listingIamPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listingIamPolicy.js","sourceRoot":"","sources":["../../bigqueryanalyticshub/listingIamPolicy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAgEvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,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,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IA9FD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AA1BL,4CAgGC;AAlFG,gBAAgB;AACO,6BAAY,GAAG,4DAA4D,CAAC"}
@@ -0,0 +1,178 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * ## Example Usage
6
+ * ### Bigquery Datapolicy Data Policy Basic
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as gcp from "@pulumi/gcp";
11
+ *
12
+ * const taxonomy = new gcp.datacatalog.Taxonomy("taxonomy", {
13
+ * region: "us-central1",
14
+ * displayName: "taxonomy",
15
+ * description: "A collection of policy tags",
16
+ * activatedPolicyTypes: ["FINE_GRAINED_ACCESS_CONTROL"],
17
+ * }, {
18
+ * provider: google_beta,
19
+ * });
20
+ * const policyTag = new gcp.datacatalog.PolicyTag("policyTag", {
21
+ * taxonomy: taxonomy.id,
22
+ * displayName: "Low security",
23
+ * description: "A policy tag normally associated with low security items",
24
+ * }, {
25
+ * provider: google_beta,
26
+ * });
27
+ * const dataPolicy = new gcp.bigquerydatapolicy.DataPolicy("dataPolicy", {
28
+ * location: "us-central1",
29
+ * dataPolicyId: "data_policy",
30
+ * policyTag: policyTag.name,
31
+ * dataPolicyType: "COLUMN_LEVEL_SECURITY_POLICY",
32
+ * }, {
33
+ * provider: google_beta,
34
+ * });
35
+ * ```
36
+ *
37
+ * ## Import
38
+ *
39
+ * DataPolicy can be imported using any of these accepted formats
40
+ *
41
+ * ```sh
42
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default projects/{{project}}/locations/{{location}}/dataPolicies/{{data_policy_id}}
43
+ * ```
44
+ *
45
+ * ```sh
46
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{project}}/{{location}}/{{data_policy_id}}
47
+ * ```
48
+ *
49
+ * ```sh
50
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{location}}/{{data_policy_id}}
51
+ * ```
52
+ */
53
+ export declare class DataPolicy extends pulumi.CustomResource {
54
+ /**
55
+ * Get an existing DataPolicy resource's state with the given name, ID, and optional extra
56
+ * properties used to qualify the lookup.
57
+ *
58
+ * @param name The _unique_ name of the resulting resource.
59
+ * @param id The _unique_ provider ID of the resource to lookup.
60
+ * @param state Any extra arguments used during the lookup.
61
+ * @param opts Optional settings to control the behavior of the CustomResource.
62
+ */
63
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataPolicyState, opts?: pulumi.CustomResourceOptions): DataPolicy;
64
+ /**
65
+ * Returns true if the given object is an instance of DataPolicy. This is designed to work even
66
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
67
+ */
68
+ static isInstance(obj: any): obj is DataPolicy;
69
+ /**
70
+ * The data masking policy that specifies the data masking rule to use.
71
+ * Structure is documented below.
72
+ */
73
+ readonly dataMaskingPolicy: pulumi.Output<outputs.bigquerydatapolicy.DataPolicyDataMaskingPolicy | undefined>;
74
+ /**
75
+ * User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
76
+ */
77
+ readonly dataPolicyId: pulumi.Output<string>;
78
+ /**
79
+ * The enrollment level of the service.
80
+ * Possible values are `COLUMN_LEVEL_SECURITY_POLICY` and `DATA_MASKING_POLICY`.
81
+ */
82
+ readonly dataPolicyType: pulumi.Output<string>;
83
+ /**
84
+ * The name of the location of the data policy.
85
+ */
86
+ readonly location: pulumi.Output<string>;
87
+ /**
88
+ * Resource name of this data policy, in the format of
89
+ * projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
90
+ */
91
+ readonly name: pulumi.Output<string>;
92
+ /**
93
+ * Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
94
+ */
95
+ readonly policyTag: pulumi.Output<string>;
96
+ /**
97
+ * The ID of the project in which the resource belongs.
98
+ * If it is not provided, the provider project is used.
99
+ */
100
+ readonly project: pulumi.Output<string>;
101
+ /**
102
+ * Create a DataPolicy resource with the given unique name, arguments, and options.
103
+ *
104
+ * @param name The _unique_ name of the resource.
105
+ * @param args The arguments to use to populate this resource's properties.
106
+ * @param opts A bag of options that control this resource's behavior.
107
+ */
108
+ constructor(name: string, args: DataPolicyArgs, opts?: pulumi.CustomResourceOptions);
109
+ }
110
+ /**
111
+ * Input properties used for looking up and filtering DataPolicy resources.
112
+ */
113
+ export interface DataPolicyState {
114
+ /**
115
+ * The data masking policy that specifies the data masking rule to use.
116
+ * Structure is documented below.
117
+ */
118
+ dataMaskingPolicy?: pulumi.Input<inputs.bigquerydatapolicy.DataPolicyDataMaskingPolicy>;
119
+ /**
120
+ * User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
121
+ */
122
+ dataPolicyId?: pulumi.Input<string>;
123
+ /**
124
+ * The enrollment level of the service.
125
+ * Possible values are `COLUMN_LEVEL_SECURITY_POLICY` and `DATA_MASKING_POLICY`.
126
+ */
127
+ dataPolicyType?: pulumi.Input<string>;
128
+ /**
129
+ * The name of the location of the data policy.
130
+ */
131
+ location?: pulumi.Input<string>;
132
+ /**
133
+ * Resource name of this data policy, in the format of
134
+ * projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
135
+ */
136
+ name?: pulumi.Input<string>;
137
+ /**
138
+ * Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
139
+ */
140
+ policyTag?: pulumi.Input<string>;
141
+ /**
142
+ * The ID of the project in which the resource belongs.
143
+ * If it is not provided, the provider project is used.
144
+ */
145
+ project?: pulumi.Input<string>;
146
+ }
147
+ /**
148
+ * The set of arguments for constructing a DataPolicy resource.
149
+ */
150
+ export interface DataPolicyArgs {
151
+ /**
152
+ * The data masking policy that specifies the data masking rule to use.
153
+ * Structure is documented below.
154
+ */
155
+ dataMaskingPolicy?: pulumi.Input<inputs.bigquerydatapolicy.DataPolicyDataMaskingPolicy>;
156
+ /**
157
+ * User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
158
+ */
159
+ dataPolicyId: pulumi.Input<string>;
160
+ /**
161
+ * The enrollment level of the service.
162
+ * Possible values are `COLUMN_LEVEL_SECURITY_POLICY` and `DATA_MASKING_POLICY`.
163
+ */
164
+ dataPolicyType: pulumi.Input<string>;
165
+ /**
166
+ * The name of the location of the data policy.
167
+ */
168
+ location: pulumi.Input<string>;
169
+ /**
170
+ * Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
171
+ */
172
+ policyTag: pulumi.Input<string>;
173
+ /**
174
+ * The ID of the project in which the resource belongs.
175
+ * If it is not provided, the provider project is used.
176
+ */
177
+ project?: pulumi.Input<string>;
178
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.DataPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * ## Example Usage
10
+ * ### Bigquery Datapolicy Data Policy Basic
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as gcp from "@pulumi/gcp";
15
+ *
16
+ * const taxonomy = new gcp.datacatalog.Taxonomy("taxonomy", {
17
+ * region: "us-central1",
18
+ * displayName: "taxonomy",
19
+ * description: "A collection of policy tags",
20
+ * activatedPolicyTypes: ["FINE_GRAINED_ACCESS_CONTROL"],
21
+ * }, {
22
+ * provider: google_beta,
23
+ * });
24
+ * const policyTag = new gcp.datacatalog.PolicyTag("policyTag", {
25
+ * taxonomy: taxonomy.id,
26
+ * displayName: "Low security",
27
+ * description: "A policy tag normally associated with low security items",
28
+ * }, {
29
+ * provider: google_beta,
30
+ * });
31
+ * const dataPolicy = new gcp.bigquerydatapolicy.DataPolicy("dataPolicy", {
32
+ * location: "us-central1",
33
+ * dataPolicyId: "data_policy",
34
+ * policyTag: policyTag.name,
35
+ * dataPolicyType: "COLUMN_LEVEL_SECURITY_POLICY",
36
+ * }, {
37
+ * provider: google_beta,
38
+ * });
39
+ * ```
40
+ *
41
+ * ## Import
42
+ *
43
+ * DataPolicy can be imported using any of these accepted formats
44
+ *
45
+ * ```sh
46
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default projects/{{project}}/locations/{{location}}/dataPolicies/{{data_policy_id}}
47
+ * ```
48
+ *
49
+ * ```sh
50
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{project}}/{{location}}/{{data_policy_id}}
51
+ * ```
52
+ *
53
+ * ```sh
54
+ * $ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{location}}/{{data_policy_id}}
55
+ * ```
56
+ */
57
+ class DataPolicy extends pulumi.CustomResource {
58
+ constructor(name, argsOrState, opts) {
59
+ let resourceInputs = {};
60
+ opts = opts || {};
61
+ if (opts.id) {
62
+ const state = argsOrState;
63
+ resourceInputs["dataMaskingPolicy"] = state ? state.dataMaskingPolicy : undefined;
64
+ resourceInputs["dataPolicyId"] = state ? state.dataPolicyId : undefined;
65
+ resourceInputs["dataPolicyType"] = state ? state.dataPolicyType : undefined;
66
+ resourceInputs["location"] = state ? state.location : undefined;
67
+ resourceInputs["name"] = state ? state.name : undefined;
68
+ resourceInputs["policyTag"] = state ? state.policyTag : undefined;
69
+ resourceInputs["project"] = state ? state.project : undefined;
70
+ }
71
+ else {
72
+ const args = argsOrState;
73
+ if ((!args || args.dataPolicyId === undefined) && !opts.urn) {
74
+ throw new Error("Missing required property 'dataPolicyId'");
75
+ }
76
+ if ((!args || args.dataPolicyType === undefined) && !opts.urn) {
77
+ throw new Error("Missing required property 'dataPolicyType'");
78
+ }
79
+ if ((!args || args.location === undefined) && !opts.urn) {
80
+ throw new Error("Missing required property 'location'");
81
+ }
82
+ if ((!args || args.policyTag === undefined) && !opts.urn) {
83
+ throw new Error("Missing required property 'policyTag'");
84
+ }
85
+ resourceInputs["dataMaskingPolicy"] = args ? args.dataMaskingPolicy : undefined;
86
+ resourceInputs["dataPolicyId"] = args ? args.dataPolicyId : undefined;
87
+ resourceInputs["dataPolicyType"] = args ? args.dataPolicyType : undefined;
88
+ resourceInputs["location"] = args ? args.location : undefined;
89
+ resourceInputs["policyTag"] = args ? args.policyTag : undefined;
90
+ resourceInputs["project"] = args ? args.project : undefined;
91
+ resourceInputs["name"] = undefined /*out*/;
92
+ }
93
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
94
+ super(DataPolicy.__pulumiType, name, resourceInputs, opts);
95
+ }
96
+ /**
97
+ * Get an existing DataPolicy resource's state with the given name, ID, and optional extra
98
+ * properties used to qualify the lookup.
99
+ *
100
+ * @param name The _unique_ name of the resulting resource.
101
+ * @param id The _unique_ provider ID of the resource to lookup.
102
+ * @param state Any extra arguments used during the lookup.
103
+ * @param opts Optional settings to control the behavior of the CustomResource.
104
+ */
105
+ static get(name, id, state, opts) {
106
+ return new DataPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
107
+ }
108
+ /**
109
+ * Returns true if the given object is an instance of DataPolicy. This is designed to work even
110
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
111
+ */
112
+ static isInstance(obj) {
113
+ if (obj === undefined || obj === null) {
114
+ return false;
115
+ }
116
+ return obj['__pulumiType'] === DataPolicy.__pulumiType;
117
+ }
118
+ }
119
+ exports.DataPolicy = DataPolicy;
120
+ /** @internal */
121
+ DataPolicy.__pulumiType = 'gcp:bigquerydatapolicy/dataPolicy:DataPolicy';
122
+ //# sourceMappingURL=dataPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPolicy.js","sourceRoot":"","sources":["../../bigquerydatapolicy/dataPolicy.ts"],"names":[],"mappings":"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"}