pulumi-confluentcloud 2.10.0a1731389320__py3-none-any.whl → 2.54.0a1766503424__py3-none-any.whl
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.
- pulumi_confluentcloud/__init__.py +102 -1
- pulumi_confluentcloud/_inputs.py +4870 -2499
- pulumi_confluentcloud/_utilities.py +9 -5
- pulumi_confluentcloud/access_point.py +188 -33
- pulumi_confluentcloud/api_key.py +178 -144
- pulumi_confluentcloud/business_metadata.py +76 -73
- pulumi_confluentcloud/business_metadata_binding.py +101 -98
- pulumi_confluentcloud/byok_key.py +12 -11
- pulumi_confluentcloud/catalog_entity_attributes.py +133 -92
- pulumi_confluentcloud/catalog_integration.py +544 -0
- pulumi_confluentcloud/certificate_authority.py +158 -157
- pulumi_confluentcloud/certificate_pool.py +76 -75
- pulumi_confluentcloud/cluster_link.py +168 -91
- pulumi_confluentcloud/config/__init__.py +2 -1
- pulumi_confluentcloud/config/__init__.pyi +23 -2
- pulumi_confluentcloud/config/outputs.py +110 -0
- pulumi_confluentcloud/config/vars.py +50 -21
- pulumi_confluentcloud/connect_artifact.py +478 -0
- pulumi_confluentcloud/connector.py +399 -87
- pulumi_confluentcloud/custom_connector_plugin.py +142 -141
- pulumi_confluentcloud/custom_connector_plugin_version.py +614 -0
- pulumi_confluentcloud/dns_forwarder.py +136 -45
- pulumi_confluentcloud/dns_record.py +46 -45
- pulumi_confluentcloud/environment.py +74 -73
- pulumi_confluentcloud/flink_artifact.py +254 -198
- pulumi_confluentcloud/flink_compute_pool.py +101 -100
- pulumi_confluentcloud/flink_connection.py +935 -0
- pulumi_confluentcloud/flink_statement.py +218 -124
- pulumi_confluentcloud/gateway.py +88 -28
- pulumi_confluentcloud/get_access_point.py +51 -17
- pulumi_confluentcloud/get_business_metadata.py +27 -25
- pulumi_confluentcloud/get_business_metadata_binding.py +36 -34
- pulumi_confluentcloud/get_byok_key.py +13 -13
- pulumi_confluentcloud/get_catalog_integration.py +248 -0
- pulumi_confluentcloud/get_certificate_authority.py +42 -42
- pulumi_confluentcloud/get_certificate_pool.py +21 -21
- pulumi_confluentcloud/get_cluster_link.py +274 -0
- pulumi_confluentcloud/get_connect_artifact.py +191 -0
- pulumi_confluentcloud/get_dns_record.py +17 -17
- pulumi_confluentcloud/get_environment.py +19 -19
- pulumi_confluentcloud/get_environments.py +8 -8
- pulumi_confluentcloud/get_flink_artifact.py +61 -43
- pulumi_confluentcloud/get_flink_compute_pool.py +29 -29
- pulumi_confluentcloud/get_flink_connection.py +267 -0
- pulumi_confluentcloud/get_flink_region.py +26 -26
- pulumi_confluentcloud/get_gateway.py +60 -18
- pulumi_confluentcloud/get_group_mapping.py +20 -20
- pulumi_confluentcloud/get_identity_pool.py +23 -23
- pulumi_confluentcloud/get_identity_provider.py +37 -23
- pulumi_confluentcloud/get_invitation.py +22 -22
- pulumi_confluentcloud/get_ip_addresses.py +8 -8
- pulumi_confluentcloud/get_ip_filter.py +175 -0
- pulumi_confluentcloud/get_ip_group.py +133 -0
- pulumi_confluentcloud/get_kafka_client_quota.py +19 -19
- pulumi_confluentcloud/get_kafka_cluster.py +57 -43
- pulumi_confluentcloud/get_kafka_clusters.py +136 -0
- pulumi_confluentcloud/get_kafka_topic.py +24 -24
- pulumi_confluentcloud/get_ksql_cluster.py +35 -35
- pulumi_confluentcloud/get_network.py +56 -42
- pulumi_confluentcloud/get_network_link_endpoint.py +19 -19
- pulumi_confluentcloud/get_network_link_service.py +25 -19
- pulumi_confluentcloud/get_organization.py +8 -8
- pulumi_confluentcloud/get_peering.py +21 -21
- pulumi_confluentcloud/get_private_link_access.py +21 -21
- pulumi_confluentcloud/get_private_link_attachment.py +31 -29
- pulumi_confluentcloud/get_private_link_attachment_connection.py +26 -23
- pulumi_confluentcloud/get_provider_integration.py +30 -20
- pulumi_confluentcloud/get_provider_integration_authorization.py +142 -0
- pulumi_confluentcloud/get_provider_integration_setup.py +270 -0
- pulumi_confluentcloud/get_role_binding.py +16 -16
- pulumi_confluentcloud/get_schema.py +42 -42
- pulumi_confluentcloud/get_schema_registry_cluster.py +53 -38
- pulumi_confluentcloud/get_schema_registry_cluster_config.py +31 -17
- pulumi_confluentcloud/get_schema_registry_cluster_mode.py +16 -16
- pulumi_confluentcloud/get_schema_registry_clusters.py +8 -8
- pulumi_confluentcloud/get_schema_registry_dek.py +44 -44
- pulumi_confluentcloud/get_schema_registry_kek.py +32 -32
- pulumi_confluentcloud/get_schemas.py +16 -16
- pulumi_confluentcloud/get_service_account.py +22 -22
- pulumi_confluentcloud/get_subject_config.py +37 -23
- pulumi_confluentcloud/get_subject_mode.py +22 -22
- pulumi_confluentcloud/get_tableflow_topic.py +374 -0
- pulumi_confluentcloud/get_tag.py +28 -26
- pulumi_confluentcloud/get_tag_binding.py +34 -32
- pulumi_confluentcloud/get_transit_gateway_attachment.py +19 -19
- pulumi_confluentcloud/get_user.py +26 -26
- pulumi_confluentcloud/get_users.py +8 -8
- pulumi_confluentcloud/group_mapping.py +54 -53
- pulumi_confluentcloud/identity_pool.py +74 -73
- pulumi_confluentcloud/identity_provider.py +138 -76
- pulumi_confluentcloud/invitation.py +81 -80
- pulumi_confluentcloud/ip_filter.py +420 -0
- pulumi_confluentcloud/ip_group.py +264 -0
- pulumi_confluentcloud/kafka_acl.py +173 -172
- pulumi_confluentcloud/kafka_client_quota.py +63 -62
- pulumi_confluentcloud/kafka_cluster.py +227 -207
- pulumi_confluentcloud/kafka_cluster_config.py +43 -42
- pulumi_confluentcloud/kafka_mirror_topic.py +46 -45
- pulumi_confluentcloud/kafka_topic.py +132 -131
- pulumi_confluentcloud/ksql_cluster.py +117 -120
- pulumi_confluentcloud/network.py +235 -198
- pulumi_confluentcloud/network_link_endpoint.py +62 -68
- pulumi_confluentcloud/network_link_service.py +62 -68
- pulumi_confluentcloud/outputs.py +4735 -2224
- pulumi_confluentcloud/peering.py +128 -48
- pulumi_confluentcloud/plugin.py +428 -0
- pulumi_confluentcloud/private_link_access.py +54 -60
- pulumi_confluentcloud/private_link_attachment.py +93 -88
- pulumi_confluentcloud/private_link_attachment_connection.py +70 -47
- pulumi_confluentcloud/provider.py +318 -192
- pulumi_confluentcloud/provider_integration.py +45 -34
- pulumi_confluentcloud/provider_integration_authorization.py +320 -0
- pulumi_confluentcloud/provider_integration_setup.py +448 -0
- pulumi_confluentcloud/pulumi-plugin.json +1 -1
- pulumi_confluentcloud/role_binding.py +153 -56
- pulumi_confluentcloud/schema.py +416 -212
- pulumi_confluentcloud/schema_exporter.py +217 -164
- pulumi_confluentcloud/schema_registry_cluster_config.py +96 -44
- pulumi_confluentcloud/schema_registry_cluster_mode.py +90 -42
- pulumi_confluentcloud/schema_registry_dek.py +140 -146
- pulumi_confluentcloud/schema_registry_kek.py +148 -154
- pulumi_confluentcloud/service_account.py +97 -96
- pulumi_confluentcloud/subject_config.py +142 -62
- pulumi_confluentcloud/subject_mode.py +107 -59
- pulumi_confluentcloud/tableflow_topic.py +883 -0
- pulumi_confluentcloud/tag.py +82 -79
- pulumi_confluentcloud/tag_binding.py +121 -84
- pulumi_confluentcloud/tf_importer.py +39 -36
- pulumi_confluentcloud/transit_gateway_attachment.py +38 -44
- {pulumi_confluentcloud-2.10.0a1731389320.dist-info → pulumi_confluentcloud-2.54.0a1766503424.dist-info}/METADATA +7 -7
- pulumi_confluentcloud-2.54.0a1766503424.dist-info/RECORD +134 -0
- {pulumi_confluentcloud-2.10.0a1731389320.dist-info → pulumi_confluentcloud-2.54.0a1766503424.dist-info}/WHEEL +1 -1
- pulumi_confluentcloud-2.10.0a1731389320.dist-info/RECORD +0 -113
- {pulumi_confluentcloud-2.10.0a1731389320.dist-info → pulumi_confluentcloud-2.54.0a1766503424.dist-info}/top_level.txt +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# coding=utf-8
|
|
2
|
-
# *** WARNING: this file was generated by
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import builtins as _builtins
|
|
6
6
|
import warnings
|
|
7
7
|
import sys
|
|
8
8
|
import pulumi
|
|
@@ -21,17 +21,21 @@ __all__ = ['ConnectorArgs', 'Connector']
|
|
|
21
21
|
@pulumi.input_type
|
|
22
22
|
class ConnectorArgs:
|
|
23
23
|
def __init__(__self__, *,
|
|
24
|
-
config_nonsensitive: pulumi.Input[Mapping[str, pulumi.Input[str]]],
|
|
24
|
+
config_nonsensitive: pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]],
|
|
25
25
|
environment: pulumi.Input['ConnectorEnvironmentArgs'],
|
|
26
26
|
kafka_cluster: pulumi.Input['ConnectorKafkaClusterArgs'],
|
|
27
|
-
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
28
|
-
|
|
27
|
+
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
28
|
+
offsets: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]] = None,
|
|
29
|
+
status: Optional[pulumi.Input[_builtins.str]] = None):
|
|
29
30
|
"""
|
|
30
31
|
The set of arguments for constructing a Connector resource.
|
|
31
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
32
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
32
33
|
:param pulumi.Input['ConnectorEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
|
|
33
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
34
|
-
:param pulumi.Input[
|
|
34
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
35
|
+
:param pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]] offsets: Connector partitions with offsets
|
|
36
|
+
:param pulumi.Input[_builtins.str] status: The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
37
|
+
|
|
38
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
35
39
|
|
|
36
40
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
37
41
|
|
|
@@ -42,22 +46,24 @@ class ConnectorArgs:
|
|
|
42
46
|
pulumi.set(__self__, "kafka_cluster", kafka_cluster)
|
|
43
47
|
if config_sensitive is not None:
|
|
44
48
|
pulumi.set(__self__, "config_sensitive", config_sensitive)
|
|
49
|
+
if offsets is not None:
|
|
50
|
+
pulumi.set(__self__, "offsets", offsets)
|
|
45
51
|
if status is not None:
|
|
46
52
|
pulumi.set(__self__, "status", status)
|
|
47
53
|
|
|
48
|
-
@property
|
|
54
|
+
@_builtins.property
|
|
49
55
|
@pulumi.getter(name="configNonsensitive")
|
|
50
|
-
def config_nonsensitive(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
|
|
56
|
+
def config_nonsensitive(self) -> pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]:
|
|
51
57
|
"""
|
|
52
58
|
Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
53
59
|
"""
|
|
54
60
|
return pulumi.get(self, "config_nonsensitive")
|
|
55
61
|
|
|
56
62
|
@config_nonsensitive.setter
|
|
57
|
-
def config_nonsensitive(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]):
|
|
63
|
+
def config_nonsensitive(self, value: pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]):
|
|
58
64
|
pulumi.set(self, "config_nonsensitive", value)
|
|
59
65
|
|
|
60
|
-
@property
|
|
66
|
+
@_builtins.property
|
|
61
67
|
@pulumi.getter
|
|
62
68
|
def environment(self) -> pulumi.Input['ConnectorEnvironmentArgs']:
|
|
63
69
|
"""
|
|
@@ -69,7 +75,7 @@ class ConnectorArgs:
|
|
|
69
75
|
def environment(self, value: pulumi.Input['ConnectorEnvironmentArgs']):
|
|
70
76
|
pulumi.set(self, "environment", value)
|
|
71
77
|
|
|
72
|
-
@property
|
|
78
|
+
@_builtins.property
|
|
73
79
|
@pulumi.getter(name="kafkaCluster")
|
|
74
80
|
def kafka_cluster(self) -> pulumi.Input['ConnectorKafkaClusterArgs']:
|
|
75
81
|
return pulumi.get(self, "kafka_cluster")
|
|
@@ -78,24 +84,38 @@ class ConnectorArgs:
|
|
|
78
84
|
def kafka_cluster(self, value: pulumi.Input['ConnectorKafkaClusterArgs']):
|
|
79
85
|
pulumi.set(self, "kafka_cluster", value)
|
|
80
86
|
|
|
81
|
-
@property
|
|
87
|
+
@_builtins.property
|
|
82
88
|
@pulumi.getter(name="configSensitive")
|
|
83
|
-
def config_sensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
89
|
+
def config_sensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
84
90
|
"""
|
|
85
91
|
Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
86
92
|
"""
|
|
87
93
|
return pulumi.get(self, "config_sensitive")
|
|
88
94
|
|
|
89
95
|
@config_sensitive.setter
|
|
90
|
-
def config_sensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
96
|
+
def config_sensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
91
97
|
pulumi.set(self, "config_sensitive", value)
|
|
92
98
|
|
|
93
|
-
@property
|
|
99
|
+
@_builtins.property
|
|
100
|
+
@pulumi.getter
|
|
101
|
+
def offsets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]]:
|
|
102
|
+
"""
|
|
103
|
+
Connector partitions with offsets
|
|
104
|
+
"""
|
|
105
|
+
return pulumi.get(self, "offsets")
|
|
106
|
+
|
|
107
|
+
@offsets.setter
|
|
108
|
+
def offsets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]]):
|
|
109
|
+
pulumi.set(self, "offsets", value)
|
|
110
|
+
|
|
111
|
+
@_builtins.property
|
|
94
112
|
@pulumi.getter
|
|
95
|
-
def status(self) -> Optional[pulumi.Input[str]]:
|
|
113
|
+
def status(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
96
114
|
"""
|
|
97
115
|
The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
98
116
|
|
|
117
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
118
|
+
|
|
99
119
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
100
120
|
|
|
101
121
|
> **Note:** You may declare sensitive variables for secrets `config_sensitive` block and set them using environment variables (for example, `export TF_VAR_aws_access_key_id="foo"`).
|
|
@@ -103,24 +123,28 @@ class ConnectorArgs:
|
|
|
103
123
|
return pulumi.get(self, "status")
|
|
104
124
|
|
|
105
125
|
@status.setter
|
|
106
|
-
def status(self, value: Optional[pulumi.Input[str]]):
|
|
126
|
+
def status(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
107
127
|
pulumi.set(self, "status", value)
|
|
108
128
|
|
|
109
129
|
|
|
110
130
|
@pulumi.input_type
|
|
111
131
|
class _ConnectorState:
|
|
112
132
|
def __init__(__self__, *,
|
|
113
|
-
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
114
|
-
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
133
|
+
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
134
|
+
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
115
135
|
environment: Optional[pulumi.Input['ConnectorEnvironmentArgs']] = None,
|
|
116
136
|
kafka_cluster: Optional[pulumi.Input['ConnectorKafkaClusterArgs']] = None,
|
|
117
|
-
|
|
137
|
+
offsets: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]] = None,
|
|
138
|
+
status: Optional[pulumi.Input[_builtins.str]] = None):
|
|
118
139
|
"""
|
|
119
140
|
Input properties used for looking up and filtering Connector resources.
|
|
120
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
121
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
141
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
142
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
122
143
|
:param pulumi.Input['ConnectorEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
|
|
123
|
-
:param pulumi.Input[
|
|
144
|
+
:param pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]] offsets: Connector partitions with offsets
|
|
145
|
+
:param pulumi.Input[_builtins.str] status: The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
146
|
+
|
|
147
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
124
148
|
|
|
125
149
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
126
150
|
|
|
@@ -134,34 +158,36 @@ class _ConnectorState:
|
|
|
134
158
|
pulumi.set(__self__, "environment", environment)
|
|
135
159
|
if kafka_cluster is not None:
|
|
136
160
|
pulumi.set(__self__, "kafka_cluster", kafka_cluster)
|
|
161
|
+
if offsets is not None:
|
|
162
|
+
pulumi.set(__self__, "offsets", offsets)
|
|
137
163
|
if status is not None:
|
|
138
164
|
pulumi.set(__self__, "status", status)
|
|
139
165
|
|
|
140
|
-
@property
|
|
166
|
+
@_builtins.property
|
|
141
167
|
@pulumi.getter(name="configNonsensitive")
|
|
142
|
-
def config_nonsensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
168
|
+
def config_nonsensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
143
169
|
"""
|
|
144
170
|
Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
145
171
|
"""
|
|
146
172
|
return pulumi.get(self, "config_nonsensitive")
|
|
147
173
|
|
|
148
174
|
@config_nonsensitive.setter
|
|
149
|
-
def config_nonsensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
175
|
+
def config_nonsensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
150
176
|
pulumi.set(self, "config_nonsensitive", value)
|
|
151
177
|
|
|
152
|
-
@property
|
|
178
|
+
@_builtins.property
|
|
153
179
|
@pulumi.getter(name="configSensitive")
|
|
154
|
-
def config_sensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
180
|
+
def config_sensitive(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
155
181
|
"""
|
|
156
182
|
Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
157
183
|
"""
|
|
158
184
|
return pulumi.get(self, "config_sensitive")
|
|
159
185
|
|
|
160
186
|
@config_sensitive.setter
|
|
161
|
-
def config_sensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
187
|
+
def config_sensitive(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
162
188
|
pulumi.set(self, "config_sensitive", value)
|
|
163
189
|
|
|
164
|
-
@property
|
|
190
|
+
@_builtins.property
|
|
165
191
|
@pulumi.getter
|
|
166
192
|
def environment(self) -> Optional[pulumi.Input['ConnectorEnvironmentArgs']]:
|
|
167
193
|
"""
|
|
@@ -173,7 +199,7 @@ class _ConnectorState:
|
|
|
173
199
|
def environment(self, value: Optional[pulumi.Input['ConnectorEnvironmentArgs']]):
|
|
174
200
|
pulumi.set(self, "environment", value)
|
|
175
201
|
|
|
176
|
-
@property
|
|
202
|
+
@_builtins.property
|
|
177
203
|
@pulumi.getter(name="kafkaCluster")
|
|
178
204
|
def kafka_cluster(self) -> Optional[pulumi.Input['ConnectorKafkaClusterArgs']]:
|
|
179
205
|
return pulumi.get(self, "kafka_cluster")
|
|
@@ -182,12 +208,26 @@ class _ConnectorState:
|
|
|
182
208
|
def kafka_cluster(self, value: Optional[pulumi.Input['ConnectorKafkaClusterArgs']]):
|
|
183
209
|
pulumi.set(self, "kafka_cluster", value)
|
|
184
210
|
|
|
185
|
-
@property
|
|
211
|
+
@_builtins.property
|
|
212
|
+
@pulumi.getter
|
|
213
|
+
def offsets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]]:
|
|
214
|
+
"""
|
|
215
|
+
Connector partitions with offsets
|
|
216
|
+
"""
|
|
217
|
+
return pulumi.get(self, "offsets")
|
|
218
|
+
|
|
219
|
+
@offsets.setter
|
|
220
|
+
def offsets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectorOffsetArgs']]]]):
|
|
221
|
+
pulumi.set(self, "offsets", value)
|
|
222
|
+
|
|
223
|
+
@_builtins.property
|
|
186
224
|
@pulumi.getter
|
|
187
|
-
def status(self) -> Optional[pulumi.Input[str]]:
|
|
225
|
+
def status(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
188
226
|
"""
|
|
189
227
|
The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
190
228
|
|
|
229
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
230
|
+
|
|
191
231
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
192
232
|
|
|
193
233
|
> **Note:** You may declare sensitive variables for secrets `config_sensitive` block and set them using environment variables (for example, `export TF_VAR_aws_access_key_id="foo"`).
|
|
@@ -195,20 +235,22 @@ class _ConnectorState:
|
|
|
195
235
|
return pulumi.get(self, "status")
|
|
196
236
|
|
|
197
237
|
@status.setter
|
|
198
|
-
def status(self, value: Optional[pulumi.Input[str]]):
|
|
238
|
+
def status(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
199
239
|
pulumi.set(self, "status", value)
|
|
200
240
|
|
|
201
241
|
|
|
242
|
+
@pulumi.type_token("confluentcloud:index/connector:Connector")
|
|
202
243
|
class Connector(pulumi.CustomResource):
|
|
203
244
|
@overload
|
|
204
245
|
def __init__(__self__,
|
|
205
246
|
resource_name: str,
|
|
206
247
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
207
|
-
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
208
|
-
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
248
|
+
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
249
|
+
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
209
250
|
environment: Optional[pulumi.Input[Union['ConnectorEnvironmentArgs', 'ConnectorEnvironmentArgsDict']]] = None,
|
|
210
251
|
kafka_cluster: Optional[pulumi.Input[Union['ConnectorKafkaClusterArgs', 'ConnectorKafkaClusterArgsDict']]] = None,
|
|
211
|
-
|
|
252
|
+
offsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConnectorOffsetArgs', 'ConnectorOffsetArgsDict']]]]] = None,
|
|
253
|
+
status: Optional[pulumi.Input[_builtins.str]] = None,
|
|
212
254
|
__props__=None):
|
|
213
255
|
"""
|
|
214
256
|
## Example Usage
|
|
@@ -218,6 +260,7 @@ class Connector(pulumi.CustomResource):
|
|
|
218
260
|
import pulumi
|
|
219
261
|
import pulumi_confluentcloud as confluentcloud
|
|
220
262
|
|
|
263
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/managed-datagen-source-connector
|
|
221
264
|
source = confluentcloud.Connector("source",
|
|
222
265
|
environment={
|
|
223
266
|
"id": staging["id"],
|
|
@@ -249,6 +292,7 @@ class Connector(pulumi.CustomResource):
|
|
|
249
292
|
import pulumi
|
|
250
293
|
import pulumi_confluentcloud as confluentcloud
|
|
251
294
|
|
|
295
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/s3-sink-connector
|
|
252
296
|
sink = confluentcloud.Connector("sink",
|
|
253
297
|
environment={
|
|
254
298
|
"id": staging["id"],
|
|
@@ -286,11 +330,56 @@ class Connector(pulumi.CustomResource):
|
|
|
286
330
|
]))
|
|
287
331
|
```
|
|
288
332
|
|
|
333
|
+
### Example Managed [Amazon S3 Sink Connector](https://docs.confluent.io/cloud/current/connectors/cc-s3-sink.html) that uses a service account to communicate with your Kafka cluster and IAM Roles for AWS authentication
|
|
334
|
+
```python
|
|
335
|
+
import pulumi
|
|
336
|
+
import pulumi_confluentcloud as confluentcloud
|
|
337
|
+
|
|
338
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/s3-sink-connector-assume-role
|
|
339
|
+
sink = confluentcloud.Connector("sink",
|
|
340
|
+
environment={
|
|
341
|
+
"id": staging["id"],
|
|
342
|
+
},
|
|
343
|
+
kafka_cluster={
|
|
344
|
+
"id": basic["id"],
|
|
345
|
+
},
|
|
346
|
+
config_sensitive={},
|
|
347
|
+
config_nonsensitive={
|
|
348
|
+
"topics": orders["topicName"],
|
|
349
|
+
"input.data.format": "JSON",
|
|
350
|
+
"connector.class": "S3_SINK",
|
|
351
|
+
"name": "S3_SINKConnector_0",
|
|
352
|
+
"kafka.auth.mode": "SERVICE_ACCOUNT",
|
|
353
|
+
"kafka.service.account.id": app_connector["id"],
|
|
354
|
+
"s3.bucket.name": "<s3-bucket-name>",
|
|
355
|
+
"output.data.format": "JSON",
|
|
356
|
+
"time.interval": "DAILY",
|
|
357
|
+
"flush.size": "1000",
|
|
358
|
+
"tasks.max": "1",
|
|
359
|
+
"authentication.method": "IAM Roles",
|
|
360
|
+
"provider.integration.id": main["id"],
|
|
361
|
+
},
|
|
362
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
|
363
|
+
app_connector_describe_on_cluster,
|
|
364
|
+
app_connector_read_on_target_topic,
|
|
365
|
+
app_connector_create_on_dlq_lcc_topics,
|
|
366
|
+
app_connector_write_on_dlq_lcc_topics,
|
|
367
|
+
app_connector_create_on_success_lcc_topics,
|
|
368
|
+
app_connector_write_on_success_lcc_topics,
|
|
369
|
+
app_connector_create_on_error_lcc_topics,
|
|
370
|
+
app_connector_write_on_error_lcc_topics,
|
|
371
|
+
app_connector_read_on_connect_lcc_group,
|
|
372
|
+
main,
|
|
373
|
+
s3_access_role,
|
|
374
|
+
]))
|
|
375
|
+
```
|
|
376
|
+
|
|
289
377
|
### Example Managed [Amazon DynamoDB Connector](https://docs.confluent.io/cloud/current/connectors/cc-amazon-dynamo-db-sink.html) that uses a service account to communicate with your Kafka cluster
|
|
290
378
|
```python
|
|
291
379
|
import pulumi
|
|
292
380
|
import pulumi_confluentcloud as confluentcloud
|
|
293
381
|
|
|
382
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/dynamo-db-sink-connector
|
|
294
383
|
sink = confluentcloud.Connector("sink",
|
|
295
384
|
environment={
|
|
296
385
|
"id": staging["id"],
|
|
@@ -326,12 +415,87 @@ class Connector(pulumi.CustomResource):
|
|
|
326
415
|
]))
|
|
327
416
|
```
|
|
328
417
|
|
|
329
|
-
### Example
|
|
418
|
+
### Example Managed [MySQL Sink Connector](https://docs.confluent.io/cloud/current/connectors/cc-mysql-sink.html) that uses a service account to communicate with your Kafka cluster
|
|
330
419
|
|
|
331
420
|
```python
|
|
332
421
|
import pulumi
|
|
333
422
|
import pulumi_confluentcloud as confluentcloud
|
|
334
423
|
|
|
424
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/manage-offsets-source-sink-connector
|
|
425
|
+
sink = confluentcloud.Connector("sink",
|
|
426
|
+
environment={
|
|
427
|
+
"id": staging["id"],
|
|
428
|
+
},
|
|
429
|
+
kafka_cluster={
|
|
430
|
+
"id": basic["id"],
|
|
431
|
+
},
|
|
432
|
+
config_sensitive={
|
|
433
|
+
"connection.password": "***REDACTED***",
|
|
434
|
+
},
|
|
435
|
+
config_nonsensitive={
|
|
436
|
+
"connector.class": "MySqlSink",
|
|
437
|
+
"name": "MySQLSinkConnector_0",
|
|
438
|
+
"topics": orders["topicName"],
|
|
439
|
+
"input.data.format": "AVRO",
|
|
440
|
+
"kafka.auth.mode": "SERVICE_ACCOUNT",
|
|
441
|
+
"kafka.service.account.id": app_connector["id"],
|
|
442
|
+
"db.name": "test_database",
|
|
443
|
+
"connection.user": "confluent_user",
|
|
444
|
+
"connection.host": "dev-testing-temp.abcdefghijk.us-west-7.rds.amazonaws.com",
|
|
445
|
+
"connection.port": "3306",
|
|
446
|
+
"insert.mode": "INSERT",
|
|
447
|
+
"auto.create": "true",
|
|
448
|
+
"auto.evolve": "true",
|
|
449
|
+
"tasks.max": "1",
|
|
450
|
+
},
|
|
451
|
+
offsets=[
|
|
452
|
+
{
|
|
453
|
+
"partition": {
|
|
454
|
+
"kafka_partition": "0",
|
|
455
|
+
"kafka_topic": orders["topicName"],
|
|
456
|
+
},
|
|
457
|
+
"offset": {
|
|
458
|
+
"kafka_offset": "100",
|
|
459
|
+
},
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"partition": {
|
|
463
|
+
"kafka_partition": "1",
|
|
464
|
+
"kafka_topic": orders["topicName"],
|
|
465
|
+
},
|
|
466
|
+
"offset": {
|
|
467
|
+
"kafka_offset": "200",
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"partition": {
|
|
472
|
+
"kafka_partition": "2",
|
|
473
|
+
"kafka_topic": orders["topicName"],
|
|
474
|
+
},
|
|
475
|
+
"offset": {
|
|
476
|
+
"kafka_offset": "300",
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
],
|
|
480
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
|
481
|
+
app_connector_describe_on_cluster,
|
|
482
|
+
app_connector_read_on_target_topic,
|
|
483
|
+
app_connector_create_on_dlq_lcc_topics,
|
|
484
|
+
app_connector_write_on_dlq_lcc_topics,
|
|
485
|
+
app_connector_create_on_success_lcc_topics,
|
|
486
|
+
app_connector_write_on_success_lcc_topics,
|
|
487
|
+
app_connector_create_on_error_lcc_topics,
|
|
488
|
+
app_connector_write_on_error_lcc_topics,
|
|
489
|
+
app_connector_read_on_connect_lcc_group,
|
|
490
|
+
]))
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Example Custom [Datagen Source Connector](https://www.confluent.io/hub/confluentinc/kafka-connect-datagen) that uses a Kafka API Key to communicate with your Kafka cluster
|
|
494
|
+
```python
|
|
495
|
+
import pulumi
|
|
496
|
+
import pulumi_confluentcloud as confluentcloud
|
|
497
|
+
|
|
498
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/custom-datagen-source-connector
|
|
335
499
|
source = confluentcloud.Connector("source",
|
|
336
500
|
environment={
|
|
337
501
|
"id": staging["id"],
|
|
@@ -359,25 +523,28 @@ class Connector(pulumi.CustomResource):
|
|
|
359
523
|
opts = pulumi.ResourceOptions(depends_on=[app_manager_kafka_cluster_admin]))
|
|
360
524
|
```
|
|
361
525
|
|
|
362
|
-
> **Note:** Custom connectors are available in **Preview** for early adopters. Preview features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\
|
|
363
|
-
**Preview** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Preview features. Preview features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Preview features at any time in Confluent’s sole discretion.
|
|
364
|
-
|
|
365
526
|
## Getting Started
|
|
366
527
|
|
|
367
528
|
The following end-to-end examples might help to get started with `Connector` resource:
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
*
|
|
377
|
-
*
|
|
529
|
+
* s3-sink-connector
|
|
530
|
+
* s3-sink-connector-assume-role
|
|
531
|
+
* snowflake-sink-connector
|
|
532
|
+
* managed-datagen-source-connector
|
|
533
|
+
* elasticsearch-sink-connector
|
|
534
|
+
* dynamo-db-sink-connector
|
|
535
|
+
* mongo-db-source-connector
|
|
536
|
+
* mongo-db-sink-connector
|
|
537
|
+
* sql-server-cdc-debezium-source-connector
|
|
538
|
+
* postgre-sql-cdc-debezium-source-connector
|
|
539
|
+
* custom-datagen-source-connector
|
|
540
|
+
* manage-offsets-github-source-connector
|
|
541
|
+
* manage-offsets-mongo-db-source-connector
|
|
542
|
+
* manage-offsets-mysql-sink-connector
|
|
378
543
|
|
|
379
544
|
> **Note:** Certain connectors require additional ACL entries. See [Additional ACL entries](https://docs.confluent.io/cloud/current/connectors/service-account.html#additional-acl-entries) for more details.
|
|
380
545
|
|
|
546
|
+
> **Note:** If there isn’t an example available for your target connector in the connectors folder, use the Confluent Cloud Console to begin the provisioning process. This can help you determine the required ACLs (example). You can also refer to the connector’s documentation page ([example](https://docs.confluent.io/cloud/current/connectors/cc-amazon-dynamo-db-sink.html#step-3-create-the-connector-configuration-file)) to copy its default configuration and learn more about all available settings. Afterward, we recommend selecting an example with the same connector type (sink or source) and modifying its ACL list and configuration to fit your specific requirements.
|
|
547
|
+
|
|
381
548
|
## Import
|
|
382
549
|
|
|
383
550
|
You can import a connector by using Environment ID, Kafka cluster ID, and connector's name, in the format `<Environment ID>/<Kafka cluster ID>/<Connector name>`, for example:
|
|
@@ -392,10 +559,13 @@ class Connector(pulumi.CustomResource):
|
|
|
392
559
|
|
|
393
560
|
:param str resource_name: The name of the resource.
|
|
394
561
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
395
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
396
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
562
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
563
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
397
564
|
:param pulumi.Input[Union['ConnectorEnvironmentArgs', 'ConnectorEnvironmentArgsDict']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
|
|
398
|
-
:param pulumi.Input[
|
|
565
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ConnectorOffsetArgs', 'ConnectorOffsetArgsDict']]]] offsets: Connector partitions with offsets
|
|
566
|
+
:param pulumi.Input[_builtins.str] status: The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
567
|
+
|
|
568
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
399
569
|
|
|
400
570
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
401
571
|
|
|
@@ -415,6 +585,7 @@ class Connector(pulumi.CustomResource):
|
|
|
415
585
|
import pulumi
|
|
416
586
|
import pulumi_confluentcloud as confluentcloud
|
|
417
587
|
|
|
588
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/managed-datagen-source-connector
|
|
418
589
|
source = confluentcloud.Connector("source",
|
|
419
590
|
environment={
|
|
420
591
|
"id": staging["id"],
|
|
@@ -446,6 +617,7 @@ class Connector(pulumi.CustomResource):
|
|
|
446
617
|
import pulumi
|
|
447
618
|
import pulumi_confluentcloud as confluentcloud
|
|
448
619
|
|
|
620
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/s3-sink-connector
|
|
449
621
|
sink = confluentcloud.Connector("sink",
|
|
450
622
|
environment={
|
|
451
623
|
"id": staging["id"],
|
|
@@ -483,11 +655,56 @@ class Connector(pulumi.CustomResource):
|
|
|
483
655
|
]))
|
|
484
656
|
```
|
|
485
657
|
|
|
658
|
+
### Example Managed [Amazon S3 Sink Connector](https://docs.confluent.io/cloud/current/connectors/cc-s3-sink.html) that uses a service account to communicate with your Kafka cluster and IAM Roles for AWS authentication
|
|
659
|
+
```python
|
|
660
|
+
import pulumi
|
|
661
|
+
import pulumi_confluentcloud as confluentcloud
|
|
662
|
+
|
|
663
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/s3-sink-connector-assume-role
|
|
664
|
+
sink = confluentcloud.Connector("sink",
|
|
665
|
+
environment={
|
|
666
|
+
"id": staging["id"],
|
|
667
|
+
},
|
|
668
|
+
kafka_cluster={
|
|
669
|
+
"id": basic["id"],
|
|
670
|
+
},
|
|
671
|
+
config_sensitive={},
|
|
672
|
+
config_nonsensitive={
|
|
673
|
+
"topics": orders["topicName"],
|
|
674
|
+
"input.data.format": "JSON",
|
|
675
|
+
"connector.class": "S3_SINK",
|
|
676
|
+
"name": "S3_SINKConnector_0",
|
|
677
|
+
"kafka.auth.mode": "SERVICE_ACCOUNT",
|
|
678
|
+
"kafka.service.account.id": app_connector["id"],
|
|
679
|
+
"s3.bucket.name": "<s3-bucket-name>",
|
|
680
|
+
"output.data.format": "JSON",
|
|
681
|
+
"time.interval": "DAILY",
|
|
682
|
+
"flush.size": "1000",
|
|
683
|
+
"tasks.max": "1",
|
|
684
|
+
"authentication.method": "IAM Roles",
|
|
685
|
+
"provider.integration.id": main["id"],
|
|
686
|
+
},
|
|
687
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
|
688
|
+
app_connector_describe_on_cluster,
|
|
689
|
+
app_connector_read_on_target_topic,
|
|
690
|
+
app_connector_create_on_dlq_lcc_topics,
|
|
691
|
+
app_connector_write_on_dlq_lcc_topics,
|
|
692
|
+
app_connector_create_on_success_lcc_topics,
|
|
693
|
+
app_connector_write_on_success_lcc_topics,
|
|
694
|
+
app_connector_create_on_error_lcc_topics,
|
|
695
|
+
app_connector_write_on_error_lcc_topics,
|
|
696
|
+
app_connector_read_on_connect_lcc_group,
|
|
697
|
+
main,
|
|
698
|
+
s3_access_role,
|
|
699
|
+
]))
|
|
700
|
+
```
|
|
701
|
+
|
|
486
702
|
### Example Managed [Amazon DynamoDB Connector](https://docs.confluent.io/cloud/current/connectors/cc-amazon-dynamo-db-sink.html) that uses a service account to communicate with your Kafka cluster
|
|
487
703
|
```python
|
|
488
704
|
import pulumi
|
|
489
705
|
import pulumi_confluentcloud as confluentcloud
|
|
490
706
|
|
|
707
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/dynamo-db-sink-connector
|
|
491
708
|
sink = confluentcloud.Connector("sink",
|
|
492
709
|
environment={
|
|
493
710
|
"id": staging["id"],
|
|
@@ -523,12 +740,87 @@ class Connector(pulumi.CustomResource):
|
|
|
523
740
|
]))
|
|
524
741
|
```
|
|
525
742
|
|
|
526
|
-
### Example
|
|
743
|
+
### Example Managed [MySQL Sink Connector](https://docs.confluent.io/cloud/current/connectors/cc-mysql-sink.html) that uses a service account to communicate with your Kafka cluster
|
|
744
|
+
|
|
745
|
+
```python
|
|
746
|
+
import pulumi
|
|
747
|
+
import pulumi_confluentcloud as confluentcloud
|
|
748
|
+
|
|
749
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/manage-offsets-source-sink-connector
|
|
750
|
+
sink = confluentcloud.Connector("sink",
|
|
751
|
+
environment={
|
|
752
|
+
"id": staging["id"],
|
|
753
|
+
},
|
|
754
|
+
kafka_cluster={
|
|
755
|
+
"id": basic["id"],
|
|
756
|
+
},
|
|
757
|
+
config_sensitive={
|
|
758
|
+
"connection.password": "***REDACTED***",
|
|
759
|
+
},
|
|
760
|
+
config_nonsensitive={
|
|
761
|
+
"connector.class": "MySqlSink",
|
|
762
|
+
"name": "MySQLSinkConnector_0",
|
|
763
|
+
"topics": orders["topicName"],
|
|
764
|
+
"input.data.format": "AVRO",
|
|
765
|
+
"kafka.auth.mode": "SERVICE_ACCOUNT",
|
|
766
|
+
"kafka.service.account.id": app_connector["id"],
|
|
767
|
+
"db.name": "test_database",
|
|
768
|
+
"connection.user": "confluent_user",
|
|
769
|
+
"connection.host": "dev-testing-temp.abcdefghijk.us-west-7.rds.amazonaws.com",
|
|
770
|
+
"connection.port": "3306",
|
|
771
|
+
"insert.mode": "INSERT",
|
|
772
|
+
"auto.create": "true",
|
|
773
|
+
"auto.evolve": "true",
|
|
774
|
+
"tasks.max": "1",
|
|
775
|
+
},
|
|
776
|
+
offsets=[
|
|
777
|
+
{
|
|
778
|
+
"partition": {
|
|
779
|
+
"kafka_partition": "0",
|
|
780
|
+
"kafka_topic": orders["topicName"],
|
|
781
|
+
},
|
|
782
|
+
"offset": {
|
|
783
|
+
"kafka_offset": "100",
|
|
784
|
+
},
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"partition": {
|
|
788
|
+
"kafka_partition": "1",
|
|
789
|
+
"kafka_topic": orders["topicName"],
|
|
790
|
+
},
|
|
791
|
+
"offset": {
|
|
792
|
+
"kafka_offset": "200",
|
|
793
|
+
},
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"partition": {
|
|
797
|
+
"kafka_partition": "2",
|
|
798
|
+
"kafka_topic": orders["topicName"],
|
|
799
|
+
},
|
|
800
|
+
"offset": {
|
|
801
|
+
"kafka_offset": "300",
|
|
802
|
+
},
|
|
803
|
+
},
|
|
804
|
+
],
|
|
805
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
|
806
|
+
app_connector_describe_on_cluster,
|
|
807
|
+
app_connector_read_on_target_topic,
|
|
808
|
+
app_connector_create_on_dlq_lcc_topics,
|
|
809
|
+
app_connector_write_on_dlq_lcc_topics,
|
|
810
|
+
app_connector_create_on_success_lcc_topics,
|
|
811
|
+
app_connector_write_on_success_lcc_topics,
|
|
812
|
+
app_connector_create_on_error_lcc_topics,
|
|
813
|
+
app_connector_write_on_error_lcc_topics,
|
|
814
|
+
app_connector_read_on_connect_lcc_group,
|
|
815
|
+
]))
|
|
816
|
+
```
|
|
527
817
|
|
|
818
|
+
### Example Custom [Datagen Source Connector](https://www.confluent.io/hub/confluentinc/kafka-connect-datagen) that uses a Kafka API Key to communicate with your Kafka cluster
|
|
528
819
|
```python
|
|
529
820
|
import pulumi
|
|
530
821
|
import pulumi_confluentcloud as confluentcloud
|
|
531
822
|
|
|
823
|
+
# https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/connectors/custom-datagen-source-connector
|
|
532
824
|
source = confluentcloud.Connector("source",
|
|
533
825
|
environment={
|
|
534
826
|
"id": staging["id"],
|
|
@@ -556,25 +848,28 @@ class Connector(pulumi.CustomResource):
|
|
|
556
848
|
opts = pulumi.ResourceOptions(depends_on=[app_manager_kafka_cluster_admin]))
|
|
557
849
|
```
|
|
558
850
|
|
|
559
|
-
> **Note:** Custom connectors are available in **Preview** for early adopters. Preview features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\
|
|
560
|
-
**Preview** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Preview features. Preview features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Preview features at any time in Confluent’s sole discretion.
|
|
561
|
-
|
|
562
851
|
## Getting Started
|
|
563
852
|
|
|
564
853
|
The following end-to-end examples might help to get started with `Connector` resource:
|
|
565
|
-
*
|
|
566
|
-
*
|
|
567
|
-
*
|
|
568
|
-
*
|
|
569
|
-
*
|
|
570
|
-
*
|
|
571
|
-
*
|
|
572
|
-
*
|
|
573
|
-
*
|
|
574
|
-
*
|
|
854
|
+
* s3-sink-connector
|
|
855
|
+
* s3-sink-connector-assume-role
|
|
856
|
+
* snowflake-sink-connector
|
|
857
|
+
* managed-datagen-source-connector
|
|
858
|
+
* elasticsearch-sink-connector
|
|
859
|
+
* dynamo-db-sink-connector
|
|
860
|
+
* mongo-db-source-connector
|
|
861
|
+
* mongo-db-sink-connector
|
|
862
|
+
* sql-server-cdc-debezium-source-connector
|
|
863
|
+
* postgre-sql-cdc-debezium-source-connector
|
|
864
|
+
* custom-datagen-source-connector
|
|
865
|
+
* manage-offsets-github-source-connector
|
|
866
|
+
* manage-offsets-mongo-db-source-connector
|
|
867
|
+
* manage-offsets-mysql-sink-connector
|
|
575
868
|
|
|
576
869
|
> **Note:** Certain connectors require additional ACL entries. See [Additional ACL entries](https://docs.confluent.io/cloud/current/connectors/service-account.html#additional-acl-entries) for more details.
|
|
577
870
|
|
|
871
|
+
> **Note:** If there isn’t an example available for your target connector in the connectors folder, use the Confluent Cloud Console to begin the provisioning process. This can help you determine the required ACLs (example). You can also refer to the connector’s documentation page ([example](https://docs.confluent.io/cloud/current/connectors/cc-amazon-dynamo-db-sink.html#step-3-create-the-connector-configuration-file)) to copy its default configuration and learn more about all available settings. Afterward, we recommend selecting an example with the same connector type (sink or source) and modifying its ACL list and configuration to fit your specific requirements.
|
|
872
|
+
|
|
578
873
|
## Import
|
|
579
874
|
|
|
580
875
|
You can import a connector by using Environment ID, Kafka cluster ID, and connector's name, in the format `<Environment ID>/<Kafka cluster ID>/<Connector name>`, for example:
|
|
@@ -602,11 +897,12 @@ class Connector(pulumi.CustomResource):
|
|
|
602
897
|
def _internal_init(__self__,
|
|
603
898
|
resource_name: str,
|
|
604
899
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
605
|
-
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
606
|
-
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
900
|
+
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
901
|
+
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
607
902
|
environment: Optional[pulumi.Input[Union['ConnectorEnvironmentArgs', 'ConnectorEnvironmentArgsDict']]] = None,
|
|
608
903
|
kafka_cluster: Optional[pulumi.Input[Union['ConnectorKafkaClusterArgs', 'ConnectorKafkaClusterArgsDict']]] = None,
|
|
609
|
-
|
|
904
|
+
offsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConnectorOffsetArgs', 'ConnectorOffsetArgsDict']]]]] = None,
|
|
905
|
+
status: Optional[pulumi.Input[_builtins.str]] = None,
|
|
610
906
|
__props__=None):
|
|
611
907
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
612
908
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -626,6 +922,7 @@ class Connector(pulumi.CustomResource):
|
|
|
626
922
|
if kafka_cluster is None and not opts.urn:
|
|
627
923
|
raise TypeError("Missing required property 'kafka_cluster'")
|
|
628
924
|
__props__.__dict__["kafka_cluster"] = kafka_cluster
|
|
925
|
+
__props__.__dict__["offsets"] = offsets
|
|
629
926
|
__props__.__dict__["status"] = status
|
|
630
927
|
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["configSensitive"])
|
|
631
928
|
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
@@ -639,11 +936,12 @@ class Connector(pulumi.CustomResource):
|
|
|
639
936
|
def get(resource_name: str,
|
|
640
937
|
id: pulumi.Input[str],
|
|
641
938
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
642
|
-
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
643
|
-
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
939
|
+
config_nonsensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
940
|
+
config_sensitive: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
644
941
|
environment: Optional[pulumi.Input[Union['ConnectorEnvironmentArgs', 'ConnectorEnvironmentArgsDict']]] = None,
|
|
645
942
|
kafka_cluster: Optional[pulumi.Input[Union['ConnectorKafkaClusterArgs', 'ConnectorKafkaClusterArgsDict']]] = None,
|
|
646
|
-
|
|
943
|
+
offsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConnectorOffsetArgs', 'ConnectorOffsetArgsDict']]]]] = None,
|
|
944
|
+
status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Connector':
|
|
647
945
|
"""
|
|
648
946
|
Get an existing Connector resource's state with the given name, id, and optional extra
|
|
649
947
|
properties used to qualify the lookup.
|
|
@@ -651,10 +949,13 @@ class Connector(pulumi.CustomResource):
|
|
|
651
949
|
:param str resource_name: The unique name of the resulting resource.
|
|
652
950
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
653
951
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
654
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
655
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
952
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_nonsensitive: Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
953
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config_sensitive: Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
656
954
|
:param pulumi.Input[Union['ConnectorEnvironmentArgs', 'ConnectorEnvironmentArgsDict']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
|
|
657
|
-
:param pulumi.Input[
|
|
955
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ConnectorOffsetArgs', 'ConnectorOffsetArgsDict']]]] offsets: Connector partitions with offsets
|
|
956
|
+
:param pulumi.Input[_builtins.str] status: The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
957
|
+
|
|
958
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
658
959
|
|
|
659
960
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
660
961
|
|
|
@@ -668,26 +969,27 @@ class Connector(pulumi.CustomResource):
|
|
|
668
969
|
__props__.__dict__["config_sensitive"] = config_sensitive
|
|
669
970
|
__props__.__dict__["environment"] = environment
|
|
670
971
|
__props__.__dict__["kafka_cluster"] = kafka_cluster
|
|
972
|
+
__props__.__dict__["offsets"] = offsets
|
|
671
973
|
__props__.__dict__["status"] = status
|
|
672
974
|
return Connector(resource_name, opts=opts, __props__=__props__)
|
|
673
975
|
|
|
674
|
-
@property
|
|
976
|
+
@_builtins.property
|
|
675
977
|
@pulumi.getter(name="configNonsensitive")
|
|
676
|
-
def config_nonsensitive(self) -> pulumi.Output[Mapping[str, str]]:
|
|
978
|
+
def config_nonsensitive(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
|
677
979
|
"""
|
|
678
980
|
Block for custom *nonsensitive* configuration properties that are *not* labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
679
981
|
"""
|
|
680
982
|
return pulumi.get(self, "config_nonsensitive")
|
|
681
983
|
|
|
682
|
-
@property
|
|
984
|
+
@_builtins.property
|
|
683
985
|
@pulumi.getter(name="configSensitive")
|
|
684
|
-
def config_sensitive(self) -> pulumi.Output[Mapping[str, str]]:
|
|
986
|
+
def config_sensitive(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
|
685
987
|
"""
|
|
686
988
|
Block for custom *sensitive* configuration properties that are labelled with "Type: password" under "Configuration Properties" section in [the docs](https://docs.confluent.io/cloud/current/connectors/index.html):
|
|
687
989
|
"""
|
|
688
990
|
return pulumi.get(self, "config_sensitive")
|
|
689
991
|
|
|
690
|
-
@property
|
|
992
|
+
@_builtins.property
|
|
691
993
|
@pulumi.getter
|
|
692
994
|
def environment(self) -> pulumi.Output['outputs.ConnectorEnvironment']:
|
|
693
995
|
"""
|
|
@@ -695,17 +997,27 @@ class Connector(pulumi.CustomResource):
|
|
|
695
997
|
"""
|
|
696
998
|
return pulumi.get(self, "environment")
|
|
697
999
|
|
|
698
|
-
@property
|
|
1000
|
+
@_builtins.property
|
|
699
1001
|
@pulumi.getter(name="kafkaCluster")
|
|
700
1002
|
def kafka_cluster(self) -> pulumi.Output['outputs.ConnectorKafkaCluster']:
|
|
701
1003
|
return pulumi.get(self, "kafka_cluster")
|
|
702
1004
|
|
|
703
|
-
@property
|
|
1005
|
+
@_builtins.property
|
|
704
1006
|
@pulumi.getter
|
|
705
|
-
def
|
|
1007
|
+
def offsets(self) -> pulumi.Output[Optional[Sequence['outputs.ConnectorOffset']]]:
|
|
1008
|
+
"""
|
|
1009
|
+
Connector partitions with offsets
|
|
1010
|
+
"""
|
|
1011
|
+
return pulumi.get(self, "offsets")
|
|
1012
|
+
|
|
1013
|
+
@_builtins.property
|
|
1014
|
+
@pulumi.getter
|
|
1015
|
+
def status(self) -> pulumi.Output[_builtins.str]:
|
|
706
1016
|
"""
|
|
707
1017
|
The status of the connector (one of `"NONE"`, `"PROVISIONING"`, `"RUNNING"`, `"DEGRADED"`, `"FAILED"`, `"PAUSED"`, `"DELETED"`). Pausing (`"RUNNING" > "PAUSED"`) and resuming (`"PAUSED" > "RUNNING"`) a connector is supported via an update operation.
|
|
708
1018
|
|
|
1019
|
+
For more information on connector offset management, see [Manage Offsets for Fully-Managed Connectors in Confluent Cloud](https://docs.confluent.io/cloud/current/connectors/offsets.html).
|
|
1020
|
+
|
|
709
1021
|
> **Note:** If there are no _sensitive_ configuration settings for your connector, set `config_sensitive = {}` explicitly.
|
|
710
1022
|
|
|
711
1023
|
> **Note:** You may declare sensitive variables for secrets `config_sensitive` block and set them using environment variables (for example, `export TF_VAR_aws_access_key_id="foo"`).
|