pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__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 (154) hide show
  1. pulumi_digitalocean/__init__.py +224 -1
  2. pulumi_digitalocean/_enums.py +19 -9
  3. pulumi_digitalocean/_inputs.py +17037 -4771
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +238 -88
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +106 -105
  8. pulumi_digitalocean/certificate.py +139 -138
  9. pulumi_digitalocean/config/__init__.py +2 -1
  10. pulumi_digitalocean/config/__init__.pyi +2 -2
  11. pulumi_digitalocean/config/vars.py +11 -11
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +90 -89
  14. pulumi_digitalocean/container_registry_docker_credentials.py +84 -83
  15. pulumi_digitalocean/custom_image.py +180 -179
  16. pulumi_digitalocean/database_cluster.py +402 -373
  17. pulumi_digitalocean/database_connection_pool.py +159 -158
  18. pulumi_digitalocean/database_db.py +37 -36
  19. pulumi_digitalocean/database_firewall.py +23 -22
  20. pulumi_digitalocean/database_kafka_config.py +309 -308
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +83 -82
  23. pulumi_digitalocean/database_logsink_opensearch.py +680 -0
  24. pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
  25. pulumi_digitalocean/database_mongodb_config.py +105 -104
  26. pulumi_digitalocean/database_mysql_config.py +479 -478
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +666 -665
  29. pulumi_digitalocean/database_postgresql_config.py +859 -858
  30. pulumi_digitalocean/database_redis_config.py +211 -206
  31. pulumi_digitalocean/database_replica.py +199 -198
  32. pulumi_digitalocean/database_user.py +93 -92
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +184 -183
  35. pulumi_digitalocean/domain.py +55 -54
  36. pulumi_digitalocean/droplet.py +403 -402
  37. pulumi_digitalocean/droplet_autoscale.py +55 -54
  38. pulumi_digitalocean/droplet_snapshot.py +73 -72
  39. pulumi_digitalocean/firewall.py +80 -79
  40. pulumi_digitalocean/floating_ip.py +63 -62
  41. pulumi_digitalocean/floating_ip_assignment.py +37 -36
  42. pulumi_digitalocean/genai_agent.py +1903 -0
  43. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  44. pulumi_digitalocean/genai_agent_route.py +354 -0
  45. pulumi_digitalocean/genai_function.py +464 -0
  46. pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
  47. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  48. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  49. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  50. pulumi_digitalocean/get_account.py +18 -18
  51. pulumi_digitalocean/get_app.py +28 -28
  52. pulumi_digitalocean/get_byoip_prefix.py +214 -0
  53. pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
  54. pulumi_digitalocean/get_certificate.py +22 -22
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -22
  57. pulumi_digitalocean/get_database_ca.py +12 -12
  58. pulumi_digitalocean/get_database_cluster.py +76 -62
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -36
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -46
  62. pulumi_digitalocean/get_database_user.py +27 -27
  63. pulumi_digitalocean/get_domain.py +16 -16
  64. pulumi_digitalocean/get_domains.py +7 -7
  65. pulumi_digitalocean/get_droplet.py +72 -72
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -23
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -38
  68. pulumi_digitalocean/get_droplets.py +13 -13
  69. pulumi_digitalocean/get_firewall.py +31 -31
  70. pulumi_digitalocean/get_floating_ip.py +16 -16
  71. pulumi_digitalocean/get_genai_agent.py +572 -0
  72. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  73. pulumi_digitalocean/get_genai_agents.py +128 -0
  74. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  75. pulumi_digitalocean/get_genai_indexing_job.py +239 -0
  76. pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
  77. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  78. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  79. pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
  80. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  81. pulumi_digitalocean/get_genai_models.py +113 -0
  82. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  83. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  84. pulumi_digitalocean/get_genai_regions.py +113 -0
  85. pulumi_digitalocean/get_image.py +50 -50
  86. pulumi_digitalocean/get_images.py +7 -7
  87. pulumi_digitalocean/get_kubernetes_cluster.py +144 -53
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -14
  89. pulumi_digitalocean/get_load_balancer.py +70 -59
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +206 -0
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -32
  95. pulumi_digitalocean/get_projects.py +7 -7
  96. pulumi_digitalocean/get_record.py +32 -32
  97. pulumi_digitalocean/get_records.py +13 -13
  98. pulumi_digitalocean/get_region.py +18 -18
  99. pulumi_digitalocean/get_regions.py +7 -7
  100. pulumi_digitalocean/get_reserved_ip.py +16 -16
  101. pulumi_digitalocean/get_reserved_ipv6.py +51 -16
  102. pulumi_digitalocean/get_sizes.py +141 -7
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -22
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -58
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -46
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -7
  107. pulumi_digitalocean/get_spaces_key.py +157 -0
  108. pulumi_digitalocean/get_ssh_key.py +14 -14
  109. pulumi_digitalocean/get_ssh_keys.py +7 -7
  110. pulumi_digitalocean/get_tag.py +22 -22
  111. pulumi_digitalocean/get_tags.py +7 -7
  112. pulumi_digitalocean/get_volume.py +34 -34
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -40
  114. pulumi_digitalocean/get_vpc.py +30 -30
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -24
  117. pulumi_digitalocean/kubernetes_cluster.py +572 -303
  118. pulumi_digitalocean/kubernetes_node_pool.py +170 -169
  119. pulumi_digitalocean/load_balancer.py +406 -372
  120. pulumi_digitalocean/monitor_alert.py +153 -156
  121. pulumi_digitalocean/nfs.py +481 -0
  122. pulumi_digitalocean/nfs_attachment.py +289 -0
  123. pulumi_digitalocean/nfs_snapshot.py +379 -0
  124. pulumi_digitalocean/outputs.py +26759 -7592
  125. pulumi_digitalocean/partner_attachment.py +555 -0
  126. pulumi_digitalocean/project.py +141 -140
  127. pulumi_digitalocean/project_resources.py +37 -36
  128. pulumi_digitalocean/provider.py +105 -84
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +63 -62
  131. pulumi_digitalocean/reserved_ip_assignment.py +37 -36
  132. pulumi_digitalocean/reserved_ipv6.py +122 -62
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +81 -30
  134. pulumi_digitalocean/spaces_bucket.py +107 -106
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +40 -39
  136. pulumi_digitalocean/spaces_bucket_logging.py +346 -0
  137. pulumi_digitalocean/spaces_bucket_object.py +284 -283
  138. pulumi_digitalocean/spaces_bucket_policy.py +54 -53
  139. pulumi_digitalocean/spaces_key.py +388 -0
  140. pulumi_digitalocean/ssh_key.py +46 -45
  141. pulumi_digitalocean/tag.py +74 -73
  142. pulumi_digitalocean/uptime_alert.py +112 -111
  143. pulumi_digitalocean/uptime_check.py +90 -89
  144. pulumi_digitalocean/volume.py +183 -182
  145. pulumi_digitalocean/volume_attachment.py +37 -36
  146. pulumi_digitalocean/volume_snapshot.py +90 -89
  147. pulumi_digitalocean/vpc.py +100 -99
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +55 -58
  150. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +4 -4
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.40.0a1739511652.dist-info/RECORD +0 -108
  154. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,360 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['DatabaseKafkaSchemaRegistryArgs', 'DatabaseKafkaSchemaRegistry']
