pulumi-digitalocean 4.50.0a1753508712__py3-none-any.whl → 4.50.0a1755187429__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 (28) hide show
  1. pulumi_digitalocean/__init__.py +80 -0
  2. pulumi_digitalocean/_inputs.py +7318 -4599
  3. pulumi_digitalocean/app.py +50 -0
  4. pulumi_digitalocean/database_cluster.py +28 -0
  5. pulumi_digitalocean/database_online_migration.py +460 -0
  6. pulumi_digitalocean/database_redis_config.py +4 -0
  7. pulumi_digitalocean/database_valkey_config.py +804 -0
  8. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  9. pulumi_digitalocean/genai_agent_route.py +354 -0
  10. pulumi_digitalocean/genai_function.py +464 -0
  11. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  12. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  13. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  14. pulumi_digitalocean/get_database_cluster.py +15 -1
  15. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  16. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  17. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  18. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  19. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  20. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  21. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  22. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  23. pulumi_digitalocean/outputs.py +15279 -7846
  24. pulumi_digitalocean/pulumi-plugin.json +1 -1
  25. {pulumi_digitalocean-4.50.0a1753508712.dist-info → pulumi_digitalocean-4.50.0a1755187429.dist-info}/METADATA +1 -1
  26. {pulumi_digitalocean-4.50.0a1753508712.dist-info → pulumi_digitalocean-4.50.0a1755187429.dist-info}/RECORD +28 -12
  27. {pulumi_digitalocean-4.50.0a1753508712.dist-info → pulumi_digitalocean-4.50.0a1755187429.dist-info}/WHEEL +0 -0
  28. {pulumi_digitalocean-4.50.0a1753508712.dist-info → pulumi_digitalocean-4.50.0a1755187429.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,220 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['GenaiKnowledgeBaseDataSourceInitArgs', 'GenaiKnowledgeBaseDataSource']
20
+
21
+ @pulumi.input_type
22
+ class GenaiKnowledgeBaseDataSourceInitArgs:
23
+ def __init__(__self__, *,
24
+ knowledge_base_uuid: pulumi.Input[_builtins.str],
25
+ spaces_data_source: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']] = None,
26
+ web_crawler_data_source: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']] = None):
27
+ """
28
+ The set of arguments for constructing a GenaiKnowledgeBaseDataSource resource.
29
+ :param pulumi.Input[_builtins.str] knowledge_base_uuid: UUID of the Knowledge Base
30
+ """
31
+ pulumi.set(__self__, "knowledge_base_uuid", knowledge_base_uuid)
32
+ if spaces_data_source is not None:
33
+ pulumi.set(__self__, "spaces_data_source", spaces_data_source)
34
+ if web_crawler_data_source is not None:
35
+ pulumi.set(__self__, "web_crawler_data_source", web_crawler_data_source)
36
+
37
+ @_builtins.property
38
+ @pulumi.getter(name="knowledgeBaseUuid")
39
+ def knowledge_base_uuid(self) -> pulumi.Input[_builtins.str]:
40
+ """
41
+ UUID of the Knowledge Base
42
+ """
43
+ return pulumi.get(self, "knowledge_base_uuid")
44
+
45
+ @knowledge_base_uuid.setter
46
+ def knowledge_base_uuid(self, value: pulumi.Input[_builtins.str]):
47
+ pulumi.set(self, "knowledge_base_uuid", value)
48
+
49
+ @_builtins.property
50
+ @pulumi.getter(name="spacesDataSource")
51
+ def spaces_data_source(self) -> Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']]:
52
+ return pulumi.get(self, "spaces_data_source")
53
+
54
+ @spaces_data_source.setter
55
+ def spaces_data_source(self, value: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']]):
56
+ pulumi.set(self, "spaces_data_source", value)
57
+
58
+ @_builtins.property
59
+ @pulumi.getter(name="webCrawlerDataSource")
60
+ def web_crawler_data_source(self) -> Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']]:
61
+ return pulumi.get(self, "web_crawler_data_source")
62
+
63
+ @web_crawler_data_source.setter
64
+ def web_crawler_data_source(self, value: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']]):
65
+ pulumi.set(self, "web_crawler_data_source", value)
66
+
67
+
68
+ @pulumi.input_type
69
+ class _GenaiKnowledgeBaseDataSourceState:
70
+ def __init__(__self__, *,
71
+ knowledge_base_uuid: Optional[pulumi.Input[_builtins.str]] = None,
72
+ spaces_data_source: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']] = None,
73
+ web_crawler_data_source: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']] = None):
74
+ """
75
+ Input properties used for looking up and filtering GenaiKnowledgeBaseDataSource resources.
76
+ :param pulumi.Input[_builtins.str] knowledge_base_uuid: UUID of the Knowledge Base
77
+ """
78
+ if knowledge_base_uuid is not None:
79
+ pulumi.set(__self__, "knowledge_base_uuid", knowledge_base_uuid)
80
+ if spaces_data_source is not None:
81
+ pulumi.set(__self__, "spaces_data_source", spaces_data_source)
82
+ if web_crawler_data_source is not None:
83
+ pulumi.set(__self__, "web_crawler_data_source", web_crawler_data_source)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="knowledgeBaseUuid")
87
+ def knowledge_base_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
88
+ """
89
+ UUID of the Knowledge Base
90
+ """
91
+ return pulumi.get(self, "knowledge_base_uuid")
92
+
93
+ @knowledge_base_uuid.setter
94
+ def knowledge_base_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
95
+ pulumi.set(self, "knowledge_base_uuid", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="spacesDataSource")
99
+ def spaces_data_source(self) -> Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']]:
100
+ return pulumi.get(self, "spaces_data_source")
101
+
102
+ @spaces_data_source.setter
103
+ def spaces_data_source(self, value: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs']]):
104
+ pulumi.set(self, "spaces_data_source", value)
105
+
106
+ @_builtins.property
107
+ @pulumi.getter(name="webCrawlerDataSource")
108
+ def web_crawler_data_source(self) -> Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']]:
109
+ return pulumi.get(self, "web_crawler_data_source")
110
+
111
+ @web_crawler_data_source.setter
112
+ def web_crawler_data_source(self, value: Optional[pulumi.Input['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs']]):
113
+ pulumi.set(self, "web_crawler_data_source", value)
114
+
115
+
116
+ @pulumi.type_token("digitalocean:index/genaiKnowledgeBaseDataSource:GenaiKnowledgeBaseDataSource")
117
+ class GenaiKnowledgeBaseDataSource(pulumi.CustomResource):
118
+ @overload
119
+ def __init__(__self__,
120
+ resource_name: str,
121
+ opts: Optional[pulumi.ResourceOptions] = None,
122
+ knowledge_base_uuid: Optional[pulumi.Input[_builtins.str]] = None,
123
+ spaces_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs', 'GenaiKnowledgeBaseDataSourceSpacesDataSourceArgsDict']]] = None,
124
+ web_crawler_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs', 'GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgsDict']]] = None,
125
+ __props__=None):
126
+ """
127
+ Create a GenaiKnowledgeBaseDataSource resource with the given unique name, props, and options.
128
+ :param str resource_name: The name of the resource.
129
+ :param pulumi.ResourceOptions opts: Options for the resource.
130
+ :param pulumi.Input[_builtins.str] knowledge_base_uuid: UUID of the Knowledge Base
131
+ """
132
+ ...
133
+ @overload
134
+ def __init__(__self__,
135
+ resource_name: str,
136
+ args: GenaiKnowledgeBaseDataSourceInitArgs,
137
+ opts: Optional[pulumi.ResourceOptions] = None):
138
+ """
139
+ Create a GenaiKnowledgeBaseDataSource resource with the given unique name, props, and options.
140
+ :param str resource_name: The name of the resource.
141
+ :param GenaiKnowledgeBaseDataSourceInitArgs args: The arguments to use to populate this resource's properties.
142
+ :param pulumi.ResourceOptions opts: Options for the resource.
143
+ """
144
+ ...
145
+ def __init__(__self__, resource_name: str, *args, **kwargs):
146
+ resource_args, opts = _utilities.get_resource_args_opts(GenaiKnowledgeBaseDataSourceInitArgs, pulumi.ResourceOptions, *args, **kwargs)
147
+ if resource_args is not None:
148
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
149
+ else:
150
+ __self__._internal_init(resource_name, *args, **kwargs)
151
+
152
+ def _internal_init(__self__,
153
+ resource_name: str,
154
+ opts: Optional[pulumi.ResourceOptions] = None,
155
+ knowledge_base_uuid: Optional[pulumi.Input[_builtins.str]] = None,
156
+ spaces_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs', 'GenaiKnowledgeBaseDataSourceSpacesDataSourceArgsDict']]] = None,
157
+ web_crawler_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs', 'GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgsDict']]] = None,
158
+ __props__=None):
159
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
160
+ if not isinstance(opts, pulumi.ResourceOptions):
161
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
162
+ if opts.id is None:
163
+ if __props__ is not None:
164
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
165
+ __props__ = GenaiKnowledgeBaseDataSourceInitArgs.__new__(GenaiKnowledgeBaseDataSourceInitArgs)
166
+
167
+ if knowledge_base_uuid is None and not opts.urn:
168
+ raise TypeError("Missing required property 'knowledge_base_uuid'")
169
+ __props__.__dict__["knowledge_base_uuid"] = knowledge_base_uuid
170
+ __props__.__dict__["spaces_data_source"] = spaces_data_source
171
+ __props__.__dict__["web_crawler_data_source"] = web_crawler_data_source
172
+ super(GenaiKnowledgeBaseDataSource, __self__).__init__(
173
+ 'digitalocean:index/genaiKnowledgeBaseDataSource:GenaiKnowledgeBaseDataSource',
174
+ resource_name,
175
+ __props__,
176
+ opts)
177
+
178
+ @staticmethod
179
+ def get(resource_name: str,
180
+ id: pulumi.Input[str],
181
+ opts: Optional[pulumi.ResourceOptions] = None,
182
+ knowledge_base_uuid: Optional[pulumi.Input[_builtins.str]] = None,
183
+ spaces_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceSpacesDataSourceArgs', 'GenaiKnowledgeBaseDataSourceSpacesDataSourceArgsDict']]] = None,
184
+ web_crawler_data_source: Optional[pulumi.Input[Union['GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgs', 'GenaiKnowledgeBaseDataSourceWebCrawlerDataSourceArgsDict']]] = None) -> 'GenaiKnowledgeBaseDataSource':
185
+ """
186
+ Get an existing GenaiKnowledgeBaseDataSource resource's state with the given name, id, and optional extra
187
+ properties used to qualify the lookup.
188
+
189
+ :param str resource_name: The unique name of the resulting resource.
190
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
191
+ :param pulumi.ResourceOptions opts: Options for the resource.
192
+ :param pulumi.Input[_builtins.str] knowledge_base_uuid: UUID of the Knowledge Base
193
+ """
194
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
195
+
196
+ __props__ = _GenaiKnowledgeBaseDataSourceState.__new__(_GenaiKnowledgeBaseDataSourceState)
197
+
198
+ __props__.__dict__["knowledge_base_uuid"] = knowledge_base_uuid
199
+ __props__.__dict__["spaces_data_source"] = spaces_data_source
200
+ __props__.__dict__["web_crawler_data_source"] = web_crawler_data_source
201
+ return GenaiKnowledgeBaseDataSource(resource_name, opts=opts, __props__=__props__)
202
+
203
+ @_builtins.property
204
+ @pulumi.getter(name="knowledgeBaseUuid")
205
+ def knowledge_base_uuid(self) -> pulumi.Output[_builtins.str]:
206
+ """
207
+ UUID of the Knowledge Base
208
+ """
209
+ return pulumi.get(self, "knowledge_base_uuid")
210
+
211
+ @_builtins.property
212
+ @pulumi.getter(name="spacesDataSource")
213
+ def spaces_data_source(self) -> pulumi.Output[Optional['outputs.GenaiKnowledgeBaseDataSourceSpacesDataSource']]:
214
+ return pulumi.get(self, "spaces_data_source")
215
+
216
+ @_builtins.property
217
+ @pulumi.getter(name="webCrawlerDataSource")
218
+ def web_crawler_data_source(self) -> pulumi.Output[Optional['outputs.GenaiKnowledgeBaseDataSourceWebCrawlerDataSource']]:
219
+ return pulumi.get(self, "web_crawler_data_source")
220
+
@@ -0,0 +1,386 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['GenaiOpenaiApiKeyArgs', 'GenaiOpenaiApiKey']
20
+
21
+ @pulumi.input_type
22
+ class GenaiOpenaiApiKeyArgs:
23
+ def __init__(__self__, *,
24
+ api_key: pulumi.Input[_builtins.str],
25
+ models: Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]] = None,
26
+ name: Optional[pulumi.Input[_builtins.str]] = None):
27
+ """
28
+ The set of arguments for constructing a GenaiOpenaiApiKey resource.
29
+ :param pulumi.Input[_builtins.str] api_key: The OpenAI API key.
30
+ :param pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]] models: Models associated with the OpenAI API key
31
+ :param pulumi.Input[_builtins.str] name: A name for the API key.
32
+ """
33
+ pulumi.set(__self__, "api_key", api_key)
34
+ if models is not None:
35
+ pulumi.set(__self__, "models", models)
36
+ if name is not None:
37
+ pulumi.set(__self__, "name", name)
38
+
39
+ @_builtins.property
40
+ @pulumi.getter(name="apiKey")
41
+ def api_key(self) -> pulumi.Input[_builtins.str]:
42
+ """
43
+ The OpenAI API key.
44
+ """
45
+ return pulumi.get(self, "api_key")
46
+
47
+ @api_key.setter
48
+ def api_key(self, value: pulumi.Input[_builtins.str]):
49
+ pulumi.set(self, "api_key", value)
50
+
51
+ @_builtins.property
52
+ @pulumi.getter
53
+ def models(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]]:
54
+ """
55
+ Models associated with the OpenAI API key
56
+ """
57
+ return pulumi.get(self, "models")
58
+
59
+ @models.setter
60
+ def models(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]]):
61
+ pulumi.set(self, "models", value)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter
65
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
66
+ """
67
+ A name for the API key.
68
+ """
69
+ return pulumi.get(self, "name")
70
+
71
+ @name.setter
72
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
73
+ pulumi.set(self, "name", value)
74
+
75
+
76
+ @pulumi.input_type
77
+ class _GenaiOpenaiApiKeyState:
78
+ def __init__(__self__, *,
79
+ api_key: Optional[pulumi.Input[_builtins.str]] = None,
80
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
81
+ created_by: Optional[pulumi.Input[_builtins.str]] = None,
82
+ deleted_at: Optional[pulumi.Input[_builtins.str]] = None,
83
+ models: Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]] = None,
84
+ name: Optional[pulumi.Input[_builtins.str]] = None,
85
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
86
+ uuid: Optional[pulumi.Input[_builtins.str]] = None):
87
+ """
88
+ Input properties used for looking up and filtering GenaiOpenaiApiKey resources.
89
+ :param pulumi.Input[_builtins.str] api_key: The OpenAI API key.
90
+ :param pulumi.Input[_builtins.str] created_at: When the API key was created.
91
+ :param pulumi.Input[_builtins.str] created_by: Who created the API key.
92
+ :param pulumi.Input[_builtins.str] deleted_at: When the API key was deleted.
93
+ :param pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]] models: Models associated with the OpenAI API key
94
+ :param pulumi.Input[_builtins.str] name: A name for the API key.
95
+ :param pulumi.Input[_builtins.str] updated_at: When the API key was last updated.
96
+ :param pulumi.Input[_builtins.str] uuid: The UUID of the API key.
97
+ """
98
+ if api_key is not None:
99
+ pulumi.set(__self__, "api_key", api_key)
100
+ if created_at is not None:
101
+ pulumi.set(__self__, "created_at", created_at)
102
+ if created_by is not None:
103
+ pulumi.set(__self__, "created_by", created_by)
104
+ if deleted_at is not None:
105
+ pulumi.set(__self__, "deleted_at", deleted_at)
106
+ if models is not None:
107
+ pulumi.set(__self__, "models", models)
108
+ if name is not None:
109
+ pulumi.set(__self__, "name", name)
110
+ if updated_at is not None:
111
+ pulumi.set(__self__, "updated_at", updated_at)
112
+ if uuid is not None:
113
+ pulumi.set(__self__, "uuid", uuid)
114
+
115
+ @_builtins.property
116
+ @pulumi.getter(name="apiKey")
117
+ def api_key(self) -> Optional[pulumi.Input[_builtins.str]]:
118
+ """
119
+ The OpenAI API key.
120
+ """
121
+ return pulumi.get(self, "api_key")
122
+
123
+ @api_key.setter
124
+ def api_key(self, value: Optional[pulumi.Input[_builtins.str]]):
125
+ pulumi.set(self, "api_key", value)
126
+
127
+ @_builtins.property
128
+ @pulumi.getter(name="createdAt")
129
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
130
+ """
131
+ When the API key was created.
132
+ """
133
+ return pulumi.get(self, "created_at")
134
+
135
+ @created_at.setter
136
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "created_at", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="createdBy")
141
+ def created_by(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ Who created the API key.
144
+ """
145
+ return pulumi.get(self, "created_by")
146
+
147
+ @created_by.setter
148
+ def created_by(self, value: Optional[pulumi.Input[_builtins.str]]):
149
+ pulumi.set(self, "created_by", value)
150
+
151
+ @_builtins.property
152
+ @pulumi.getter(name="deletedAt")
153
+ def deleted_at(self) -> Optional[pulumi.Input[_builtins.str]]:
154
+ """
155
+ When the API key was deleted.
156
+ """
157
+ return pulumi.get(self, "deleted_at")
158
+
159
+ @deleted_at.setter
160
+ def deleted_at(self, value: Optional[pulumi.Input[_builtins.str]]):
161
+ pulumi.set(self, "deleted_at", value)
162
+
163
+ @_builtins.property
164
+ @pulumi.getter
165
+ def models(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]]:
166
+ """
167
+ Models associated with the OpenAI API key
168
+ """
169
+ return pulumi.get(self, "models")
170
+
171
+ @models.setter
172
+ def models(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GenaiOpenaiApiKeyModelArgs']]]]):
173
+ pulumi.set(self, "models", value)
174
+
175
+ @_builtins.property
176
+ @pulumi.getter
177
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
178
+ """
179
+ A name for the API key.
180
+ """
181
+ return pulumi.get(self, "name")
182
+
183
+ @name.setter
184
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
185
+ pulumi.set(self, "name", value)
186
+
187
+ @_builtins.property
188
+ @pulumi.getter(name="updatedAt")
189
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
190
+ """
191
+ When the API key was last updated.
192
+ """
193
+ return pulumi.get(self, "updated_at")
194
+
195
+ @updated_at.setter
196
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
197
+ pulumi.set(self, "updated_at", value)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter
201
+ def uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
202
+ """
203
+ The UUID of the API key.
204
+ """
205
+ return pulumi.get(self, "uuid")
206
+
207
+ @uuid.setter
208
+ def uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
209
+ pulumi.set(self, "uuid", value)
210
+
211
+
212
+ @pulumi.type_token("digitalocean:index/genaiOpenaiApiKey:GenaiOpenaiApiKey")
213
+ class GenaiOpenaiApiKey(pulumi.CustomResource):
214
+ @overload
215
+ def __init__(__self__,
216
+ resource_name: str,
217
+ opts: Optional[pulumi.ResourceOptions] = None,
218
+ api_key: Optional[pulumi.Input[_builtins.str]] = None,
219
+ models: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GenaiOpenaiApiKeyModelArgs', 'GenaiOpenaiApiKeyModelArgsDict']]]]] = None,
220
+ name: Optional[pulumi.Input[_builtins.str]] = None,
221
+ __props__=None):
222
+ """
223
+ Create a GenaiOpenaiApiKey resource with the given unique name, props, and options.
224
+ :param str resource_name: The name of the resource.
225
+ :param pulumi.ResourceOptions opts: Options for the resource.
226
+ :param pulumi.Input[_builtins.str] api_key: The OpenAI API key.
227
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GenaiOpenaiApiKeyModelArgs', 'GenaiOpenaiApiKeyModelArgsDict']]]] models: Models associated with the OpenAI API key
228
+ :param pulumi.Input[_builtins.str] name: A name for the API key.
229
+ """
230
+ ...
231
+ @overload
232
+ def __init__(__self__,
233
+ resource_name: str,
234
+ args: GenaiOpenaiApiKeyArgs,
235
+ opts: Optional[pulumi.ResourceOptions] = None):
236
+ """
237
+ Create a GenaiOpenaiApiKey resource with the given unique name, props, and options.
238
+ :param str resource_name: The name of the resource.
239
+ :param GenaiOpenaiApiKeyArgs args: The arguments to use to populate this resource's properties.
240
+ :param pulumi.ResourceOptions opts: Options for the resource.
241
+ """
242
+ ...
243
+ def __init__(__self__, resource_name: str, *args, **kwargs):
244
+ resource_args, opts = _utilities.get_resource_args_opts(GenaiOpenaiApiKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
245
+ if resource_args is not None:
246
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
247
+ else:
248
+ __self__._internal_init(resource_name, *args, **kwargs)
249
+
250
+ def _internal_init(__self__,
251
+ resource_name: str,
252
+ opts: Optional[pulumi.ResourceOptions] = None,
253
+ api_key: Optional[pulumi.Input[_builtins.str]] = None,
254
+ models: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GenaiOpenaiApiKeyModelArgs', 'GenaiOpenaiApiKeyModelArgsDict']]]]] = None,
255
+ name: Optional[pulumi.Input[_builtins.str]] = None,
256
+ __props__=None):
257
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
258
+ if not isinstance(opts, pulumi.ResourceOptions):
259
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
260
+ if opts.id is None:
261
+ if __props__ is not None:
262
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
263
+ __props__ = GenaiOpenaiApiKeyArgs.__new__(GenaiOpenaiApiKeyArgs)
264
+
265
+ if api_key is None and not opts.urn:
266
+ raise TypeError("Missing required property 'api_key'")
267
+ __props__.__dict__["api_key"] = api_key
268
+ __props__.__dict__["models"] = models
269
+ __props__.__dict__["name"] = name
270
+ __props__.__dict__["created_at"] = None
271
+ __props__.__dict__["created_by"] = None
272
+ __props__.__dict__["deleted_at"] = None
273
+ __props__.__dict__["updated_at"] = None
274
+ __props__.__dict__["uuid"] = None
275
+ super(GenaiOpenaiApiKey, __self__).__init__(
276
+ 'digitalocean:index/genaiOpenaiApiKey:GenaiOpenaiApiKey',
277
+ resource_name,
278
+ __props__,
279
+ opts)
280
+
281
+ @staticmethod
282
+ def get(resource_name: str,
283
+ id: pulumi.Input[str],
284
+ opts: Optional[pulumi.ResourceOptions] = None,
285
+ api_key: Optional[pulumi.Input[_builtins.str]] = None,
286
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
287
+ created_by: Optional[pulumi.Input[_builtins.str]] = None,
288
+ deleted_at: Optional[pulumi.Input[_builtins.str]] = None,
289
+ models: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GenaiOpenaiApiKeyModelArgs', 'GenaiOpenaiApiKeyModelArgsDict']]]]] = None,
290
+ name: Optional[pulumi.Input[_builtins.str]] = None,
291
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
292
+ uuid: Optional[pulumi.Input[_builtins.str]] = None) -> 'GenaiOpenaiApiKey':
293
+ """
294
+ Get an existing GenaiOpenaiApiKey resource's state with the given name, id, and optional extra
295
+ properties used to qualify the lookup.
296
+
297
+ :param str resource_name: The unique name of the resulting resource.
298
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
299
+ :param pulumi.ResourceOptions opts: Options for the resource.
300
+ :param pulumi.Input[_builtins.str] api_key: The OpenAI API key.
301
+ :param pulumi.Input[_builtins.str] created_at: When the API key was created.
302
+ :param pulumi.Input[_builtins.str] created_by: Who created the API key.
303
+ :param pulumi.Input[_builtins.str] deleted_at: When the API key was deleted.
304
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GenaiOpenaiApiKeyModelArgs', 'GenaiOpenaiApiKeyModelArgsDict']]]] models: Models associated with the OpenAI API key
305
+ :param pulumi.Input[_builtins.str] name: A name for the API key.
306
+ :param pulumi.Input[_builtins.str] updated_at: When the API key was last updated.
307
+ :param pulumi.Input[_builtins.str] uuid: The UUID of the API key.
308
+ """
309
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
310
+
311
+ __props__ = _GenaiOpenaiApiKeyState.__new__(_GenaiOpenaiApiKeyState)
312
+
313
+ __props__.__dict__["api_key"] = api_key
314
+ __props__.__dict__["created_at"] = created_at
315
+ __props__.__dict__["created_by"] = created_by
316
+ __props__.__dict__["deleted_at"] = deleted_at
317
+ __props__.__dict__["models"] = models
318
+ __props__.__dict__["name"] = name
319
+ __props__.__dict__["updated_at"] = updated_at
320
+ __props__.__dict__["uuid"] = uuid
321
+ return GenaiOpenaiApiKey(resource_name, opts=opts, __props__=__props__)
322
+
323
+ @_builtins.property
324
+ @pulumi.getter(name="apiKey")
325
+ def api_key(self) -> pulumi.Output[_builtins.str]:
326
+ """
327
+ The OpenAI API key.
328
+ """
329
+ return pulumi.get(self, "api_key")
330
+
331
+ @_builtins.property
332
+ @pulumi.getter(name="createdAt")
333
+ def created_at(self) -> pulumi.Output[_builtins.str]:
334
+ """
335
+ When the API key was created.
336
+ """
337
+ return pulumi.get(self, "created_at")
338
+
339
+ @_builtins.property
340
+ @pulumi.getter(name="createdBy")
341
+ def created_by(self) -> pulumi.Output[_builtins.str]:
342
+ """
343
+ Who created the API key.
344
+ """
345
+ return pulumi.get(self, "created_by")
346
+
347
+ @_builtins.property
348
+ @pulumi.getter(name="deletedAt")
349
+ def deleted_at(self) -> pulumi.Output[_builtins.str]:
350
+ """
351
+ When the API key was deleted.
352
+ """
353
+ return pulumi.get(self, "deleted_at")
354
+
355
+ @_builtins.property
356
+ @pulumi.getter
357
+ def models(self) -> pulumi.Output[Sequence['outputs.GenaiOpenaiApiKeyModel']]:
358
+ """
359
+ Models associated with the OpenAI API key
360
+ """
361
+ return pulumi.get(self, "models")
362
+
363
+ @_builtins.property
364
+ @pulumi.getter
365
+ def name(self) -> pulumi.Output[_builtins.str]:
366
+ """
367
+ A name for the API key.
368
+ """
369
+ return pulumi.get(self, "name")
370
+
371
+ @_builtins.property
372
+ @pulumi.getter(name="updatedAt")
373
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
374
+ """
375
+ When the API key was last updated.
376
+ """
377
+ return pulumi.get(self, "updated_at")
378
+
379
+ @_builtins.property
380
+ @pulumi.getter
381
+ def uuid(self) -> pulumi.Output[_builtins.str]:
382
+ """
383
+ The UUID of the API key.
384
+ """
385
+ return pulumi.get(self, "uuid")
386
+
@@ -27,7 +27,7 @@ class GetDatabaseClusterResult:
27
27
  """
28
28
  A collection of values returned by getDatabaseCluster.
29
29
  """
30
- def __init__(__self__, database=None, engine=None, host=None, id=None, maintenance_windows=None, name=None, node_count=None, password=None, port=None, private_host=None, private_network_uuid=None, private_uri=None, project_id=None, region=None, size=None, storage_size_mib=None, tags=None, ui_database=None, ui_host=None, ui_password=None, ui_port=None, ui_uri=None, ui_user=None, uri=None, urn=None, user=None, version=None):
30
+ def __init__(__self__, database=None, engine=None, host=None, id=None, maintenance_windows=None, metrics_endpoints=None, name=None, node_count=None, password=None, port=None, private_host=None, private_network_uuid=None, private_uri=None, project_id=None, region=None, size=None, storage_size_mib=None, tags=None, ui_database=None, ui_host=None, ui_password=None, ui_port=None, ui_uri=None, ui_user=None, uri=None, urn=None, user=None, version=None):
31
31
  if database and not isinstance(database, str):
32
32
  raise TypeError("Expected argument 'database' to be a str")
33
33
  pulumi.set(__self__, "database", database)
@@ -43,6 +43,9 @@ class GetDatabaseClusterResult:
43
43
  if maintenance_windows and not isinstance(maintenance_windows, list):
44
44
  raise TypeError("Expected argument 'maintenance_windows' to be a list")
45
45
  pulumi.set(__self__, "maintenance_windows", maintenance_windows)
46
+ if metrics_endpoints and not isinstance(metrics_endpoints, list):
47
+ raise TypeError("Expected argument 'metrics_endpoints' to be a list")
48
+ pulumi.set(__self__, "metrics_endpoints", metrics_endpoints)
46
49
  if name and not isinstance(name, str):
47
50
  raise TypeError("Expected argument 'name' to be a str")
48
51
  pulumi.set(__self__, "name", name)
@@ -150,6 +153,14 @@ class GetDatabaseClusterResult:
150
153
  """
151
154
  return pulumi.get(self, "maintenance_windows")
152
155
 
156
+ @_builtins.property
157
+ @pulumi.getter(name="metricsEndpoints")
158
+ def metrics_endpoints(self) -> Sequence[_builtins.str]:
159
+ """
160
+ A list of metrics endpoints for the database cluster, providing URLs to access Prometheus-compatible metrics.
161
+ """
162
+ return pulumi.get(self, "metrics_endpoints")
163
+
153
164
  @_builtins.property
154
165
  @pulumi.getter
155
166
  def name(self) -> _builtins.str:
@@ -329,6 +340,7 @@ class AwaitableGetDatabaseClusterResult(GetDatabaseClusterResult):
329
340
  host=self.host,
330
341
  id=self.id,
331
342
  maintenance_windows=self.maintenance_windows,
343
+ metrics_endpoints=self.metrics_endpoints,
332
344
  name=self.name,
333
345
  node_count=self.node_count,
334
346
  password=self.password,
@@ -384,6 +396,7 @@ def get_database_cluster(name: Optional[_builtins.str] = None,
384
396
  host=pulumi.get(__ret__, 'host'),
385
397
  id=pulumi.get(__ret__, 'id'),
386
398
  maintenance_windows=pulumi.get(__ret__, 'maintenance_windows'),
399
+ metrics_endpoints=pulumi.get(__ret__, 'metrics_endpoints'),
387
400
  name=pulumi.get(__ret__, 'name'),
388
401
  node_count=pulumi.get(__ret__, 'node_count'),
389
402
  password=pulumi.get(__ret__, 'password'),
@@ -436,6 +449,7 @@ def get_database_cluster_output(name: Optional[pulumi.Input[_builtins.str]] = No
436
449
  host=pulumi.get(__response__, 'host'),
437
450
  id=pulumi.get(__response__, 'id'),
438
451
  maintenance_windows=pulumi.get(__response__, 'maintenance_windows'),
452
+ metrics_endpoints=pulumi.get(__response__, 'metrics_endpoints'),
439
453
  name=pulumi.get(__response__, 'name'),
440
454
  node_count=pulumi.get(__response__, 'node_count'),
441
455
  password=pulumi.get(__response__, 'password'),