@pulumi/confluentcloud 2.56.0-alpha.1769799605 → 2.56.0-alpha.1770156460
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.
- package/getSubjectConfig.d.ts +64 -0
- package/getSubjectConfig.js +64 -0
- package/getSubjectConfig.js.map +1 -1
- package/package.json +2 -2
- package/roleBinding.d.ts +114 -0
- package/roleBinding.js +114 -0
- package/roleBinding.js.map +1 -1
package/getSubjectConfig.d.ts
CHANGED
|
@@ -7,6 +7,38 @@ import * as outputs from "./types/output";
|
|
|
7
7
|
* `confluentSubjectCompatibilityLevel` describes a Subject Config data source.
|
|
8
8
|
*
|
|
9
9
|
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as confluent from "@pulumi/confluent";
|
|
16
|
+
*
|
|
17
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
18
|
+
* schemaRegistryCluster: [{
|
|
19
|
+
* id: essentials.id,
|
|
20
|
+
* }],
|
|
21
|
+
* restEndpoint: essentials.restEndpoint,
|
|
22
|
+
* subjectName: "proto-purchase-value",
|
|
23
|
+
* credentials: [{
|
|
24
|
+
* key: "<Schema Registry API Key for confluent_schema_registry_region.essentials>",
|
|
25
|
+
* secret: "<Schema Registry API Secret for confluent_schema_registry_region.essentials>",
|
|
26
|
+
* }],
|
|
27
|
+
* });
|
|
28
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ### Option #2: Manage a single Schema Registry cluster in the same Pulumi Stack
|
|
32
|
+
*
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
35
|
+
* import * as confluent from "@pulumi/confluent";
|
|
36
|
+
*
|
|
37
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
38
|
+
* subjectName: "proto-purchase-value",
|
|
39
|
+
* });
|
|
40
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
41
|
+
* ```
|
|
10
42
|
*/
|
|
11
43
|
export declare function getSubjectConfig(args: GetSubjectConfigArgs, opts?: pulumi.InvokeOptions): Promise<GetSubjectConfigResult>;
|
|
12
44
|
/**
|
|
@@ -51,6 +83,38 @@ export interface GetSubjectConfigResult {
|
|
|
51
83
|
* `confluentSubjectCompatibilityLevel` describes a Subject Config data source.
|
|
52
84
|
*
|
|
53
85
|
* ## Example Usage
|
|
86
|
+
*
|
|
87
|
+
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
88
|
+
*
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
91
|
+
* import * as confluent from "@pulumi/confluent";
|
|
92
|
+
*
|
|
93
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
94
|
+
* schemaRegistryCluster: [{
|
|
95
|
+
* id: essentials.id,
|
|
96
|
+
* }],
|
|
97
|
+
* restEndpoint: essentials.restEndpoint,
|
|
98
|
+
* subjectName: "proto-purchase-value",
|
|
99
|
+
* credentials: [{
|
|
100
|
+
* key: "<Schema Registry API Key for confluent_schema_registry_region.essentials>",
|
|
101
|
+
* secret: "<Schema Registry API Secret for confluent_schema_registry_region.essentials>",
|
|
102
|
+
* }],
|
|
103
|
+
* });
|
|
104
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* ### Option #2: Manage a single Schema Registry cluster in the same Pulumi Stack
|
|
108
|
+
*
|
|
109
|
+
* ```typescript
|
|
110
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
111
|
+
* import * as confluent from "@pulumi/confluent";
|
|
112
|
+
*
|
|
113
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
114
|
+
* subjectName: "proto-purchase-value",
|
|
115
|
+
* });
|
|
116
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
117
|
+
* ```
|
|
54
118
|
*/
|
|
55
119
|
export declare function getSubjectConfigOutput(args: GetSubjectConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSubjectConfigResult>;
|
|
56
120
|
/**
|
package/getSubjectConfig.js
CHANGED
|
@@ -11,6 +11,38 @@ const utilities = require("./utilities");
|
|
|
11
11
|
* `confluentSubjectCompatibilityLevel` describes a Subject Config data source.
|
|
12
12
|
*
|
|
13
13
|
* ## Example Usage
|
|
14
|
+
*
|
|
15
|
+
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
19
|
+
* import * as confluent from "@pulumi/confluent";
|
|
20
|
+
*
|
|
21
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
22
|
+
* schemaRegistryCluster: [{
|
|
23
|
+
* id: essentials.id,
|
|
24
|
+
* }],
|
|
25
|
+
* restEndpoint: essentials.restEndpoint,
|
|
26
|
+
* subjectName: "proto-purchase-value",
|
|
27
|
+
* credentials: [{
|
|
28
|
+
* key: "<Schema Registry API Key for confluent_schema_registry_region.essentials>",
|
|
29
|
+
* secret: "<Schema Registry API Secret for confluent_schema_registry_region.essentials>",
|
|
30
|
+
* }],
|
|
31
|
+
* });
|
|
32
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ### Option #2: Manage a single Schema Registry cluster in the same Pulumi Stack
|
|
36
|
+
*
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
39
|
+
* import * as confluent from "@pulumi/confluent";
|
|
40
|
+
*
|
|
41
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
42
|
+
* subjectName: "proto-purchase-value",
|
|
43
|
+
* });
|
|
44
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
45
|
+
* ```
|
|
14
46
|
*/
|
|
15
47
|
function getSubjectConfig(args, opts) {
|
|
16
48
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
@@ -28,6 +60,38 @@ exports.getSubjectConfig = getSubjectConfig;
|
|
|
28
60
|
* `confluentSubjectCompatibilityLevel` describes a Subject Config data source.
|
|
29
61
|
*
|
|
30
62
|
* ## Example Usage
|
|
63
|
+
*
|
|
64
|
+
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
65
|
+
*
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
68
|
+
* import * as confluent from "@pulumi/confluent";
|
|
69
|
+
*
|
|
70
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
71
|
+
* schemaRegistryCluster: [{
|
|
72
|
+
* id: essentials.id,
|
|
73
|
+
* }],
|
|
74
|
+
* restEndpoint: essentials.restEndpoint,
|
|
75
|
+
* subjectName: "proto-purchase-value",
|
|
76
|
+
* credentials: [{
|
|
77
|
+
* key: "<Schema Registry API Key for confluent_schema_registry_region.essentials>",
|
|
78
|
+
* secret: "<Schema Registry API Secret for confluent_schema_registry_region.essentials>",
|
|
79
|
+
* }],
|
|
80
|
+
* });
|
|
81
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* ### Option #2: Manage a single Schema Registry cluster in the same Pulumi Stack
|
|
85
|
+
*
|
|
86
|
+
* ```typescript
|
|
87
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
88
|
+
* import * as confluent from "@pulumi/confluent";
|
|
89
|
+
*
|
|
90
|
+
* const example = confluent.index.SubjectCompatibilityLevel({
|
|
91
|
+
* subjectName: "proto-purchase-value",
|
|
92
|
+
* });
|
|
93
|
+
* export const compatibilityLevel = example.compatibilityLevel;
|
|
94
|
+
* ```
|
|
31
95
|
*/
|
|
32
96
|
function getSubjectConfigOutput(args, opts) {
|
|
33
97
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
package/getSubjectConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubjectConfig.js","sourceRoot":"","sources":["../getSubjectConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"getSubjectConfig.js","sourceRoot":"","sources":["../getSubjectConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,SAAgB,gBAAgB,CAAC,IAA0B,EAAE,IAA2B;IACpF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wDAAwD,EAAE;QACnF,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;QACnD,aAAa,EAAE,IAAI,CAAC,WAAW;KAClC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,4CAQC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,SAAgB,sBAAsB,CAAC,IAAgC,EAAE,IAAiC;IACtG,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,wDAAwD,EAAE;QACzF,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;QACnD,aAAa,EAAE,IAAI,CAAC,WAAW;KAClC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,wDAQC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/confluentcloud",
|
|
3
|
-
"version": "2.56.0-alpha.
|
|
3
|
+
"version": "2.56.0-alpha.1770156460",
|
|
4
4
|
"description": "A Pulumi package for creating and managing Confluent cloud resources.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -24,6 +24,6 @@
|
|
|
24
24
|
"pulumi": {
|
|
25
25
|
"resource": true,
|
|
26
26
|
"name": "confluentcloud",
|
|
27
|
-
"version": "2.56.0-alpha.
|
|
27
|
+
"version": "2.56.0-alpha.1770156460"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/roleBinding.d.ts
CHANGED
|
@@ -6,6 +6,120 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
6
6
|
*
|
|
7
7
|
* > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html).
|
|
8
8
|
*
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
14
|
+
* import * as std from "@pulumi/std";
|
|
15
|
+
*
|
|
16
|
+
* const org_example_rb = new confluentcloud.RoleBinding("org-example-rb", {
|
|
17
|
+
* principal: `User:${test.id}`,
|
|
18
|
+
* roleName: "MetricsViewer",
|
|
19
|
+
* crnPattern: demo.resourceName,
|
|
20
|
+
* });
|
|
21
|
+
* const environment_example_rb = new confluentcloud.RoleBinding("environment-example-rb", {
|
|
22
|
+
* principal: `User:${test.id}`,
|
|
23
|
+
* roleName: "EnvironmentAdmin",
|
|
24
|
+
* crnPattern: stag.resourceName,
|
|
25
|
+
* });
|
|
26
|
+
* const environment_example_rb_skip_sync = new confluentcloud.RoleBinding("environment-example-rb-skip-sync", {
|
|
27
|
+
* principal: `User:${test.id}`,
|
|
28
|
+
* roleName: "EnvironmentAdmin",
|
|
29
|
+
* crnPattern: stag.resourceName,
|
|
30
|
+
* disableWaitForReady: true,
|
|
31
|
+
* });
|
|
32
|
+
* const environment_example_rb_2 = new confluentcloud.RoleBinding("environment-example-rb-2", {
|
|
33
|
+
* principal: `User:${testConfluentIdentityPool.id}`,
|
|
34
|
+
* roleName: "EnvironmentAdmin",
|
|
35
|
+
* crnPattern: stag.resourceName,
|
|
36
|
+
* });
|
|
37
|
+
* const data_discovery_example_rb = new confluentcloud.RoleBinding("data-discovery-example-rb", {
|
|
38
|
+
* principal: `User:${test.id}`,
|
|
39
|
+
* roleName: "DataDiscovery",
|
|
40
|
+
* crnPattern: stag.resourceName,
|
|
41
|
+
* });
|
|
42
|
+
* const network_example_rb = new confluentcloud.RoleBinding("network-example-rb", {
|
|
43
|
+
* principal: `User:${test.id}`,
|
|
44
|
+
* roleName: "NetworkAdmin",
|
|
45
|
+
* crnPattern: demo.resourceName,
|
|
46
|
+
* });
|
|
47
|
+
* const cluster_example_rb = new confluentcloud.RoleBinding("cluster-example-rb", {
|
|
48
|
+
* principal: `User:${test.id}`,
|
|
49
|
+
* roleName: "CloudClusterAdmin",
|
|
50
|
+
* crnPattern: basic.rbacCrn,
|
|
51
|
+
* });
|
|
52
|
+
* const topic_example_rb = new confluentcloud.RoleBinding("topic-example-rb", {
|
|
53
|
+
* principal: `User:${test.id}`,
|
|
54
|
+
* roleName: "DeveloperWrite",
|
|
55
|
+
* crnPattern: `${standard.rbacCrn}/kafka=${standard.id}/topic=${orders.topicName}`,
|
|
56
|
+
* });
|
|
57
|
+
* const topic_example_rb_2 = new confluentcloud.RoleBinding("topic-example-rb-2", {
|
|
58
|
+
* principal: `User:${testConfluentIdentityPool.id}`,
|
|
59
|
+
* roleName: "DeveloperWrite",
|
|
60
|
+
* crnPattern: `${standard.rbacCrn}/kafka=${standard.id}/topic=${orders.topicName}`,
|
|
61
|
+
* });
|
|
62
|
+
* const group_example_rb = new confluentcloud.RoleBinding("group-example-rb", {
|
|
63
|
+
* principal: `User:${test.id}`,
|
|
64
|
+
* roleName: "DeveloperRead",
|
|
65
|
+
* crnPattern: `${basic.rbacCrn}/kafka=${standard.id}/group=confluent_cli_consumer_*`,
|
|
66
|
+
* });
|
|
67
|
+
* const group_mapping_example_rb = new confluentcloud.RoleBinding("group-mapping-example-rb", {
|
|
68
|
+
* principal: `User:${application_developers.id}`,
|
|
69
|
+
* roleName: "EnvironmentAdmin",
|
|
70
|
+
* crnPattern: stag.resourceName,
|
|
71
|
+
* });
|
|
72
|
+
* const transaction_example_rb = new confluentcloud.RoleBinding("transaction-example-rb", {
|
|
73
|
+
* principal: `User:${test.id}`,
|
|
74
|
+
* roleName: "DeveloperRead",
|
|
75
|
+
* crnPattern: `${basic.rbacCrn}/kafka=${standard.id}/transactional-id=my_transaction`,
|
|
76
|
+
* });
|
|
77
|
+
* const connectorName = std.index.lookup({
|
|
78
|
+
* map: testConfluentConnector.configNonsensitive,
|
|
79
|
+
* key: "name",
|
|
80
|
+
* "default": "\"name\" attribute is missing",
|
|
81
|
+
* }).result;
|
|
82
|
+
* const connector_example_rb = new confluentcloud.RoleBinding("connector-example-rb", {
|
|
83
|
+
* principal: `User:${test.id}`,
|
|
84
|
+
* roleName: "DeveloperRead",
|
|
85
|
+
* crnPattern: `${standard.rbacCrn}/connector=${connectorName}`,
|
|
86
|
+
* });
|
|
87
|
+
* const all_subjects_example_rb = new confluentcloud.RoleBinding("all-subjects-example-rb", {
|
|
88
|
+
* principal: `User:${test.id}`,
|
|
89
|
+
* roleName: "DeveloperRead",
|
|
90
|
+
* crnPattern: `${example.resourceName}/subject=*`,
|
|
91
|
+
* });
|
|
92
|
+
* const subject_foo_example_rb = new confluentcloud.RoleBinding("subject-foo-example-rb", {
|
|
93
|
+
* principal: `User:${test.id}`,
|
|
94
|
+
* roleName: "DeveloperRead",
|
|
95
|
+
* crnPattern: `${example.resourceName}/subject=foo`,
|
|
96
|
+
* });
|
|
97
|
+
* const subject_with_abc_prefix_example_rb = new confluentcloud.RoleBinding("subject-with-abc-prefix-example-rb", {
|
|
98
|
+
* principal: `User:${test.id}`,
|
|
99
|
+
* roleName: "DeveloperRead",
|
|
100
|
+
* crnPattern: `${example.resourceName}/subject=abc*`,
|
|
101
|
+
* });
|
|
102
|
+
* const kek_example_rb = new confluentcloud.RoleBinding("kek-example-rb", {
|
|
103
|
+
* principal: `User:${test.id}`,
|
|
104
|
+
* roleName: "DeveloperRead",
|
|
105
|
+
* crnPattern: `${example.resourceName}/kek=kek-name`,
|
|
106
|
+
* });
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* ## Getting Started
|
|
110
|
+
*
|
|
111
|
+
* The following end-to-end examples might help to get started with `confluentcloud.RoleBinding` resource:
|
|
112
|
+
* * standard-kafka-rbac: _Standard_ Kafka cluster with authorization using RBAC
|
|
113
|
+
* * dedicated-public-kafka-rbac: _Dedicated_ Kafka cluster that is accessible over the public internet with authorization using RBAC
|
|
114
|
+
* * dedicated-privatelink-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via PrivateLink connections with authorization using RBAC
|
|
115
|
+
* * dedicated-privatelink-azure-kafka-rbac: _Dedicated_ Kafka cluster on Azure that is accessible via PrivateLink connections with authorization using RBAC
|
|
116
|
+
* * dedicated-vnet-peering-azure-kafka-rbac: _Dedicated_ Kafka cluster on Azure that is accessible via VPC Peering connections with authorization using RBAC
|
|
117
|
+
* * dedicated-vpc-peering-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via VPC Peering connections with authorization using RBAC
|
|
118
|
+
* * dedicated-vpc-peering-gcp-kafka-rbac: _Dedicated_ Kafka cluster on GCP that is accessible via VPC Peering connections with authorization using RBAC
|
|
119
|
+
* * dedicated-transit-gateway-attachment-aws-kafka-acls: _Dedicated_ Kafka cluster on AWS that is accessible via Transit Gateway Endpoint with authorization using ACLs
|
|
120
|
+
* * dedicated-transit-gateway-attachment-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via Transit Gateway Endpoint with authorization using RBAC
|
|
121
|
+
* * enterprise-privatelinkattachment-aws-kafka-acls: _Enterprise_ Kafka cluster on AWS that is accessible via PrivateLink connections with authorization using ACLs
|
|
122
|
+
*
|
|
9
123
|
* ## Example of using timeSleep
|
|
10
124
|
*
|
|
11
125
|
* This configuration introduces a 360-second custom delay after the creation of a role binding, before creating a Kafka topic.
|
package/roleBinding.js
CHANGED
|
@@ -12,6 +12,120 @@ const utilities = require("./utilities");
|
|
|
12
12
|
*
|
|
13
13
|
* > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html).
|
|
14
14
|
*
|
|
15
|
+
* ## Example Usage
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
19
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
20
|
+
* import * as std from "@pulumi/std";
|
|
21
|
+
*
|
|
22
|
+
* const org_example_rb = new confluentcloud.RoleBinding("org-example-rb", {
|
|
23
|
+
* principal: `User:${test.id}`,
|
|
24
|
+
* roleName: "MetricsViewer",
|
|
25
|
+
* crnPattern: demo.resourceName,
|
|
26
|
+
* });
|
|
27
|
+
* const environment_example_rb = new confluentcloud.RoleBinding("environment-example-rb", {
|
|
28
|
+
* principal: `User:${test.id}`,
|
|
29
|
+
* roleName: "EnvironmentAdmin",
|
|
30
|
+
* crnPattern: stag.resourceName,
|
|
31
|
+
* });
|
|
32
|
+
* const environment_example_rb_skip_sync = new confluentcloud.RoleBinding("environment-example-rb-skip-sync", {
|
|
33
|
+
* principal: `User:${test.id}`,
|
|
34
|
+
* roleName: "EnvironmentAdmin",
|
|
35
|
+
* crnPattern: stag.resourceName,
|
|
36
|
+
* disableWaitForReady: true,
|
|
37
|
+
* });
|
|
38
|
+
* const environment_example_rb_2 = new confluentcloud.RoleBinding("environment-example-rb-2", {
|
|
39
|
+
* principal: `User:${testConfluentIdentityPool.id}`,
|
|
40
|
+
* roleName: "EnvironmentAdmin",
|
|
41
|
+
* crnPattern: stag.resourceName,
|
|
42
|
+
* });
|
|
43
|
+
* const data_discovery_example_rb = new confluentcloud.RoleBinding("data-discovery-example-rb", {
|
|
44
|
+
* principal: `User:${test.id}`,
|
|
45
|
+
* roleName: "DataDiscovery",
|
|
46
|
+
* crnPattern: stag.resourceName,
|
|
47
|
+
* });
|
|
48
|
+
* const network_example_rb = new confluentcloud.RoleBinding("network-example-rb", {
|
|
49
|
+
* principal: `User:${test.id}`,
|
|
50
|
+
* roleName: "NetworkAdmin",
|
|
51
|
+
* crnPattern: demo.resourceName,
|
|
52
|
+
* });
|
|
53
|
+
* const cluster_example_rb = new confluentcloud.RoleBinding("cluster-example-rb", {
|
|
54
|
+
* principal: `User:${test.id}`,
|
|
55
|
+
* roleName: "CloudClusterAdmin",
|
|
56
|
+
* crnPattern: basic.rbacCrn,
|
|
57
|
+
* });
|
|
58
|
+
* const topic_example_rb = new confluentcloud.RoleBinding("topic-example-rb", {
|
|
59
|
+
* principal: `User:${test.id}`,
|
|
60
|
+
* roleName: "DeveloperWrite",
|
|
61
|
+
* crnPattern: `${standard.rbacCrn}/kafka=${standard.id}/topic=${orders.topicName}`,
|
|
62
|
+
* });
|
|
63
|
+
* const topic_example_rb_2 = new confluentcloud.RoleBinding("topic-example-rb-2", {
|
|
64
|
+
* principal: `User:${testConfluentIdentityPool.id}`,
|
|
65
|
+
* roleName: "DeveloperWrite",
|
|
66
|
+
* crnPattern: `${standard.rbacCrn}/kafka=${standard.id}/topic=${orders.topicName}`,
|
|
67
|
+
* });
|
|
68
|
+
* const group_example_rb = new confluentcloud.RoleBinding("group-example-rb", {
|
|
69
|
+
* principal: `User:${test.id}`,
|
|
70
|
+
* roleName: "DeveloperRead",
|
|
71
|
+
* crnPattern: `${basic.rbacCrn}/kafka=${standard.id}/group=confluent_cli_consumer_*`,
|
|
72
|
+
* });
|
|
73
|
+
* const group_mapping_example_rb = new confluentcloud.RoleBinding("group-mapping-example-rb", {
|
|
74
|
+
* principal: `User:${application_developers.id}`,
|
|
75
|
+
* roleName: "EnvironmentAdmin",
|
|
76
|
+
* crnPattern: stag.resourceName,
|
|
77
|
+
* });
|
|
78
|
+
* const transaction_example_rb = new confluentcloud.RoleBinding("transaction-example-rb", {
|
|
79
|
+
* principal: `User:${test.id}`,
|
|
80
|
+
* roleName: "DeveloperRead",
|
|
81
|
+
* crnPattern: `${basic.rbacCrn}/kafka=${standard.id}/transactional-id=my_transaction`,
|
|
82
|
+
* });
|
|
83
|
+
* const connectorName = std.index.lookup({
|
|
84
|
+
* map: testConfluentConnector.configNonsensitive,
|
|
85
|
+
* key: "name",
|
|
86
|
+
* "default": "\"name\" attribute is missing",
|
|
87
|
+
* }).result;
|
|
88
|
+
* const connector_example_rb = new confluentcloud.RoleBinding("connector-example-rb", {
|
|
89
|
+
* principal: `User:${test.id}`,
|
|
90
|
+
* roleName: "DeveloperRead",
|
|
91
|
+
* crnPattern: `${standard.rbacCrn}/connector=${connectorName}`,
|
|
92
|
+
* });
|
|
93
|
+
* const all_subjects_example_rb = new confluentcloud.RoleBinding("all-subjects-example-rb", {
|
|
94
|
+
* principal: `User:${test.id}`,
|
|
95
|
+
* roleName: "DeveloperRead",
|
|
96
|
+
* crnPattern: `${example.resourceName}/subject=*`,
|
|
97
|
+
* });
|
|
98
|
+
* const subject_foo_example_rb = new confluentcloud.RoleBinding("subject-foo-example-rb", {
|
|
99
|
+
* principal: `User:${test.id}`,
|
|
100
|
+
* roleName: "DeveloperRead",
|
|
101
|
+
* crnPattern: `${example.resourceName}/subject=foo`,
|
|
102
|
+
* });
|
|
103
|
+
* const subject_with_abc_prefix_example_rb = new confluentcloud.RoleBinding("subject-with-abc-prefix-example-rb", {
|
|
104
|
+
* principal: `User:${test.id}`,
|
|
105
|
+
* roleName: "DeveloperRead",
|
|
106
|
+
* crnPattern: `${example.resourceName}/subject=abc*`,
|
|
107
|
+
* });
|
|
108
|
+
* const kek_example_rb = new confluentcloud.RoleBinding("kek-example-rb", {
|
|
109
|
+
* principal: `User:${test.id}`,
|
|
110
|
+
* roleName: "DeveloperRead",
|
|
111
|
+
* crnPattern: `${example.resourceName}/kek=kek-name`,
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* ## Getting Started
|
|
116
|
+
*
|
|
117
|
+
* The following end-to-end examples might help to get started with `confluentcloud.RoleBinding` resource:
|
|
118
|
+
* * standard-kafka-rbac: _Standard_ Kafka cluster with authorization using RBAC
|
|
119
|
+
* * dedicated-public-kafka-rbac: _Dedicated_ Kafka cluster that is accessible over the public internet with authorization using RBAC
|
|
120
|
+
* * dedicated-privatelink-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via PrivateLink connections with authorization using RBAC
|
|
121
|
+
* * dedicated-privatelink-azure-kafka-rbac: _Dedicated_ Kafka cluster on Azure that is accessible via PrivateLink connections with authorization using RBAC
|
|
122
|
+
* * dedicated-vnet-peering-azure-kafka-rbac: _Dedicated_ Kafka cluster on Azure that is accessible via VPC Peering connections with authorization using RBAC
|
|
123
|
+
* * dedicated-vpc-peering-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via VPC Peering connections with authorization using RBAC
|
|
124
|
+
* * dedicated-vpc-peering-gcp-kafka-rbac: _Dedicated_ Kafka cluster on GCP that is accessible via VPC Peering connections with authorization using RBAC
|
|
125
|
+
* * dedicated-transit-gateway-attachment-aws-kafka-acls: _Dedicated_ Kafka cluster on AWS that is accessible via Transit Gateway Endpoint with authorization using ACLs
|
|
126
|
+
* * dedicated-transit-gateway-attachment-aws-kafka-rbac: _Dedicated_ Kafka cluster on AWS that is accessible via Transit Gateway Endpoint with authorization using RBAC
|
|
127
|
+
* * enterprise-privatelinkattachment-aws-kafka-acls: _Enterprise_ Kafka cluster on AWS that is accessible via PrivateLink connections with authorization using ACLs
|
|
128
|
+
*
|
|
15
129
|
* ## Example of using timeSleep
|
|
16
130
|
*
|
|
17
131
|
* This configuration introduces a 360-second custom delay after the creation of a role binding, before creating a Kafka topic.
|
package/roleBinding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roleBinding.js","sourceRoot":"","sources":["../roleBinding.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"roleBinding.js","sourceRoot":"","sources":["../roleBinding.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyKG;AACH,MAAa,WAAY,SAAQ,MAAM,CAAC,cAAc;IAClD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwB,EAAE,IAAmC;QACtH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,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,WAAW,CAAC,YAAY,CAAC;IAC5D,CAAC;IAwBD,YAAY,IAAY,EAAE,WAAgD,EAAE,IAAmC;QAC3G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2C,CAAC;YAC1D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,mBAAmB,CAAC;YACnE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC;YAClE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;SAC/C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AA7EL,kCA8EC;AAhEG,gBAAgB;AACO,wBAAY,GAAG,8CAA8C,CAAC"}
|