18
+
19
+ @pulumi.input_type
20
+ class DatabaseKafkaSchemaRegistryArgs:
21
+ def __init__(__self__, *,
22
+ cluster_id: pulumi.Input[_builtins.str],
23
+ schema: pulumi.Input[_builtins.str],
24
+ schema_type: pulumi.Input[_builtins.str],
25
+ subject_name: pulumi.Input[_builtins.str]):
26
+ """
27
+ The set of arguments for constructing a DatabaseKafkaSchemaRegistry resource.
28
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Kafka cluster.
29
+ :param pulumi.Input[_builtins.str] schema: The schema definition as a string.
30
+ :param pulumi.Input[_builtins.str] schema_type: The schema type. Available values are: avro, json, or protobuf.
31
+ :param pulumi.Input[_builtins.str] subject_name: The name of the schema subject.
32
+ """
33
+ pulumi.set(__self__, "cluster_id", cluster_id)
34
+ pulumi.set(__self__, "schema", schema)
35
+ pulumi.set(__self__, "schema_type", schema_type)
36
+ pulumi.set(__self__, "subject_name", subject_name)
37
+
38
+ @_builtins.property
39
+ @pulumi.getter(name="clusterId")
40
+ def cluster_id(self) -> pulumi.Input[_builtins.str]:
41
+ """
42
+ The ID of the target Kafka cluster.
43
+ """
44
+ return pulumi.get(self, "cluster_id")
45
+
46
+ @cluster_id.setter
47
+ def cluster_id(self, value: pulumi.Input[_builtins.str]):
48
+ pulumi.set(self, "cluster_id", value)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter
52
+ def schema(self) -> pulumi.Input[_builtins.str]:
53
+ """
54
+ The schema definition as a string.
55
+ """
56
+ return pulumi.get(self, "schema")
57
+
58
+ @schema.setter
59
+ def schema(self, value: pulumi.Input[_builtins.str]):
60
+ pulumi.set(self, "schema", value)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter(name="schemaType")
64
+ def schema_type(self) -> pulumi.Input[_builtins.str]:
65
+ """
66
+ The schema type. Available values are: avro, json, or protobuf.
67
+ """
68
+ return pulumi.get(self, "schema_type")
69
+
70
+ @schema_type.setter
71
+ def schema_type(self, value: pulumi.Input[_builtins.str]):
72
+ pulumi.set(self, "schema_type", value)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter(name="subjectName")
76
+ def subject_name(self) -> pulumi.Input[_builtins.str]:
77
+ """
78
+ The name of the schema subject.
79
+ """
80
+ return pulumi.get(self, "subject_name")
81
+
82
+ @subject_name.setter
83
+ def subject_name(self, value: pulumi.Input[_builtins.str]):
84
+ pulumi.set(self, "subject_name", value)
85
+
86
+
87
+ @pulumi.input_type
88
+ class _DatabaseKafkaSchemaRegistryState:
89
+ def __init__(__self__, *,
90
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
91
+ schema: Optional[pulumi.Input[_builtins.str]] = None,
92
+ schema_type: Optional[pulumi.Input[_builtins.str]] = None,
93
+ subject_name: Optional[pulumi.Input[_builtins.str]] = None):
94
+ """
95
+ Input properties used for looking up and filtering DatabaseKafkaSchemaRegistry resources.
96
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Kafka cluster.
97
+ :param pulumi.Input[_builtins.str] schema: The schema definition as a string.
98
+ :param pulumi.Input[_builtins.str] schema_type: The schema type. Available values are: avro, json, or protobuf.
99
+ :param pulumi.Input[_builtins.str] subject_name: The name of the schema subject.
100
+ """
101
+ if cluster_id is not None:
102
+ pulumi.set(__self__, "cluster_id", cluster_id)
103
+ if schema is not None:
104
+ pulumi.set(__self__, "schema", schema)
105
+ if schema_type is not None:
106
+ pulumi.set(__self__, "schema_type", schema_type)
107
+ if subject_name is not None:
108
+ pulumi.set(__self__, "subject_name", subject_name)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter(name="clusterId")
112
+ def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]:
113
+ """
114
+ The ID of the target Kafka cluster.
115
+ """
116
+ return pulumi.get(self, "cluster_id")
117
+
118
+ @cluster_id.setter
119
+ def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]):
120
+ pulumi.set(self, "cluster_id", value)
121
+
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def schema(self) -> Optional[pulumi.Input[_builtins.str]]:
125
+ """
126
+ The schema definition as a string.
127
+ """
128
+ return pulumi.get(self, "schema")
129
+
130
+ @schema.setter
131
+ def schema(self, value: Optional[pulumi.Input[_builtins.str]]):
132
+ pulumi.set(self, "schema", value)
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="schemaType")
136
+ def schema_type(self) -> Optional[pulumi.Input[_builtins.str]]:
137
+ """
138
+ The schema type. Available values are: avro, json, or protobuf.
139
+ """
140
+ return pulumi.get(self, "schema_type")
141
+
142
+ @schema_type.setter
143
+ def schema_type(self, value: Optional[pulumi.Input[_builtins.str]]):
144
+ pulumi.set(self, "schema_type", value)
145
+
146
+ @_builtins.property
147
+ @pulumi.getter(name="subjectName")
148
+ def subject_name(self) -> Optional[pulumi.Input[_builtins.str]]:
149
+ """
150
+ The name of the schema subject.
151
+ """
152
+ return pulumi.get(self, "subject_name")
153
+
154
+ @subject_name.setter
155
+ def subject_name(self, value: Optional[pulumi.Input[_builtins.str]]):
156
+ pulumi.set(self, "subject_name", value)
157
+
158
+
159
+ @pulumi.type_token("digitalocean:index/databaseKafkaSchemaRegistry:DatabaseKafkaSchemaRegistry")
160
+ class DatabaseKafkaSchemaRegistry(pulumi.CustomResource):
161
+ @overload
162
+ def __init__(__self__,
163
+ resource_name: str,
164
+ opts: Optional[pulumi.ResourceOptions] = None,
165
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
166
+ schema: Optional[pulumi.Input[_builtins.str]] = None,
167
+ schema_type: Optional[pulumi.Input[_builtins.str]] = None,
168
+ subject_name: Optional[pulumi.Input[_builtins.str]] = None,
169
+ __props__=None):
170
+ """
171
+ Provides a DigitalOcean Kafka schema registry for Kafka clusters.
172
+
173
+ ## Example Usage
174
+
175
+ ### Create a new Kafka Schema Registry
176
+ ```python
177
+ import pulumi
178
+ import pulumi_digitalocean as digitalocean
179
+
180
+ kafka_example = digitalocean.DatabaseCluster("kafka-example",
181
+ name="example-kafka-cluster",
182
+ engine="kafka",
183
+ version="3.5",
184
+ size="gd-2vcpu-8gb",
185
+ region=digitalocean.Region.BLR1,
186
+ node_count=3,
187
+ tags=["production"])
188
+ schema_01 = digitalocean.DatabaseKafkaSchemaRegistry("schema-01",
189
+ cluster_id=kafka_example.id,
190
+ subject_name="test-schema",
191
+ schema_type="avro",
192
+ schema=\"\"\"{
193
+ \\"type\\": \\"record\\",
194
+ \\"namespace\\": \\"example\\",
195
+ \\"name\\": \\"TestRecord\\",
196
+ \\"fields\\": [
197
+ {\\"name\\": \\"id\\", \\"type\\": \\"string\\"},
198
+ {\\"name\\": \\"name\\", \\"type\\": \\"string\\"},
199
+ {\\"name\\": \\"value\\", \\"type\\": \\"int\\"}
200
+ ]
201
+ }
202
+ \"\"\")
203
+ ```
204
+
205
+ :param str resource_name: The name of the resource.
206
+ :param pulumi.ResourceOptions opts: Options for the resource.
207
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Kafka cluster.
208
+ :param pulumi.Input[_builtins.str] schema: The schema definition as a string.
209
+ :param pulumi.Input[_builtins.str] schema_type: The schema type. Available values are: avro, json, or protobuf.
210
+ :param pulumi.Input[_builtins.str] subject_name: The name of the schema subject.
211
+ """
212
+ ...
213
+ @overload
214
+ def __init__(__self__,
215
+ resource_name: str,
216
+ args: DatabaseKafkaSchemaRegistryArgs,
217
+ opts: Optional[pulumi.ResourceOptions] = None):
218
+ """
219
+ Provides a DigitalOcean Kafka schema registry for Kafka clusters.
220
+
221
+ ## Example Usage
222
+
223
+ ### Create a new Kafka Schema Registry
224
+ ```python
225
+ import pulumi
226
+ import pulumi_digitalocean as digitalocean
227
+
228
+ kafka_example = digitalocean.DatabaseCluster("kafka-example",
229
+ name="example-kafka-cluster",
230
+ engine="kafka",
231
+ version="3.5",
232
+ size="gd-2vcpu-8gb",
233
+ region=digitalocean.Region.BLR1,
234
+ node_count=3,
235
+ tags=["production"])
236
+ schema_01 = digitalocean.DatabaseKafkaSchemaRegistry("schema-01",
237
+ cluster_id=kafka_example.id,
238
+ subject_name="test-schema",
239
+ schema_type="avro",
240
+ schema=\"\"\"{
241
+ \\"type\\": \\"record\\",
242
+ \\"namespace\\": \\"example\\",
243
+ \\"name\\": \\"TestRecord\\",
244
+ \\"fields\\": [
245
+ {\\"name\\": \\"id\\", \\"type\\": \\"string\\"},
246
+ {\\"name\\": \\"name\\", \\"type\\": \\"string\\"},
247
+ {\\"name\\": \\"value\\", \\"type\\": \\"int\\"}
248
+ ]
249
+ }
250
+ \"\"\")
251
+ ```
252
+
253
+ :param str resource_name: The name of the resource.
254
+ :param DatabaseKafkaSchemaRegistryArgs args: The arguments to use to populate this resource's properties.
255
+ :param pulumi.ResourceOptions opts: Options for the resource.
256
+ """
257
+ ...
258
+ def __init__(__self__, resource_name: str, *args, **kwargs):
259
+ resource_args, opts = _utilities.get_resource_args_opts(DatabaseKafkaSchemaRegistryArgs, pulumi.ResourceOptions, *args, **kwargs)
260
+ if resource_args is not None:
261
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
262
+ else:
263
+ __self__._internal_init(resource_name, *args, **kwargs)
264
+
265
+ def _internal_init(__self__,
266
+ resource_name: str,
267
+ opts: Optional[pulumi.ResourceOptions] = None,
268
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
269
+ schema: Optional[pulumi.Input[_builtins.str]] = None,
270
+ schema_type: Optional[pulumi.Input[_builtins.str]] = None,
271
+ subject_name: Optional[pulumi.Input[_builtins.str]] = None,
272
+ __props__=None):
273
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
274
+ if not isinstance(opts, pulumi.ResourceOptions):
275
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
276
+ if opts.id is None:
277
+ if __props__ is not None:
278
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
279
+ __props__ = DatabaseKafkaSchemaRegistryArgs.__new__(DatabaseKafkaSchemaRegistryArgs)
280
+
281
+ if cluster_id is None and not opts.urn:
282
+ raise TypeError("Missing required property 'cluster_id'")
283
+ __props__.__dict__["cluster_id"] = cluster_id
284
+ if schema is None and not opts.urn:
285
+ raise TypeError("Missing required property 'schema'")
286
+ __props__.__dict__["schema"] = schema
287
+ if schema_type is None and not opts.urn:
288
+ raise TypeError("Missing required property 'schema_type'")
289
+ __props__.__dict__["schema_type"] = schema_type
290
+ if subject_name is None and not opts.urn:
291
+ raise TypeError("Missing required property 'subject_name'")
292
+ __props__.__dict__["subject_name"] = subject_name
293
+ super(DatabaseKafkaSchemaRegistry, __self__).__init__(
294
+ 'digitalocean:index/databaseKafkaSchemaRegistry:DatabaseKafkaSchemaRegistry',
295
+ resource_name,
296
+ __props__,
297
+ opts)
298
+
299
+ @staticmethod
300
+ def get(resource_name: str,
301
+ id: pulumi.Input[str],
302
+ opts: Optional[pulumi.ResourceOptions] = None,
303
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
304
+ schema: Optional[pulumi.Input[_builtins.str]] = None,
305
+ schema_type: Optional[pulumi.Input[_builtins.str]] = None,
306
+ subject_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'DatabaseKafkaSchemaRegistry':
307
+ """
308
+ Get an existing DatabaseKafkaSchemaRegistry resource's state with the given name, id, and optional extra
309
+ properties used to qualify the lookup.
310
+
311
+ :param str resource_name: The unique name of the resulting resource.
312
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
313
+ :param pulumi.ResourceOptions opts: Options for the resource.
314
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Kafka cluster.
315
+ :param pulumi.Input[_builtins.str] schema: The schema definition as a string.
316
+ :param pulumi.Input[_builtins.str] schema_type: The schema type. Available values are: avro, json, or protobuf.
317
+ :param pulumi.Input[_builtins.str] subject_name: The name of the schema subject.
318
+ """
319
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
320
+
321
+ __props__ = _DatabaseKafkaSchemaRegistryState.__new__(_DatabaseKafkaSchemaRegistryState)
322
+
323
+ __props__.__dict__["cluster_id"] = cluster_id
324
+ __props__.__dict__["schema"] = schema
325
+ __props__.__dict__["schema_type"] = schema_type
326
+ __props__.__dict__["subject_name"] = subject_name
327
+ return DatabaseKafkaSchemaRegistry(resource_name, opts=opts, __props__=__props__)
328
+
329
+ @_builtins.property
330
+ @pulumi.getter(name="clusterId")
331
+ def cluster_id(self) -> pulumi.Output[_builtins.str]:
332
+ """
333
+ The ID of the target Kafka cluster.
334
+ """
335
+ return pulumi.get(self, "cluster_id")
336
+
337
+ @_builtins.property
338
+ @pulumi.getter
339
+ def schema(self) -> pulumi.Output[_builtins.str]:
340
+ """
341
+ The schema definition as a string.
342
+ """
343
+ return pulumi.get(self, "schema")
344
+
345
+ @_builtins.property
346
+ @pulumi.getter(name="schemaType")
347
+ def schema_type(self) -> pulumi.Output[_builtins.str]:
348
+ """
349
+ The schema type. Available values are: avro, json, or protobuf.
350
+ """
351
+ return pulumi.get(self, "schema_type")
352
+
353
+ @_builtins.property
354
+ @pulumi.getter(name="subjectName")
355
+ def subject_name(self) -> pulumi.Output[_builtins.str]:
356
+ """
357
+ The name of the schema subject.
358
+ """
359
+ return pulumi.get(self, "subject_name")
360
+