@pulumi/confluentcloud 2.58.0 → 2.59.0-alpha.1770934913
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/accessPoint.d.ts +3 -3
- package/accessPoint.js +3 -3
- package/apiKey.d.ts +12 -4
- package/apiKey.js +12 -4
- package/apiKey.js.map +1 -1
- package/businessMetadata.d.ts +1 -4
- package/businessMetadata.js +1 -4
- package/businessMetadata.js.map +1 -1
- package/businessMetadataBinding.d.ts +22 -7
- package/businessMetadataBinding.js +1 -4
- package/businessMetadataBinding.js.map +1 -1
- package/byokKey.d.ts +3 -3
- package/byokKey.js +3 -3
- package/catalogEntityAttributes.d.ts +36 -7
- package/catalogEntityAttributes.js +9 -4
- package/catalogEntityAttributes.js.map +1 -1
- package/catalogIntegration.d.ts +5 -3
- package/catalogIntegration.js +5 -3
- package/catalogIntegration.js.map +1 -1
- package/certificateAuthority.d.ts +3 -3
- package/certificateAuthority.js +3 -3
- package/certificatePool.d.ts +3 -3
- package/certificatePool.js +3 -3
- package/clusterLink.d.ts +10 -21
- package/clusterLink.js +10 -21
- package/clusterLink.js.map +1 -1
- package/connectArtifact.d.ts +11 -3
- package/connectArtifact.js +11 -3
- package/connectArtifact.js.map +1 -1
- package/connector.d.ts +11 -3
- package/connector.js +11 -3
- package/connector.js.map +1 -1
- package/customConnectorPlugin.d.ts +13 -3
- package/customConnectorPlugin.js +13 -3
- package/customConnectorPlugin.js.map +1 -1
- package/customConnectorPluginVersion.d.ts +13 -3
- package/customConnectorPluginVersion.js +13 -3
- package/customConnectorPluginVersion.js.map +1 -1
- package/dnsForwarder.d.ts +3 -3
- package/dnsForwarder.js +3 -3
- package/dnsRecord.d.ts +3 -3
- package/dnsRecord.js +3 -3
- package/environment.d.ts +9 -3
- package/environment.js +9 -3
- package/environment.js.map +1 -1
- package/flinkArtifact.d.ts +11 -3
- package/flinkArtifact.js +11 -3
- package/flinkArtifact.js.map +1 -1
- package/flinkComputePool.d.ts +9 -3
- package/flinkComputePool.js +9 -3
- package/flinkComputePool.js.map +1 -1
- package/flinkConnection.d.ts +97 -11
- package/flinkConnection.js +97 -11
- package/flinkConnection.js.map +1 -1
- package/flinkStatement.d.ts +32 -11
- package/flinkStatement.js +5 -8
- package/flinkStatement.js.map +1 -1
- package/gateway.d.ts +3 -3
- package/gateway.js +3 -3
- package/getNetwork.d.ts +32 -0
- package/getNetwork.js +32 -0
- package/getNetwork.js.map +1 -1
- package/getProviderIntegrationAuthorization.d.ts +260 -0
- package/getProviderIntegrationAuthorization.js +260 -0
- package/getProviderIntegrationAuthorization.js.map +1 -1
- package/groupMapping.d.ts +3 -3
- package/groupMapping.js +3 -3
- package/identityPool.d.ts +3 -3
- package/identityPool.js +3 -3
- package/identityProvider.d.ts +3 -3
- package/identityProvider.js +3 -3
- package/invitation.d.ts +12 -3
- package/invitation.js +3 -3
- package/invitation.js.map +1 -1
- package/ipFilter.d.ts +3 -3
- package/ipFilter.js +3 -3
- package/ipGroup.d.ts +3 -3
- package/ipGroup.js +3 -3
- package/kafkaAcl.d.ts +30 -11
- package/kafkaAcl.js +3 -8
- package/kafkaAcl.js.map +1 -1
- package/kafkaClientQuota.d.ts +11 -3
- package/kafkaClientQuota.js +11 -3
- package/kafkaClientQuota.js.map +1 -1
- package/kafkaCluster.d.ts +9 -3
- package/kafkaCluster.js +9 -3
- package/kafkaCluster.js.map +1 -1
- package/kafkaClusterConfig.d.ts +1 -4
- package/kafkaClusterConfig.js +1 -4
- package/kafkaClusterConfig.js.map +1 -1
- package/kafkaMirrorTopic.d.ts +54 -4
- package/kafkaMirrorTopic.js +9 -4
- package/kafkaMirrorTopic.js.map +1 -1
- package/kafkaTopic.d.ts +11 -33
- package/kafkaTopic.js +11 -33
- package/kafkaTopic.js.map +1 -1
- package/ksqlCluster.d.ts +3 -3
- package/ksqlCluster.js +3 -3
- package/network.d.ts +9 -3
- package/network.js +9 -3
- package/network.js.map +1 -1
- package/networkLinkEndpoint.d.ts +9 -3
- package/networkLinkEndpoint.js +9 -3
- package/networkLinkEndpoint.js.map +1 -1
- package/networkLinkService.d.ts +9 -3
- package/networkLinkService.js +9 -3
- package/networkLinkService.js.map +1 -1
- package/package.json +2 -2
- package/peering.d.ts +9 -3
- package/peering.js +9 -3
- package/peering.js.map +1 -1
- package/plugin.d.ts +9 -3
- package/plugin.js +9 -3
- package/plugin.js.map +1 -1
- package/privateLinkAccess.d.ts +9 -3
- package/privateLinkAccess.js +9 -3
- package/privateLinkAccess.js.map +1 -1
- package/privateLinkAttachment.d.ts +3 -3
- package/privateLinkAttachment.js +3 -3
- package/privateLinkAttachmentConnection.d.ts +3 -3
- package/privateLinkAttachmentConnection.js +3 -3
- package/providerIntegration.d.ts +9 -3
- package/providerIntegration.js +9 -3
- package/providerIntegration.js.map +1 -1
- package/providerIntegrationAuthorization.d.ts +161 -3
- package/providerIntegrationAuthorization.js +161 -3
- package/providerIntegrationAuthorization.js.map +1 -1
- package/providerIntegrationSetup.d.ts +11 -3
- package/providerIntegrationSetup.js +11 -3
- package/providerIntegrationSetup.js.map +1 -1
- package/roleBinding.d.ts +36 -3
- package/roleBinding.js +3 -3
- package/roleBinding.js.map +1 -1
- package/schema.d.ts +22 -11
- package/schema.js +13 -11
- package/schema.js.map +1 -1
- package/schemaExporter.d.ts +3 -5
- package/schemaExporter.js +3 -5
- package/schemaExporter.js.map +1 -1
- package/schemaRegistryClusterConfig.d.ts +7 -4
- package/schemaRegistryClusterConfig.js +7 -4
- package/schemaRegistryClusterConfig.js.map +1 -1
- package/schemaRegistryClusterMode.d.ts +7 -4
- package/schemaRegistryClusterMode.js +7 -4
- package/schemaRegistryClusterMode.js.map +1 -1
- package/schemaRegistryDek.d.ts +22 -7
- package/schemaRegistryDek.js +1 -4
- package/schemaRegistryDek.js.map +1 -1
- package/schemaRegistryKek.d.ts +22 -7
- package/schemaRegistryKek.js +1 -4
- package/schemaRegistryKek.js.map +1 -1
- package/serviceAccount.d.ts +3 -3
- package/serviceAccount.js +3 -3
- package/subjectConfig.d.ts +7 -4
- package/subjectConfig.js +7 -4
- package/subjectConfig.js.map +1 -1
- package/subjectMode.d.ts +7 -4
- package/subjectMode.js +7 -4
- package/subjectMode.js.map +1 -1
- package/tableflowTopic.d.ts +7 -3
- package/tableflowTopic.js +7 -3
- package/tableflowTopic.js.map +1 -1
- package/tag.d.ts +22 -7
- package/tag.js +1 -4
- package/tag.js.map +1 -1
- package/tagBinding.d.ts +28 -4
- package/tagBinding.js +1 -4
- package/tagBinding.js.map +1 -1
- package/tfImporter.d.ts +6 -0
- package/tfImporter.js +6 -0
- package/tfImporter.js.map +1 -1
- package/transitGatewayAttachment.d.ts +9 -3
- package/transitGatewayAttachment.js +9 -3
- package/transitGatewayAttachment.js.map +1 -1
- package/types/input.d.ts +98 -16
- package/types/output.d.ts +78 -12
|
@@ -6,15 +6,173 @@ exports.ProviderIntegrationAuthorization = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
10
|
+
*
|
|
11
|
+
* `confluentcloud.ProviderIntegrationAuthorization` configures and validates a Cloud Service Provider (CSP) integration created by `confluentcloud.ProviderIntegrationSetup`. This resource transitions the integration from DRAFT to CREATED status and validates the cloud provider setup.
|
|
12
|
+
*
|
|
13
|
+
* > **Note:** This resource will show persistent warnings until the cloud provider setup is complete. For Azure, you must grant admin consent and create a service principal. For GCP, you must configure IAM permissions.
|
|
14
|
+
*
|
|
15
|
+
* ## Example Usage
|
|
16
|
+
*
|
|
17
|
+
* ### Azure Provider Integration Authorization
|
|
18
|
+
*
|
|
19
|
+
* You have two options to complete the Azure setup after creating the authorization resource:
|
|
20
|
+
*
|
|
21
|
+
* ### Option 1: Using Azure Terraform Provider (Recommended for Infrastructure as Code)
|
|
22
|
+
*
|
|
23
|
+
* ```typescript
|
|
24
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
25
|
+
* import * as azuread from "@pulumi/azuread";
|
|
26
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
27
|
+
*
|
|
28
|
+
* const azure = new confluentcloud.ProviderIntegrationSetup("azure", {
|
|
29
|
+
* environment: {
|
|
30
|
+
* id: environmentId,
|
|
31
|
+
* },
|
|
32
|
+
* displayName: "azure-integration",
|
|
33
|
+
* cloud: "AZURE",
|
|
34
|
+
* });
|
|
35
|
+
* const azureProviderIntegrationAuthorization = new confluentcloud.ProviderIntegrationAuthorization("azure", {
|
|
36
|
+
* providerIntegrationId: azure.id,
|
|
37
|
+
* environment: {
|
|
38
|
+
* id: environmentId,
|
|
39
|
+
* },
|
|
40
|
+
* azure: {
|
|
41
|
+
* customerAzureTenantId: azureTenantId,
|
|
42
|
+
* },
|
|
43
|
+
* });
|
|
44
|
+
* // Automatically create the service principal using Azure Terraform Provider
|
|
45
|
+
* const confluent = new azuread.index.ServicePrincipal("confluent", {clientId: azureProviderIntegrationAuthorization.azure?.confluentMultiTenantAppId});
|
|
46
|
+
* export const azureAppId = azureProviderIntegrationAuthorization.azure.apply(azure => azure?.confluentMultiTenantAppId);
|
|
47
|
+
* export const servicePrincipalObjectId = confluent.objectId;
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ### Option 2: Using Azure CLI Commands
|
|
51
|
+
*
|
|
52
|
+
* ```typescript
|
|
53
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
54
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
55
|
+
*
|
|
56
|
+
* const azure = new confluentcloud.ProviderIntegrationSetup("azure", {
|
|
57
|
+
* environment: {
|
|
58
|
+
* id: environmentId,
|
|
59
|
+
* },
|
|
60
|
+
* displayName: "azure-integration",
|
|
61
|
+
* cloud: "AZURE",
|
|
62
|
+
* });
|
|
63
|
+
* const azureProviderIntegrationAuthorization = new confluentcloud.ProviderIntegrationAuthorization("azure", {
|
|
64
|
+
* providerIntegrationId: azure.id,
|
|
65
|
+
* environment: {
|
|
66
|
+
* id: environmentId,
|
|
67
|
+
* },
|
|
68
|
+
* azure: {
|
|
69
|
+
* customerAzureTenantId: azureTenantId,
|
|
70
|
+
* },
|
|
71
|
+
* });
|
|
72
|
+
* export const azureSetupCommand = azureProviderIntegrationAuthorization.azure.apply(azure => `az ad sp create --id ${azure?.confluentMultiTenantAppId}`);
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* ### GCP Provider Integration Authorization
|
|
76
|
+
*
|
|
77
|
+
* You have two options to complete the GCP setup after creating the authorization resource:
|
|
78
|
+
*
|
|
79
|
+
* ### Option 1: Using Google Terraform Provider (Recommended for Infrastructure as Code)
|
|
80
|
+
*
|
|
81
|
+
* ```typescript
|
|
82
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
83
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
84
|
+
* import * as google from "@pulumi/google";
|
|
85
|
+
*
|
|
86
|
+
* const gcp = new confluentcloud.ProviderIntegrationSetup("gcp", {
|
|
87
|
+
* environment: {
|
|
88
|
+
* id: environmentId,
|
|
89
|
+
* },
|
|
90
|
+
* displayName: "gcp-integration",
|
|
91
|
+
* cloud: "GCP",
|
|
92
|
+
* });
|
|
93
|
+
* const gcpProviderIntegrationAuthorization = new confluentcloud.ProviderIntegrationAuthorization("gcp", {
|
|
94
|
+
* providerIntegrationId: gcp.id,
|
|
95
|
+
* environment: {
|
|
96
|
+
* id: environmentId,
|
|
97
|
+
* },
|
|
98
|
+
* gcp: {
|
|
99
|
+
* customerGoogleServiceAccount: gcpServiceAccount,
|
|
100
|
+
* },
|
|
101
|
+
* });
|
|
102
|
+
* // Grant IAM permissions using Google Terraform Provider
|
|
103
|
+
* const confluentTokenCreator = new google.index.ProjectIamMember("confluent_token_creator", {
|
|
104
|
+
* project: gcpProjectId,
|
|
105
|
+
* role: "roles/iam.serviceAccountTokenCreator",
|
|
106
|
+
* member: `serviceAccount:${gcpProviderIntegrationAuthorization.gcp?.googleServiceAccount}`,
|
|
107
|
+
* condition: [{
|
|
108
|
+
* title: "Confluent Cloud Access",
|
|
109
|
+
* description: "Allow Confluent Cloud to impersonate the customer service account",
|
|
110
|
+
* expression: `request.auth.claims.sub == '${gcpProviderIntegrationAuthorization.gcp?.googleServiceAccount}'`,
|
|
111
|
+
* }],
|
|
112
|
+
* });
|
|
113
|
+
* export const confluentServiceAccount = gcpProviderIntegrationAuthorization.gcp.apply(gcp => gcp?.googleServiceAccount);
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* ### Option 2: Using gcloud CLI Commands
|
|
117
|
+
*
|
|
118
|
+
* ```typescript
|
|
119
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
120
|
+
* import * as confluentcloud from "@pulumi/confluentcloud";
|
|
121
|
+
*
|
|
122
|
+
* const gcp = new confluentcloud.ProviderIntegrationSetup("gcp", {
|
|
123
|
+
* environment: {
|
|
124
|
+
* id: environmentId,
|
|
125
|
+
* },
|
|
126
|
+
* displayName: "gcp-integration",
|
|
127
|
+
* cloud: "GCP",
|
|
128
|
+
* });
|
|
129
|
+
* const gcpProviderIntegrationAuthorization = new confluentcloud.ProviderIntegrationAuthorization("gcp", {
|
|
130
|
+
* providerIntegrationId: gcp.id,
|
|
131
|
+
* environment: {
|
|
132
|
+
* id: environmentId,
|
|
133
|
+
* },
|
|
134
|
+
* gcp: {
|
|
135
|
+
* customerGoogleServiceAccount: gcpServiceAccount,
|
|
136
|
+
* },
|
|
137
|
+
* });
|
|
138
|
+
* export const gcpIamCommand = pulumi.all([gcpProviderIntegrationAuthorization.gcp, gcpProviderIntegrationAuthorization.gcp]).apply(([gcpProviderIntegrationAuthorizationGcp, gcpProviderIntegrationAuthorizationGcp1]) => `gcloud projects add-iam-policy-binding YOUR_PROJECT_ID --member="serviceAccount:${gcpProviderIntegrationAuthorizationGcp?.googleServiceAccount}" --role="roles/iam.serviceAccountTokenCreator" --condition="expression=request.auth.claims.sub=='${gcpProviderIntegrationAuthorizationGcp1?.googleServiceAccount}'"`);
|
|
139
|
+
* export const confluentServiceAccount = gcpProviderIntegrationAuthorization.gcp.apply(gcp => gcp?.googleServiceAccount);
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* ## Azure Setup Process
|
|
143
|
+
*
|
|
144
|
+
* After applying the Terraform configuration, complete the Azure setup:
|
|
145
|
+
*
|
|
146
|
+
* 1. **Get the multi-tenant app ID** from the Terraform outputs
|
|
147
|
+
* 2. **Grant admin consent** (if you have Global Admin rights):
|
|
148
|
+
* 4. **Grant permissions** in Azure Portal → Enterprise Applications
|
|
149
|
+
* 5. **Re-run `pulumi up`** to validate the connection
|
|
150
|
+
*
|
|
151
|
+
* ## GCP Setup Process
|
|
152
|
+
*
|
|
153
|
+
* After applying the Terraform configuration, complete the GCP setup:
|
|
154
|
+
*
|
|
155
|
+
* 1. **Get the Confluent service account** from the Terraform outputs
|
|
156
|
+
* 2. **Grant IAM permissions** in GCP Console:
|
|
157
|
+
* - Grant the Confluent service account "Service Account Token Creator" role on your service account
|
|
158
|
+
* - Grant your service account the necessary permissions (e.g., BigQuery Data Editor)
|
|
159
|
+
* 3. **Re-run `pulumi up`** to validate the connection
|
|
160
|
+
*
|
|
161
|
+
* ## Getting Started
|
|
162
|
+
*
|
|
163
|
+
* The following end-to-end examples might help to get started with `confluentcloud.ProviderIntegrationAuthorization` resource:
|
|
164
|
+
* * provider-integration-azure: Complete Azure Provider Integration setup
|
|
165
|
+
* * provider-integration-gcp: Complete GCP Provider Integration setup
|
|
166
|
+
*
|
|
9
167
|
* ## Import
|
|
10
168
|
*
|
|
169
|
+
* > **Note:** `CONFLUENT_CLOUD_API_KEY` and `CONFLUENT_CLOUD_API_SECRET` environment variables must be set before importing a Provider Integration Authorization.
|
|
170
|
+
*
|
|
11
171
|
* You can import a Provider Integration Authorization by using Environment ID and Provider Integration ID, in the format `<Environment ID>/<Provider Integration ID>`. The following example shows how to import a Provider Integration Authorization:
|
|
12
172
|
*
|
|
173
|
+
* ```sh
|
|
13
174
|
* $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
|
|
14
|
-
*
|
|
15
175
|
* $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
|
|
16
|
-
*
|
|
17
|
-
* ```sh
|
|
18
176
|
* $ pulumi import confluentcloud:index/providerIntegrationAuthorization:ProviderIntegrationAuthorization main env-abc123/cspi-4xg0q
|
|
19
177
|
* ```
|
|
20
178
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerIntegrationAuthorization.js","sourceRoot":"","sources":["../providerIntegrationAuthorization.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"providerIntegrationAuthorization.js","sourceRoot":"","sources":["../providerIntegrationAuthorization.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4KG;AACH,MAAa,gCAAiC,SAAQ,MAAM,CAAC,cAAc;IACvE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6C,EAAE,IAAmC;QAC3I,OAAO,IAAI,gCAAgC,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvF,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,gCAAgC,CAAC,YAAY,CAAC;IACjF,CAAC;IA2BD,YAAY,IAAY,EAAE,WAA0F,EAAE,IAAmC;QACrJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgE,CAAC;YAC/E,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;SAC1E;aAAM;YACH,MAAM,IAAI,GAAG,WAA+D,CAAC;YAC7E,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,IAAI,EAAE,qBAAqB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACxE;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;YAClC,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;SACzE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gCAAgC,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;;AA7EL,4EA8EC;AAhEG,gBAAgB;AACO,6CAAY,GAAG,wFAAwF,CAAC"}
|
|
@@ -2,6 +2,14 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
6
|
+
*
|
|
7
|
+
* `confluentcloud.ProviderIntegrationSetup` provides a Cloud Service Provider (CSP) integration that allows Confluent Cloud to access resources in your cloud provider account. This is the second generation of provider integrations, supporting both Azure and GCP.
|
|
8
|
+
*
|
|
9
|
+
* This resource creates the integration in DRAFT status. Use `confluentcloud.ProviderIntegrationAuthorization` to configure and validate the integration.
|
|
10
|
+
*
|
|
11
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental Provider Integration deletion. This setting rejects plans that would destroy or recreate the Provider Integration, such as attempting to change un-editable attributes. Read more about it in the Terraform docs.
|
|
12
|
+
*
|
|
5
13
|
* ## Example Usage
|
|
6
14
|
*
|
|
7
15
|
* ### Azure Provider Integration
|
|
@@ -68,13 +76,13 @@ import * as outputs from "./types/output";
|
|
|
68
76
|
*
|
|
69
77
|
* ## Import
|
|
70
78
|
*
|
|
79
|
+
* > **Note:** `CONFLUENT_CLOUD_API_KEY` and `CONFLUENT_CLOUD_API_SECRET` environment variables must be set before importing a Provider Integration.
|
|
80
|
+
*
|
|
71
81
|
* You can import a Provider Integration by using Environment ID and Provider Integration ID, in the format `<Environment ID>/<Provider Integration ID>`. The following example shows how to import a Provider Integration:
|
|
72
82
|
*
|
|
83
|
+
* ```sh
|
|
73
84
|
* $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
|
|
74
|
-
*
|
|
75
85
|
* $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
|
|
76
|
-
*
|
|
77
|
-
* ```sh
|
|
78
86
|
* $ pulumi import confluentcloud:index/providerIntegrationSetup:ProviderIntegrationSetup main env-abc123/cspi-4xg0q
|
|
79
87
|
* ```
|
|
80
88
|
*
|
|
@@ -6,6 +6,14 @@ exports.ProviderIntegrationSetup = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
10
|
+
*
|
|
11
|
+
* `confluentcloud.ProviderIntegrationSetup` provides a Cloud Service Provider (CSP) integration that allows Confluent Cloud to access resources in your cloud provider account. This is the second generation of provider integrations, supporting both Azure and GCP.
|
|
12
|
+
*
|
|
13
|
+
* This resource creates the integration in DRAFT status. Use `confluentcloud.ProviderIntegrationAuthorization` to configure and validate the integration.
|
|
14
|
+
*
|
|
15
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental Provider Integration deletion. This setting rejects plans that would destroy or recreate the Provider Integration, such as attempting to change un-editable attributes. Read more about it in the Terraform docs.
|
|
16
|
+
*
|
|
9
17
|
* ## Example Usage
|
|
10
18
|
*
|
|
11
19
|
* ### Azure Provider Integration
|
|
@@ -72,13 +80,13 @@ const utilities = require("./utilities");
|
|
|
72
80
|
*
|
|
73
81
|
* ## Import
|
|
74
82
|
*
|
|
83
|
+
* > **Note:** `CONFLUENT_CLOUD_API_KEY` and `CONFLUENT_CLOUD_API_SECRET` environment variables must be set before importing a Provider Integration.
|
|
84
|
+
*
|
|
75
85
|
* You can import a Provider Integration by using Environment ID and Provider Integration ID, in the format `<Environment ID>/<Provider Integration ID>`. The following example shows how to import a Provider Integration:
|
|
76
86
|
*
|
|
87
|
+
* ```sh
|
|
77
88
|
* $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
|
|
78
|
-
*
|
|
79
89
|
* $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
|
|
80
|
-
*
|
|
81
|
-
* ```sh
|
|
82
90
|
* $ pulumi import confluentcloud:index/providerIntegrationSetup:ProviderIntegrationSetup main env-abc123/cspi-4xg0q
|
|
83
91
|
* ```
|
|
84
92
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerIntegrationSetup.js","sourceRoot":"","sources":["../providerIntegrationSetup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"providerIntegrationSetup.js","sourceRoot":"","sources":["../providerIntegrationSetup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,MAAa,wBAAyB,SAAQ,MAAM,CAAC,cAAc;IAC/D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqC,EAAE,IAAmC;QACnI,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,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,wBAAwB,CAAC,YAAY,CAAC;IACzE,CAAC;IA+BD,YAAY,IAAY,EAAE,WAA0E,EAAE,IAAmC;QACrI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwD,CAAC;YACvE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAAuD,CAAC;YACrE,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAChD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;;AAtFL,4DAuFC;AAzEG,gBAAgB;AACO,qCAAY,GAAG,wEAAwE,CAAC"}
|
package/roleBinding.d.ts
CHANGED
|
@@ -157,13 +157,13 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
157
157
|
*
|
|
158
158
|
* ## Import
|
|
159
159
|
*
|
|
160
|
+
* > **Note:** `CONFLUENT_CLOUD_API_KEY` and `CONFLUENT_CLOUD_API_SECRET` environment variables must be set before importing a Role Binding.
|
|
161
|
+
*
|
|
160
162
|
* You can import a Role Binding by using Role Binding ID, for example:
|
|
161
163
|
*
|
|
164
|
+
* ```sh
|
|
162
165
|
* $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
|
|
163
|
-
*
|
|
164
166
|
* $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
|
|
165
|
-
*
|
|
166
|
-
* ```sh
|
|
167
167
|
* $ pulumi import confluentcloud:index/roleBinding:RoleBinding my_rb rb-f3a90de
|
|
168
168
|
* ```
|
|
169
169
|
*
|
|
@@ -189,6 +189,17 @@ export declare class RoleBinding extends pulumi.CustomResource {
|
|
|
189
189
|
* A [Confluent Resource Name (CRN)](https://docs.confluent.io/cloud/current/api.html#section/Identifiers-and-URLs/Confluent-Resource-Names-(CRNs)) that specifies the scope and resource patterns necessary for the role to bind.
|
|
190
190
|
*/
|
|
191
191
|
readonly crnPattern: pulumi.Output<string>;
|
|
192
|
+
/**
|
|
193
|
+
* An optional flag to disable wait-for-readiness on create. Must be unset when importing. Defaults to `false`.
|
|
194
|
+
*
|
|
195
|
+
* !> **Warning:** When `disableWaitForReady = true` is used, Terraform skips waiting for role bindings to fully propagate. This can lead to a situation where Terraform attempts to create resources before the service account has the necessary permissions—resulting in HTTP 403 Forbidden errors.
|
|
196
|
+
* For example, if you're creating a new service account, a new Kafka API Key, a new `CloudClusterAdmin` role binding, and a Kafka topic in a single run (see this code snippet), the topic creation may fail if the role binding hasn’t taken effect yet. Without that role, the service account won’t have permission to create the topic.
|
|
197
|
+
* This setting is best suited for scenarios where you're provisioning a large number of role bindings without dependent resources, as it significantly speeds up the apply process.
|
|
198
|
+
*
|
|
199
|
+
* > **Note:** If you encounter HTTP 403 Forbidden errors when creating role bindings, you can rerun `pulumi up` after a few minutes, once the role bindings have had time to propagate.
|
|
200
|
+
*
|
|
201
|
+
* > **Note:** You can also use `timeSleep` resource of HashiCorp's `time` TF provider to configure a custom waiting period, see this example for more details.
|
|
202
|
+
*/
|
|
192
203
|
readonly disableWaitForReady: pulumi.Output<boolean | undefined>;
|
|
193
204
|
/**
|
|
194
205
|
* A principal User to bind the role to, for example, "User:u-111aaa" for binding to a user "u-111aaa", or "User:sa-111aaa" for binding to a service account "sa-111aaa".
|
|
@@ -215,6 +226,17 @@ export interface RoleBindingState {
|
|
|
215
226
|
* A [Confluent Resource Name (CRN)](https://docs.confluent.io/cloud/current/api.html#section/Identifiers-and-URLs/Confluent-Resource-Names-(CRNs)) that specifies the scope and resource patterns necessary for the role to bind.
|
|
216
227
|
*/
|
|
217
228
|
crnPattern?: pulumi.Input<string>;
|
|
229
|
+
/**
|
|
230
|
+
* An optional flag to disable wait-for-readiness on create. Must be unset when importing. Defaults to `false`.
|
|
231
|
+
*
|
|
232
|
+
* !> **Warning:** When `disableWaitForReady = true` is used, Terraform skips waiting for role bindings to fully propagate. This can lead to a situation where Terraform attempts to create resources before the service account has the necessary permissions—resulting in HTTP 403 Forbidden errors.
|
|
233
|
+
* For example, if you're creating a new service account, a new Kafka API Key, a new `CloudClusterAdmin` role binding, and a Kafka topic in a single run (see this code snippet), the topic creation may fail if the role binding hasn’t taken effect yet. Without that role, the service account won’t have permission to create the topic.
|
|
234
|
+
* This setting is best suited for scenarios where you're provisioning a large number of role bindings without dependent resources, as it significantly speeds up the apply process.
|
|
235
|
+
*
|
|
236
|
+
* > **Note:** If you encounter HTTP 403 Forbidden errors when creating role bindings, you can rerun `pulumi up` after a few minutes, once the role bindings have had time to propagate.
|
|
237
|
+
*
|
|
238
|
+
* > **Note:** You can also use `timeSleep` resource of HashiCorp's `time` TF provider to configure a custom waiting period, see this example for more details.
|
|
239
|
+
*/
|
|
218
240
|
disableWaitForReady?: pulumi.Input<boolean>;
|
|
219
241
|
/**
|
|
220
242
|
* A principal User to bind the role to, for example, "User:u-111aaa" for binding to a user "u-111aaa", or "User:sa-111aaa" for binding to a service account "sa-111aaa".
|
|
@@ -233,6 +255,17 @@ export interface RoleBindingArgs {
|
|
|
233
255
|
* A [Confluent Resource Name (CRN)](https://docs.confluent.io/cloud/current/api.html#section/Identifiers-and-URLs/Confluent-Resource-Names-(CRNs)) that specifies the scope and resource patterns necessary for the role to bind.
|
|
234
256
|
*/
|
|
235
257
|
crnPattern: pulumi.Input<string>;
|
|
258
|
+
/**
|
|
259
|
+
* An optional flag to disable wait-for-readiness on create. Must be unset when importing. Defaults to `false`.
|
|
260
|
+
*
|
|
261
|
+
* !> **Warning:** When `disableWaitForReady = true` is used, Terraform skips waiting for role bindings to fully propagate. This can lead to a situation where Terraform attempts to create resources before the service account has the necessary permissions—resulting in HTTP 403 Forbidden errors.
|
|
262
|
+
* For example, if you're creating a new service account, a new Kafka API Key, a new `CloudClusterAdmin` role binding, and a Kafka topic in a single run (see this code snippet), the topic creation may fail if the role binding hasn’t taken effect yet. Without that role, the service account won’t have permission to create the topic.
|
|
263
|
+
* This setting is best suited for scenarios where you're provisioning a large number of role bindings without dependent resources, as it significantly speeds up the apply process.
|
|
264
|
+
*
|
|
265
|
+
* > **Note:** If you encounter HTTP 403 Forbidden errors when creating role bindings, you can rerun `pulumi up` after a few minutes, once the role bindings have had time to propagate.
|
|
266
|
+
*
|
|
267
|
+
* > **Note:** You can also use `timeSleep` resource of HashiCorp's `time` TF provider to configure a custom waiting period, see this example for more details.
|
|
268
|
+
*/
|
|
236
269
|
disableWaitForReady?: pulumi.Input<boolean>;
|
|
237
270
|
/**
|
|
238
271
|
* A principal User to bind the role to, for example, "User:u-111aaa" for binding to a user "u-111aaa", or "User:sa-111aaa" for binding to a service account "sa-111aaa".
|
package/roleBinding.js
CHANGED
|
@@ -163,13 +163,13 @@ const utilities = require("./utilities");
|
|
|
163
163
|
*
|
|
164
164
|
* ## Import
|
|
165
165
|
*
|
|
166
|
+
* > **Note:** `CONFLUENT_CLOUD_API_KEY` and `CONFLUENT_CLOUD_API_SECRET` environment variables must be set before importing a Role Binding.
|
|
167
|
+
*
|
|
166
168
|
* You can import a Role Binding by using Role Binding ID, for example:
|
|
167
169
|
*
|
|
170
|
+
* ```sh
|
|
168
171
|
* $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
|
|
169
|
-
*
|
|
170
172
|
* $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
|
|
171
|
-
*
|
|
172
|
-
* ```sh
|
|
173
173
|
* $ pulumi import confluentcloud:index/roleBinding:RoleBinding my_rb rb-f3a90de
|
|
174
174
|
* ```
|
|
175
175
|
*
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;
|
|
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;IAmCD,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;;AAxFL,kCAyFC;AA3EG,gBAAgB;AACO,wBAAY,GAAG,8CAA8C,CAAC"}
|
package/schema.d.ts
CHANGED
|
@@ -2,6 +2,14 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
6
|
+
*
|
|
7
|
+
* `confluentcloud.Schema` provides a Schema resource that enables creating, evolving, and deleting Schemas on a Schema Registry cluster on Confluent Cloud.
|
|
8
|
+
*
|
|
9
|
+
* `confluentcloud.Schema` enables managing the latest version or a specific version of a schema. By design, `confluentcloud.Schema` won't destroy all versions of a schema, which differs from Confluent Platform, which permits hard delete on all schema versions at once.
|
|
10
|
+
*
|
|
11
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental schema deletion. This setting rejects plans that would destroy or recreate the schema, such as attempting to change uneditable attributes. Read more about it in the Terraform docs.
|
|
12
|
+
*
|
|
5
13
|
* ## Example Usage
|
|
6
14
|
*
|
|
7
15
|
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
@@ -129,29 +137,23 @@ import * as outputs from "./types/output";
|
|
|
129
137
|
*
|
|
130
138
|
* ## Import
|
|
131
139
|
*
|
|
132
|
-
* You can import a Schema by using the Schema Registry cluster ID, Subject name, and unique identifier (or `latest` when `
|
|
140
|
+
* You can import a Schema by using the Schema Registry cluster ID, Subject name, and unique identifier (or `latest` when `recreateOnUpdate = false`) of the Schema in the format `<Schema Registry cluster ID>/<Subject name>/<Schema identifier>`, for example:
|
|
133
141
|
*
|
|
134
|
-
* Option A:
|
|
142
|
+
* Option A: recreateOnUpdate = false (by default)
|
|
135
143
|
*
|
|
144
|
+
* ```sh
|
|
136
145
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
137
|
-
*
|
|
138
146
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
139
|
-
*
|
|
140
147
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
141
|
-
*
|
|
142
|
-
* ```sh
|
|
143
148
|
* $ pulumi import confluentcloud:index/schema:Schema my_schema_1 lsrc-abc123/test-subject/latest
|
|
144
149
|
* ```
|
|
145
150
|
*
|
|
146
|
-
* Option B:
|
|
151
|
+
* Option B: recreateOnUpdate = true
|
|
147
152
|
*
|
|
153
|
+
* ```sh
|
|
148
154
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
149
|
-
*
|
|
150
155
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
151
|
-
*
|
|
152
156
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
153
|
-
*
|
|
154
|
-
* ```sh
|
|
155
157
|
* $ pulumi import confluentcloud:index/schema:Schema my_schema_1 lsrc-abc123/test-subject/100003
|
|
156
158
|
* ```
|
|
157
159
|
*
|
|
@@ -210,6 +212,9 @@ export declare class Schema extends pulumi.CustomResource {
|
|
|
210
212
|
*/
|
|
211
213
|
readonly schemaReferences: pulumi.Output<outputs.SchemaSchemaReference[] | undefined>;
|
|
212
214
|
readonly schemaRegistryCluster: pulumi.Output<outputs.SchemaSchemaRegistryCluster | undefined>;
|
|
215
|
+
/**
|
|
216
|
+
* Controls whether a schema validation should be skipped during terraform plan.
|
|
217
|
+
*/
|
|
213
218
|
readonly skipValidationDuringPlan: pulumi.Output<boolean | undefined>;
|
|
214
219
|
/**
|
|
215
220
|
* The name of the subject (in other words, the namespace), representing the subject under which the schema will be registered, for example, `test-subject`. Schemas evolve safely, following a compatibility mode defined, under a subject name.
|
|
@@ -269,6 +274,9 @@ export interface SchemaState {
|
|
|
269
274
|
*/
|
|
270
275
|
schemaReferences?: pulumi.Input<pulumi.Input<inputs.SchemaSchemaReference>[]>;
|
|
271
276
|
schemaRegistryCluster?: pulumi.Input<inputs.SchemaSchemaRegistryCluster>;
|
|
277
|
+
/**
|
|
278
|
+
* Controls whether a schema validation should be skipped during terraform plan.
|
|
279
|
+
*/
|
|
272
280
|
skipValidationDuringPlan?: pulumi.Input<boolean>;
|
|
273
281
|
/**
|
|
274
282
|
* The name of the subject (in other words, the namespace), representing the subject under which the schema will be registered, for example, `test-subject`. Schemas evolve safely, following a compatibility mode defined, under a subject name.
|
|
@@ -316,6 +324,9 @@ export interface SchemaArgs {
|
|
|
316
324
|
*/
|
|
317
325
|
schemaReferences?: pulumi.Input<pulumi.Input<inputs.SchemaSchemaReference>[]>;
|
|
318
326
|
schemaRegistryCluster?: pulumi.Input<inputs.SchemaSchemaRegistryCluster>;
|
|
327
|
+
/**
|
|
328
|
+
* Controls whether a schema validation should be skipped during terraform plan.
|
|
329
|
+
*/
|
|
319
330
|
skipValidationDuringPlan?: pulumi.Input<boolean>;
|
|
320
331
|
/**
|
|
321
332
|
* The name of the subject (in other words, the namespace), representing the subject under which the schema will be registered, for example, `test-subject`. Schemas evolve safely, following a compatibility mode defined, under a subject name.
|
package/schema.js
CHANGED
|
@@ -6,6 +6,14 @@ exports.Schema = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
10
|
+
*
|
|
11
|
+
* `confluentcloud.Schema` provides a Schema resource that enables creating, evolving, and deleting Schemas on a Schema Registry cluster on Confluent Cloud.
|
|
12
|
+
*
|
|
13
|
+
* `confluentcloud.Schema` enables managing the latest version or a specific version of a schema. By design, `confluentcloud.Schema` won't destroy all versions of a schema, which differs from Confluent Platform, which permits hard delete on all schema versions at once.
|
|
14
|
+
*
|
|
15
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental schema deletion. This setting rejects plans that would destroy or recreate the schema, such as attempting to change uneditable attributes. Read more about it in the Terraform docs.
|
|
16
|
+
*
|
|
9
17
|
* ## Example Usage
|
|
10
18
|
*
|
|
11
19
|
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
@@ -133,29 +141,23 @@ const utilities = require("./utilities");
|
|
|
133
141
|
*
|
|
134
142
|
* ## Import
|
|
135
143
|
*
|
|
136
|
-
* You can import a Schema by using the Schema Registry cluster ID, Subject name, and unique identifier (or `latest` when `
|
|
144
|
+
* You can import a Schema by using the Schema Registry cluster ID, Subject name, and unique identifier (or `latest` when `recreateOnUpdate = false`) of the Schema in the format `<Schema Registry cluster ID>/<Subject name>/<Schema identifier>`, for example:
|
|
137
145
|
*
|
|
138
|
-
* Option A:
|
|
146
|
+
* Option A: recreateOnUpdate = false (by default)
|
|
139
147
|
*
|
|
148
|
+
* ```sh
|
|
140
149
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
141
|
-
*
|
|
142
150
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
143
|
-
*
|
|
144
151
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
145
|
-
*
|
|
146
|
-
* ```sh
|
|
147
152
|
* $ pulumi import confluentcloud:index/schema:Schema my_schema_1 lsrc-abc123/test-subject/latest
|
|
148
153
|
* ```
|
|
149
154
|
*
|
|
150
|
-
* Option B:
|
|
155
|
+
* Option B: recreateOnUpdate = true
|
|
151
156
|
*
|
|
157
|
+
* ```sh
|
|
152
158
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
153
|
-
*
|
|
154
159
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
155
|
-
*
|
|
156
160
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
157
|
-
*
|
|
158
|
-
* ```sh
|
|
159
161
|
* $ pulumi import confluentcloud:index/schema:Schema my_schema_1 lsrc-abc123/test-subject/100003
|
|
160
162
|
* ```
|
|
161
163
|
*
|
package/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
|
package/schemaExporter.d.ts
CHANGED
|
@@ -78,19 +78,17 @@ import * as outputs from "./types/output";
|
|
|
78
78
|
*
|
|
79
79
|
* You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `<Schema Registry cluster ID>/<Schema Exporter name>`, for example:
|
|
80
80
|
*
|
|
81
|
+
* ```sh
|
|
81
82
|
* $ export IMPORT_SCHEMA_REGISTRY_ID="<schema_registry_cluster_id>"
|
|
82
|
-
*
|
|
83
83
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
84
|
-
*
|
|
85
84
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
86
|
-
*
|
|
87
85
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
88
|
-
*
|
|
89
|
-
* ```sh
|
|
90
86
|
* $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter
|
|
91
87
|
* ```
|
|
92
88
|
*
|
|
93
89
|
* !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes.
|
|
90
|
+
*
|
|
91
|
+
* > **Note:** When using OAuth authentication in the provider block, only `IMPORT_SCHEMA_REGISTRY_ID` and `IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT` are required to be set.
|
|
94
92
|
*/
|
|
95
93
|
export declare class SchemaExporter extends pulumi.CustomResource {
|
|
96
94
|
/**
|
package/schemaExporter.js
CHANGED
|
@@ -82,19 +82,17 @@ const utilities = require("./utilities");
|
|
|
82
82
|
*
|
|
83
83
|
* You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `<Schema Registry cluster ID>/<Schema Exporter name>`, for example:
|
|
84
84
|
*
|
|
85
|
+
* ```sh
|
|
85
86
|
* $ export IMPORT_SCHEMA_REGISTRY_ID="<schema_registry_cluster_id>"
|
|
86
|
-
*
|
|
87
87
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
88
|
-
*
|
|
89
88
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
90
|
-
*
|
|
91
89
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
92
|
-
*
|
|
93
|
-
* ```sh
|
|
94
90
|
* $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter
|
|
95
91
|
* ```
|
|
96
92
|
*
|
|
97
93
|
* !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes.
|
|
94
|
+
*
|
|
95
|
+
* > **Note:** When using OAuth authentication in the provider block, only `IMPORT_SCHEMA_REGISTRY_ID` and `IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT` are required to be set.
|
|
98
96
|
*/
|
|
99
97
|
class SchemaExporter extends pulumi.CustomResource {
|
|
100
98
|
/**
|
package/schemaExporter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaExporter.js","sourceRoot":"","sources":["../schemaExporter.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"schemaExporter.js","sourceRoot":"","sources":["../schemaExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,12 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
6
|
+
*
|
|
7
|
+
* `confluentcloud.SchemaRegistryClusterConfig` provides a Schema Registry Cluster Config resource that enables updating Config on a Schema Registry cluster on Confluent Cloud.
|
|
8
|
+
*
|
|
9
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental Schema Registry Cluster Config deletion. This setting rejects plans that would destroy or recreate the Schema Registry Cluster Config, such as attempting to change uneditable attributes. Read more about it in the Terraform docs.
|
|
10
|
+
*
|
|
5
11
|
* ## Example Usage
|
|
6
12
|
*
|
|
7
13
|
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
@@ -40,13 +46,10 @@ import * as outputs from "./types/output";
|
|
|
40
46
|
*
|
|
41
47
|
* You can import a Schema Registry Cluster Config by using the Schema Registry cluster ID, Subject name in the format `<Schema Registry cluster ID>`, for example:
|
|
42
48
|
*
|
|
49
|
+
* ```sh
|
|
43
50
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
44
|
-
*
|
|
45
51
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
46
|
-
*
|
|
47
52
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
48
|
-
*
|
|
49
|
-
* ```sh
|
|
50
53
|
* $ pulumi import confluentcloud:index/schemaRegistryClusterConfig:SchemaRegistryClusterConfig example lsrc-abc123
|
|
51
54
|
* ```
|
|
52
55
|
*
|
|
@@ -6,6 +6,12 @@ exports.SchemaRegistryClusterConfig = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* [](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
|
|
10
|
+
*
|
|
11
|
+
* `confluentcloud.SchemaRegistryClusterConfig` provides a Schema Registry Cluster Config resource that enables updating Config on a Schema Registry cluster on Confluent Cloud.
|
|
12
|
+
*
|
|
13
|
+
* > **Note:** It is recommended to set `lifecycle { preventDestroy = true }` on production instances to prevent accidental Schema Registry Cluster Config deletion. This setting rejects plans that would destroy or recreate the Schema Registry Cluster Config, such as attempting to change uneditable attributes. Read more about it in the Terraform docs.
|
|
14
|
+
*
|
|
9
15
|
* ## Example Usage
|
|
10
16
|
*
|
|
11
17
|
* ### Option #1: Manage multiple Schema Registry clusters in the same Pulumi Stack
|
|
@@ -44,13 +50,10 @@ const utilities = require("./utilities");
|
|
|
44
50
|
*
|
|
45
51
|
* You can import a Schema Registry Cluster Config by using the Schema Registry cluster ID, Subject name in the format `<Schema Registry cluster ID>`, for example:
|
|
46
52
|
*
|
|
53
|
+
* ```sh
|
|
47
54
|
* $ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>"
|
|
48
|
-
*
|
|
49
55
|
* $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>"
|
|
50
|
-
*
|
|
51
56
|
* $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>"
|
|
52
|
-
*
|
|
53
|
-
* ```sh
|
|
54
57
|
* $ pulumi import confluentcloud:index/schemaRegistryClusterConfig:SchemaRegistryClusterConfig example lsrc-abc123
|
|
55
58
|
* ```
|
|
56
59
|
*
|