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.
Files changed (134) hide show
  1. pulumi_confluentcloud/__init__.py +102 -1
  2. pulumi_confluentcloud/_inputs.py +4870 -2499
  3. pulumi_confluentcloud/_utilities.py +9 -5
  4. pulumi_confluentcloud/access_point.py +188 -33
  5. pulumi_confluentcloud/api_key.py +178 -144
  6. pulumi_confluentcloud/business_metadata.py +76 -73
  7. pulumi_confluentcloud/business_metadata_binding.py +101 -98
  8. pulumi_confluentcloud/byok_key.py +12 -11
  9. pulumi_confluentcloud/catalog_entity_attributes.py +133 -92
  10. pulumi_confluentcloud/catalog_integration.py +544 -0
  11. pulumi_confluentcloud/certificate_authority.py +158 -157
  12. pulumi_confluentcloud/certificate_pool.py +76 -75
  13. pulumi_confluentcloud/cluster_link.py +168 -91
  14. pulumi_confluentcloud/config/__init__.py +2 -1
  15. pulumi_confluentcloud/config/__init__.pyi +23 -2
  16. pulumi_confluentcloud/config/outputs.py +110 -0
  17. pulumi_confluentcloud/config/vars.py +50 -21
  18. pulumi_confluentcloud/connect_artifact.py +478 -0
  19. pulumi_confluentcloud/connector.py +399 -87
  20. pulumi_confluentcloud/custom_connector_plugin.py +142 -141
  21. pulumi_confluentcloud/custom_connector_plugin_version.py +614 -0
  22. pulumi_confluentcloud/dns_forwarder.py +136 -45
  23. pulumi_confluentcloud/dns_record.py +46 -45
  24. pulumi_confluentcloud/environment.py +74 -73
  25. pulumi_confluentcloud/flink_artifact.py +254 -198
  26. pulumi_confluentcloud/flink_compute_pool.py +101 -100
  27. pulumi_confluentcloud/flink_connection.py +935 -0
  28. pulumi_confluentcloud/flink_statement.py +218 -124
  29. pulumi_confluentcloud/gateway.py +88 -28
  30. pulumi_confluentcloud/get_access_point.py +51 -17
  31. pulumi_confluentcloud/get_business_metadata.py +27 -25
  32. pulumi_confluentcloud/get_business_metadata_binding.py +36 -34
  33. pulumi_confluentcloud/get_byok_key.py +13 -13
  34. pulumi_confluentcloud/get_catalog_integration.py +248 -0
  35. pulumi_confluentcloud/get_certificate_authority.py +42 -42
  36. pulumi_confluentcloud/get_certificate_pool.py +21 -21
  37. pulumi_confluentcloud/get_cluster_link.py +274 -0
  38. pulumi_confluentcloud/get_connect_artifact.py +191 -0
  39. pulumi_confluentcloud/get_dns_record.py +17 -17
  40. pulumi_confluentcloud/get_environment.py +19 -19
  41. pulumi_confluentcloud/get_environments.py +8 -8
  42. pulumi_confluentcloud/get_flink_artifact.py +61 -43
  43. pulumi_confluentcloud/get_flink_compute_pool.py +29 -29
  44. pulumi_confluentcloud/get_flink_connection.py +267 -0
  45. pulumi_confluentcloud/get_flink_region.py +26 -26
  46. pulumi_confluentcloud/get_gateway.py +60 -18
  47. pulumi_confluentcloud/get_group_mapping.py +20 -20
  48. pulumi_confluentcloud/get_identity_pool.py +23 -23
  49. pulumi_confluentcloud/get_identity_provider.py +37 -23
  50. pulumi_confluentcloud/get_invitation.py +22 -22
  51. pulumi_confluentcloud/get_ip_addresses.py +8 -8
  52. pulumi_confluentcloud/get_ip_filter.py +175 -0
  53. pulumi_confluentcloud/get_ip_group.py +133 -0
  54. pulumi_confluentcloud/get_kafka_client_quota.py +19 -19
  55. pulumi_confluentcloud/get_kafka_cluster.py +57 -43
  56. pulumi_confluentcloud/get_kafka_clusters.py +136 -0
  57. pulumi_confluentcloud/get_kafka_topic.py +24 -24
  58. pulumi_confluentcloud/get_ksql_cluster.py +35 -35
  59. pulumi_confluentcloud/get_network.py +56 -42
  60. pulumi_confluentcloud/get_network_link_endpoint.py +19 -19
  61. pulumi_confluentcloud/get_network_link_service.py +25 -19
  62. pulumi_confluentcloud/get_organization.py +8 -8
  63. pulumi_confluentcloud/get_peering.py +21 -21
  64. pulumi_confluentcloud/get_private_link_access.py +21 -21
  65. pulumi_confluentcloud/get_private_link_attachment.py +31 -29
  66. pulumi_confluentcloud/get_private_link_attachment_connection.py +26 -23
  67. pulumi_confluentcloud/get_provider_integration.py +30 -20
  68. pulumi_confluentcloud/get_provider_integration_authorization.py +142 -0
  69. pulumi_confluentcloud/get_provider_integration_setup.py +270 -0
  70. pulumi_confluentcloud/get_role_binding.py +16 -16
  71. pulumi_confluentcloud/get_schema.py +42 -42
  72. pulumi_confluentcloud/get_schema_registry_cluster.py +53 -38
  73. pulumi_confluentcloud/get_schema_registry_cluster_config.py +31 -17
  74. pulumi_confluentcloud/get_schema_registry_cluster_mode.py +16 -16
  75. pulumi_confluentcloud/get_schema_registry_clusters.py +8 -8
  76. pulumi_confluentcloud/get_schema_registry_dek.py +44 -44
  77. pulumi_confluentcloud/get_schema_registry_kek.py +32 -32
  78. pulumi_confluentcloud/get_schemas.py +16 -16
  79. pulumi_confluentcloud/get_service_account.py +22 -22
  80. pulumi_confluentcloud/get_subject_config.py +37 -23
  81. pulumi_confluentcloud/get_subject_mode.py +22 -22
  82. pulumi_confluentcloud/get_tableflow_topic.py +374 -0
  83. pulumi_confluentcloud/get_tag.py +28 -26
  84. pulumi_confluentcloud/get_tag_binding.py +34 -32
  85. pulumi_confluentcloud/get_transit_gateway_attachment.py +19 -19
  86. pulumi_confluentcloud/get_user.py +26 -26
  87. pulumi_confluentcloud/get_users.py +8 -8
  88. pulumi_confluentcloud/group_mapping.py +54 -53
  89. pulumi_confluentcloud/identity_pool.py +74 -73
  90. pulumi_confluentcloud/identity_provider.py +138 -76
  91. pulumi_confluentcloud/invitation.py +81 -80
  92. pulumi_confluentcloud/ip_filter.py +420 -0
  93. pulumi_confluentcloud/ip_group.py +264 -0
  94. pulumi_confluentcloud/kafka_acl.py +173 -172
  95. pulumi_confluentcloud/kafka_client_quota.py +63 -62
  96. pulumi_confluentcloud/kafka_cluster.py +227 -207
  97. pulumi_confluentcloud/kafka_cluster_config.py +43 -42
  98. pulumi_confluentcloud/kafka_mirror_topic.py +46 -45
  99. pulumi_confluentcloud/kafka_topic.py +132 -131
  100. pulumi_confluentcloud/ksql_cluster.py +117 -120
  101. pulumi_confluentcloud/network.py +235 -198
  102. pulumi_confluentcloud/network_link_endpoint.py +62 -68
  103. pulumi_confluentcloud/network_link_service.py +62 -68
  104. pulumi_confluentcloud/outputs.py +4735 -2224
  105. pulumi_confluentcloud/peering.py +128 -48
  106. pulumi_confluentcloud/plugin.py +428 -0
  107. pulumi_confluentcloud/private_link_access.py +54 -60
  108. pulumi_confluentcloud/private_link_attachment.py +93 -88
  109. pulumi_confluentcloud/private_link_attachment_connection.py +70 -47
  110. pulumi_confluentcloud/provider.py +318 -192
  111. pulumi_confluentcloud/provider_integration.py +45 -34
  112. pulumi_confluentcloud/provider_integration_authorization.py +320 -0
  113. pulumi_confluentcloud/provider_integration_setup.py +448 -0
  114. pulumi_confluentcloud/pulumi-plugin.json +1 -1
  115. pulumi_confluentcloud/role_binding.py +153 -56
  116. pulumi_confluentcloud/schema.py +416 -212
  117. pulumi_confluentcloud/schema_exporter.py +217 -164
  118. pulumi_confluentcloud/schema_registry_cluster_config.py +96 -44
  119. pulumi_confluentcloud/schema_registry_cluster_mode.py +90 -42
  120. pulumi_confluentcloud/schema_registry_dek.py +140 -146
  121. pulumi_confluentcloud/schema_registry_kek.py +148 -154
  122. pulumi_confluentcloud/service_account.py +97 -96
  123. pulumi_confluentcloud/subject_config.py +142 -62
  124. pulumi_confluentcloud/subject_mode.py +107 -59
  125. pulumi_confluentcloud/tableflow_topic.py +883 -0
  126. pulumi_confluentcloud/tag.py +82 -79
  127. pulumi_confluentcloud/tag_binding.py +121 -84
  128. pulumi_confluentcloud/tf_importer.py +39 -36
  129. pulumi_confluentcloud/transit_gateway_attachment.py +38 -44
  130. {pulumi_confluentcloud-2.10.0a1731389320.dist-info → pulumi_confluentcloud-2.54.0a1766503424.dist-info}/METADATA +7 -7
  131. pulumi_confluentcloud-2.54.0a1766503424.dist-info/RECORD +134 -0
  132. {pulumi_confluentcloud-2.10.0a1731389320.dist-info → pulumi_confluentcloud-2.54.0a1766503424.dist-info}/WHEEL +1 -1
  133. pulumi_confluentcloud-2.10.0a1731389320.dist-info/RECORD +0 -113
  134. {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 the Pulumi Terraform Bridge (tfgen) Tool. ***
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 copy
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
- status: Optional[pulumi.Input[str]] = None):
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[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.
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
- status: Optional[pulumi.Input[str]] = None):
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[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.
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
- status: Optional[pulumi.Input[str]] = None,
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 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
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
- * `s3-sink-connector`
369
- * `snowflake-sink-connector`
370
- * `managed-datagen-source-connector`
371
- * `elasticsearch-sink-connector`
372
- * `dynamo-db-sink-connector`
373
- * `mongo-db-source-connector`
374
- * `mongo-db-sink-connector`
375
- * `sql-server-cdc-debezium-source-connector`
376
- * `postgre-sql-cdc-debezium-source-connector`
377
- * `custom-datagen-source-connector`
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[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.
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 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
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
- * `s3-sink-connector`
566
- * `snowflake-sink-connector`
567
- * `managed-datagen-source-connector`
568
- * `elasticsearch-sink-connector`
569
- * `dynamo-db-sink-connector`
570
- * `mongo-db-source-connector`
571
- * `mongo-db-sink-connector`
572
- * `sql-server-cdc-debezium-source-connector`
573
- * `postgre-sql-cdc-debezium-source-connector`
574
- * `custom-datagen-source-connector`
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
- status: Optional[pulumi.Input[str]] = None,
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
- status: Optional[pulumi.Input[str]] = None) -> 'Connector':
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[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.
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 status(self) -> pulumi.Output[str]:
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"`).