pulumi-digitalocean 4.53.0a1757051129__py3-none-any.whl → 4.54.0__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.
@@ -18,6 +18,7 @@ from .database_connection_pool import *
18
18
  from .database_db import *
19
19
  from .database_firewall import *
20
20
  from .database_kafka_config import *
21
+ from .database_kafka_schema_registry import *
21
22
  from .database_kafka_topic import *
22
23
  from .database_mongodb_config import *
23
24
  from .database_mysql_config import *
@@ -68,8 +69,10 @@ from .get_genai_agents_by_openai_api_key import *
68
69
  from .get_genai_knowledge_base import *
69
70
  from .get_genai_knowledge_base_data_sources import *
70
71
  from .get_genai_knowledge_bases import *
72
+ from .get_genai_models import *
71
73
  from .get_genai_openai_api_key import *
72
74
  from .get_genai_openai_api_keys import *
75
+ from .get_genai_regions import *
73
76
  from .get_image import *
74
77
  from .get_images import *
75
78
  from .get_kubernetes_cluster import *
@@ -229,6 +232,14 @@ _utilities.register(
229
232
  "digitalocean:index/databaseKafkaConfig:DatabaseKafkaConfig": "DatabaseKafkaConfig"
230
233
  }
231
234
  },
235
+ {
236
+ "pkg": "digitalocean",
237
+ "mod": "index/databaseKafkaSchemaRegistry",
238
+ "fqn": "pulumi_digitalocean",
239
+ "classes": {
240
+ "digitalocean:index/databaseKafkaSchemaRegistry:DatabaseKafkaSchemaRegistry": "DatabaseKafkaSchemaRegistry"
241
+ }
242
+ },
232
243
  {
233
244
  "pkg": "digitalocean",
234
245
  "mod": "index/databaseKafkaTopic",
@@ -494,10 +494,18 @@ __all__ = [
494
494
  'GetGenaiKnowledgeBasesFilterArgsDict',
495
495
  'GetGenaiKnowledgeBasesSortArgs',
496
496
  'GetGenaiKnowledgeBasesSortArgsDict',
497
+ 'GetGenaiModelsFilterArgs',
498
+ 'GetGenaiModelsFilterArgsDict',
499
+ 'GetGenaiModelsSortArgs',
500
+ 'GetGenaiModelsSortArgsDict',
497
501
  'GetGenaiOpenaiApiKeysFilterArgs',
498
502
  'GetGenaiOpenaiApiKeysFilterArgsDict',
499
503
  'GetGenaiOpenaiApiKeysSortArgs',
500
504
  'GetGenaiOpenaiApiKeysSortArgsDict',
505
+ 'GetGenaiRegionsFilterArgs',
506
+ 'GetGenaiRegionsFilterArgsDict',
507
+ 'GetGenaiRegionsSortArgs',
508
+ 'GetGenaiRegionsSortArgsDict',
501
509
  'GetImagesFilterArgs',
502
510
  'GetImagesFilterArgsDict',
503
511
  'GetImagesSortArgs',
@@ -25704,6 +25712,101 @@ class GetGenaiKnowledgeBasesSortArgs:
25704
25712
  pulumi.set(self, "direction", value)
25705
25713
 
25706
25714
 
25715
+ if not MYPY:
25716
+ class GetGenaiModelsFilterArgsDict(TypedDict):
25717
+ key: _builtins.str
25718
+ values: Sequence[_builtins.str]
25719
+ all: NotRequired[_builtins.bool]
25720
+ match_by: NotRequired[_builtins.str]
25721
+ elif False:
25722
+ GetGenaiModelsFilterArgsDict: TypeAlias = Mapping[str, Any]
25723
+
25724
+ @pulumi.input_type
25725
+ class GetGenaiModelsFilterArgs:
25726
+ def __init__(__self__, *,
25727
+ key: _builtins.str,
25728
+ values: Sequence[_builtins.str],
25729
+ all: Optional[_builtins.bool] = None,
25730
+ match_by: Optional[_builtins.str] = None):
25731
+ pulumi.set(__self__, "key", key)
25732
+ pulumi.set(__self__, "values", values)
25733
+ if all is not None:
25734
+ pulumi.set(__self__, "all", all)
25735
+ if match_by is not None:
25736
+ pulumi.set(__self__, "match_by", match_by)
25737
+
25738
+ @_builtins.property
25739
+ @pulumi.getter
25740
+ def key(self) -> _builtins.str:
25741
+ return pulumi.get(self, "key")
25742
+
25743
+ @key.setter
25744
+ def key(self, value: _builtins.str):
25745
+ pulumi.set(self, "key", value)
25746
+
25747
+ @_builtins.property
25748
+ @pulumi.getter
25749
+ def values(self) -> Sequence[_builtins.str]:
25750
+ return pulumi.get(self, "values")
25751
+
25752
+ @values.setter
25753
+ def values(self, value: Sequence[_builtins.str]):
25754
+ pulumi.set(self, "values", value)
25755
+
25756
+ @_builtins.property
25757
+ @pulumi.getter
25758
+ def all(self) -> Optional[_builtins.bool]:
25759
+ return pulumi.get(self, "all")
25760
+
25761
+ @all.setter
25762
+ def all(self, value: Optional[_builtins.bool]):
25763
+ pulumi.set(self, "all", value)
25764
+
25765
+ @_builtins.property
25766
+ @pulumi.getter(name="matchBy")
25767
+ def match_by(self) -> Optional[_builtins.str]:
25768
+ return pulumi.get(self, "match_by")
25769
+
25770
+ @match_by.setter
25771
+ def match_by(self, value: Optional[_builtins.str]):
25772
+ pulumi.set(self, "match_by", value)
25773
+
25774
+
25775
+ if not MYPY:
25776
+ class GetGenaiModelsSortArgsDict(TypedDict):
25777
+ key: _builtins.str
25778
+ direction: NotRequired[_builtins.str]
25779
+ elif False:
25780
+ GetGenaiModelsSortArgsDict: TypeAlias = Mapping[str, Any]
25781
+
25782
+ @pulumi.input_type
25783
+ class GetGenaiModelsSortArgs:
25784
+ def __init__(__self__, *,
25785
+ key: _builtins.str,
25786
+ direction: Optional[_builtins.str] = None):
25787
+ pulumi.set(__self__, "key", key)
25788
+ if direction is not None:
25789
+ pulumi.set(__self__, "direction", direction)
25790
+
25791
+ @_builtins.property
25792
+ @pulumi.getter
25793
+ def key(self) -> _builtins.str:
25794
+ return pulumi.get(self, "key")
25795
+
25796
+ @key.setter
25797
+ def key(self, value: _builtins.str):
25798
+ pulumi.set(self, "key", value)
25799
+
25800
+ @_builtins.property
25801
+ @pulumi.getter
25802
+ def direction(self) -> Optional[_builtins.str]:
25803
+ return pulumi.get(self, "direction")
25804
+
25805
+ @direction.setter
25806
+ def direction(self, value: Optional[_builtins.str]):
25807
+ pulumi.set(self, "direction", value)
25808
+
25809
+
25707
25810
  if not MYPY:
25708
25811
  class GetGenaiOpenaiApiKeysFilterArgsDict(TypedDict):
25709
25812
  key: _builtins.str
@@ -25799,6 +25902,101 @@ class GetGenaiOpenaiApiKeysSortArgs:
25799
25902
  pulumi.set(self, "direction", value)
25800
25903
 
25801
25904
 
25905
+ if not MYPY:
25906
+ class GetGenaiRegionsFilterArgsDict(TypedDict):
25907
+ key: _builtins.str
25908
+ values: Sequence[_builtins.str]
25909
+ all: NotRequired[_builtins.bool]
25910
+ match_by: NotRequired[_builtins.str]
25911
+ elif False:
25912
+ GetGenaiRegionsFilterArgsDict: TypeAlias = Mapping[str, Any]
25913
+
25914
+ @pulumi.input_type
25915
+ class GetGenaiRegionsFilterArgs:
25916
+ def __init__(__self__, *,
25917
+ key: _builtins.str,
25918
+ values: Sequence[_builtins.str],
25919
+ all: Optional[_builtins.bool] = None,
25920
+ match_by: Optional[_builtins.str] = None):
25921
+ pulumi.set(__self__, "key", key)
25922
+ pulumi.set(__self__, "values", values)
25923
+ if all is not None:
25924
+ pulumi.set(__self__, "all", all)
25925
+ if match_by is not None:
25926
+ pulumi.set(__self__, "match_by", match_by)
25927
+
25928
+ @_builtins.property
25929
+ @pulumi.getter
25930
+ def key(self) -> _builtins.str:
25931
+ return pulumi.get(self, "key")
25932
+
25933
+ @key.setter
25934
+ def key(self, value: _builtins.str):
25935
+ pulumi.set(self, "key", value)
25936
+
25937
+ @_builtins.property
25938
+ @pulumi.getter
25939
+ def values(self) -> Sequence[_builtins.str]:
25940
+ return pulumi.get(self, "values")
25941
+
25942
+ @values.setter
25943
+ def values(self, value: Sequence[_builtins.str]):
25944
+ pulumi.set(self, "values", value)
25945
+
25946
+ @_builtins.property
25947
+ @pulumi.getter
25948
+ def all(self) -> Optional[_builtins.bool]:
25949
+ return pulumi.get(self, "all")
25950
+
25951
+ @all.setter
25952
+ def all(self, value: Optional[_builtins.bool]):
25953
+ pulumi.set(self, "all", value)
25954
+
25955
+ @_builtins.property
25956
+ @pulumi.getter(name="matchBy")
25957
+ def match_by(self) -> Optional[_builtins.str]:
25958
+ return pulumi.get(self, "match_by")
25959
+
25960
+ @match_by.setter
25961
+ def match_by(self, value: Optional[_builtins.str]):
25962
+ pulumi.set(self, "match_by", value)
25963
+
25964
+
25965
+ if not MYPY:
25966
+ class GetGenaiRegionsSortArgsDict(TypedDict):
25967
+ key: _builtins.str
25968
+ direction: NotRequired[_builtins.str]
25969
+ elif False:
25970
+ GetGenaiRegionsSortArgsDict: TypeAlias = Mapping[str, Any]
25971
+
25972
+ @pulumi.input_type
25973
+ class GetGenaiRegionsSortArgs:
25974
+ def __init__(__self__, *,
25975
+ key: _builtins.str,
25976
+ direction: Optional[_builtins.str] = None):
25977
+ pulumi.set(__self__, "key", key)
25978
+ if direction is not None:
25979
+ pulumi.set(__self__, "direction", direction)
25980
+
25981
+ @_builtins.property
25982
+ @pulumi.getter
25983
+ def key(self) -> _builtins.str:
25984
+ return pulumi.get(self, "key")
25985
+
25986
+ @key.setter
25987
+ def key(self, value: _builtins.str):
25988
+ pulumi.set(self, "key", value)
25989
+
25990
+ @_builtins.property
25991
+ @pulumi.getter
25992
+ def direction(self) -> Optional[_builtins.str]:
25993
+ return pulumi.get(self, "direction")
25994
+
25995
+ @direction.setter
25996
+ def direction(self, value: Optional[_builtins.str]):
25997
+ pulumi.set(self, "direction", value)
25998
+
25999
+
25802
26000
  if not MYPY:
25803
26001
  class GetImagesFilterArgsDict(TypedDict):
25804
26002
  key: _builtins.str
@@ -317,6 +317,8 @@ class App(pulumi.CustomResource):
317
317
  })
318
318
  ```
319
319
 
320
+ ### Multiple Components Example
321
+
320
322
  ### Log Destination Example with Opensearch
321
323
 
322
324
  ```python
@@ -470,6 +472,8 @@ class App(pulumi.CustomResource):
470
472
  })
471
473
  ```
472
474
 
475
+ ### Multiple Components Example
476
+
473
477
  ### Log Destination Example with Opensearch
474
478
 
475
479
  ```python
@@ -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
+