pulumi-digitalocean 4.46.0a1747979086__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.
- pulumi_digitalocean/__init__.py +195 -2
- pulumi_digitalocean/_enums.py +10 -10
- pulumi_digitalocean/_inputs.py +16851 -4937
- pulumi_digitalocean/_utilities.py +1 -1
- pulumi_digitalocean/app.py +237 -89
- pulumi_digitalocean/byoip_prefix.py +452 -0
- pulumi_digitalocean/cdn.py +105 -106
- pulumi_digitalocean/certificate.py +138 -139
- pulumi_digitalocean/config/__init__.py +2 -2
- pulumi_digitalocean/config/__init__.pyi +2 -3
- pulumi_digitalocean/config/vars.py +11 -12
- pulumi_digitalocean/container_registries.py +285 -0
- pulumi_digitalocean/container_registry.py +89 -90
- pulumi_digitalocean/container_registry_docker_credentials.py +83 -84
- pulumi_digitalocean/custom_image.py +176 -177
- pulumi_digitalocean/database_cluster.py +375 -348
- pulumi_digitalocean/database_connection_pool.py +158 -159
- pulumi_digitalocean/database_db.py +36 -37
- pulumi_digitalocean/database_firewall.py +22 -23
- pulumi_digitalocean/database_kafka_config.py +308 -309
- pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
- pulumi_digitalocean/database_kafka_topic.py +82 -83
- pulumi_digitalocean/database_logsink_opensearch.py +680 -0
- pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
- pulumi_digitalocean/database_mongodb_config.py +104 -105
- pulumi_digitalocean/database_mysql_config.py +478 -479
- pulumi_digitalocean/database_online_migration.py +460 -0
- pulumi_digitalocean/database_opensearch_config.py +665 -666
- pulumi_digitalocean/database_postgresql_config.py +858 -859
- pulumi_digitalocean/database_redis_config.py +210 -207
- pulumi_digitalocean/database_replica.py +198 -199
- pulumi_digitalocean/database_user.py +92 -93
- pulumi_digitalocean/database_valkey_config.py +776 -0
- pulumi_digitalocean/dns_record.py +181 -182
- pulumi_digitalocean/domain.py +54 -55
- pulumi_digitalocean/droplet.py +389 -390
- pulumi_digitalocean/droplet_autoscale.py +54 -55
- pulumi_digitalocean/droplet_snapshot.py +72 -73
- pulumi_digitalocean/firewall.py +79 -80
- pulumi_digitalocean/floating_ip.py +62 -63
- pulumi_digitalocean/floating_ip_assignment.py +36 -37
- pulumi_digitalocean/genai_agent.py +1903 -0
- pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
- pulumi_digitalocean/genai_agent_route.py +354 -0
- pulumi_digitalocean/genai_function.py +464 -0
- pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
- pulumi_digitalocean/genai_knowledge_base.py +627 -0
- pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
- pulumi_digitalocean/genai_openai_api_key.py +386 -0
- pulumi_digitalocean/get_account.py +18 -19
- pulumi_digitalocean/get_app.py +28 -29
- pulumi_digitalocean/get_byoip_prefix.py +214 -0
- pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
- pulumi_digitalocean/get_certificate.py +22 -23
- pulumi_digitalocean/get_container_registries.py +151 -0
- pulumi_digitalocean/get_container_registry.py +22 -23
- pulumi_digitalocean/get_database_ca.py +12 -13
- pulumi_digitalocean/get_database_cluster.py +76 -63
- pulumi_digitalocean/get_database_connection_pool.py +36 -37
- pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
- pulumi_digitalocean/get_database_replica.py +46 -47
- pulumi_digitalocean/get_database_user.py +27 -28
- pulumi_digitalocean/get_domain.py +16 -17
- pulumi_digitalocean/get_domains.py +7 -8
- pulumi_digitalocean/get_droplet.py +72 -73
- pulumi_digitalocean/get_droplet_autoscale.py +23 -24
- pulumi_digitalocean/get_droplet_snapshot.py +38 -39
- pulumi_digitalocean/get_droplets.py +13 -14
- pulumi_digitalocean/get_firewall.py +31 -32
- pulumi_digitalocean/get_floating_ip.py +16 -17
- pulumi_digitalocean/get_genai_agent.py +572 -0
- pulumi_digitalocean/get_genai_agent_versions.py +128 -0
- pulumi_digitalocean/get_genai_agents.py +128 -0
- pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
- pulumi_digitalocean/get_genai_indexing_job.py +239 -0
- pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
- pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
- pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
- pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
- pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
- pulumi_digitalocean/get_genai_models.py +113 -0
- pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
- pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
- pulumi_digitalocean/get_genai_regions.py +113 -0
- pulumi_digitalocean/get_image.py +50 -51
- pulumi_digitalocean/get_images.py +7 -8
- pulumi_digitalocean/get_kubernetes_cluster.py +117 -58
- pulumi_digitalocean/get_kubernetes_versions.py +14 -15
- pulumi_digitalocean/get_load_balancer.py +60 -61
- pulumi_digitalocean/get_nfs.py +205 -0
- pulumi_digitalocean/get_nfs_snapshot.py +188 -0
- pulumi_digitalocean/get_partner_attachment.py +61 -25
- pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
- pulumi_digitalocean/get_project.py +32 -33
- pulumi_digitalocean/get_projects.py +7 -8
- pulumi_digitalocean/get_record.py +32 -33
- pulumi_digitalocean/get_records.py +13 -14
- pulumi_digitalocean/get_region.py +18 -19
- pulumi_digitalocean/get_regions.py +7 -8
- pulumi_digitalocean/get_reserved_ip.py +16 -17
- pulumi_digitalocean/get_reserved_ipv6.py +16 -17
- pulumi_digitalocean/get_sizes.py +141 -8
- pulumi_digitalocean/get_spaces_bucket.py +22 -23
- pulumi_digitalocean/get_spaces_bucket_object.py +58 -59
- pulumi_digitalocean/get_spaces_bucket_objects.py +46 -47
- pulumi_digitalocean/get_spaces_buckets.py +7 -8
- pulumi_digitalocean/get_spaces_key.py +15 -16
- pulumi_digitalocean/get_ssh_key.py +14 -15
- pulumi_digitalocean/get_ssh_keys.py +7 -8
- pulumi_digitalocean/get_tag.py +22 -23
- pulumi_digitalocean/get_tags.py +7 -8
- pulumi_digitalocean/get_volume.py +34 -35
- pulumi_digitalocean/get_volume_snapshot.py +40 -41
- pulumi_digitalocean/get_vpc.py +30 -31
- pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
- pulumi_digitalocean/get_vpc_peering.py +24 -25
- pulumi_digitalocean/kubernetes_cluster.py +483 -296
- pulumi_digitalocean/kubernetes_node_pool.py +169 -170
- pulumi_digitalocean/load_balancer.py +375 -376
- pulumi_digitalocean/monitor_alert.py +150 -151
- pulumi_digitalocean/nfs.py +481 -0
- pulumi_digitalocean/nfs_attachment.py +289 -0
- pulumi_digitalocean/nfs_snapshot.py +379 -0
- pulumi_digitalocean/outputs.py +26671 -7785
- pulumi_digitalocean/partner_attachment.py +231 -110
- pulumi_digitalocean/project.py +140 -141
- pulumi_digitalocean/project_resources.py +36 -37
- pulumi_digitalocean/provider.py +85 -86
- pulumi_digitalocean/pulumi-plugin.json +1 -1
- pulumi_digitalocean/reserved_ip.py +62 -63
- pulumi_digitalocean/reserved_ip_assignment.py +36 -37
- pulumi_digitalocean/reserved_ipv6.py +64 -65
- pulumi_digitalocean/reserved_ipv6_assignment.py +36 -37
- pulumi_digitalocean/spaces_bucket.py +106 -107
- pulumi_digitalocean/spaces_bucket_cors_configuration.py +39 -40
- pulumi_digitalocean/spaces_bucket_logging.py +70 -71
- pulumi_digitalocean/spaces_bucket_object.py +283 -284
- pulumi_digitalocean/spaces_bucket_policy.py +53 -54
- pulumi_digitalocean/spaces_key.py +49 -50
- pulumi_digitalocean/ssh_key.py +45 -46
- pulumi_digitalocean/tag.py +73 -74
- pulumi_digitalocean/uptime_alert.py +107 -108
- pulumi_digitalocean/uptime_check.py +87 -88
- pulumi_digitalocean/volume.py +182 -183
- pulumi_digitalocean/volume_attachment.py +36 -37
- pulumi_digitalocean/volume_snapshot.py +89 -90
- pulumi_digitalocean/vpc.py +97 -98
- pulumi_digitalocean/vpc_nat_gateway.py +722 -0
- pulumi_digitalocean/vpc_peering.py +54 -59
- {pulumi_digitalocean-4.46.0a1747979086.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +1 -1
- pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
- {pulumi_digitalocean-4.46.0a1747979086.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
- pulumi_digitalocean-4.46.0a1747979086.dist-info/RECORD +0 -113
- {pulumi_digitalocean-4.46.0a1747979086.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,680 @@
|
|
|
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__ = ['DatabaseLogsinkOpensearchArgs', 'DatabaseLogsinkOpensearch']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class DatabaseLogsinkOpensearchArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
cluster_id: pulumi.Input[_builtins.str],
|
|
23
|
+
endpoint: pulumi.Input[_builtins.str],
|
|
24
|
+
index_prefix: pulumi.Input[_builtins.str],
|
|
25
|
+
ca_cert: Optional[pulumi.Input[_builtins.str]] = None,
|
|
26
|
+
index_days_max: Optional[pulumi.Input[_builtins.int]] = None,
|
|
27
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
|
29
|
+
"""
|
|
30
|
+
The set of arguments for constructing a DatabaseLogsinkOpensearch resource.
|
|
31
|
+
:param pulumi.Input[_builtins.str] cluster_id: UUID of the source database cluster that will forward logs.
|
|
32
|
+
:param pulumi.Input[_builtins.str] endpoint: HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
33
|
+
:param pulumi.Input[_builtins.str] index_prefix: Prefix for the indices where logs will be stored.
|
|
34
|
+
:param pulumi.Input[_builtins.str] ca_cert: CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
35
|
+
:param pulumi.Input[_builtins.int] index_days_max: Maximum number of days to retain indices. Must be 1 or greater.
|
|
36
|
+
:param pulumi.Input[_builtins.str] name: Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
37
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
38
|
+
"""
|
|
39
|
+
pulumi.set(__self__, "cluster_id", cluster_id)
|
|
40
|
+
pulumi.set(__self__, "endpoint", endpoint)
|
|
41
|
+
pulumi.set(__self__, "index_prefix", index_prefix)
|
|
42
|
+
if ca_cert is not None:
|
|
43
|
+
pulumi.set(__self__, "ca_cert", ca_cert)
|
|
44
|
+
if index_days_max is not None:
|
|
45
|
+
pulumi.set(__self__, "index_days_max", index_days_max)
|
|
46
|
+
if name is not None:
|
|
47
|
+
pulumi.set(__self__, "name", name)
|
|
48
|
+
if timeout_seconds is not None:
|
|
49
|
+
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
|
50
|
+
|
|
51
|
+
@_builtins.property
|
|
52
|
+
@pulumi.getter(name="clusterId")
|
|
53
|
+
def cluster_id(self) -> pulumi.Input[_builtins.str]:
|
|
54
|
+
"""
|
|
55
|
+
UUID of the source database cluster that will forward logs.
|
|
56
|
+
"""
|
|
57
|
+
return pulumi.get(self, "cluster_id")
|
|
58
|
+
|
|
59
|
+
@cluster_id.setter
|
|
60
|
+
def cluster_id(self, value: pulumi.Input[_builtins.str]):
|
|
61
|
+
pulumi.set(self, "cluster_id", value)
|
|
62
|
+
|
|
63
|
+
@_builtins.property
|
|
64
|
+
@pulumi.getter
|
|
65
|
+
def endpoint(self) -> pulumi.Input[_builtins.str]:
|
|
66
|
+
"""
|
|
67
|
+
HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
68
|
+
"""
|
|
69
|
+
return pulumi.get(self, "endpoint")
|
|
70
|
+
|
|
71
|
+
@endpoint.setter
|
|
72
|
+
def endpoint(self, value: pulumi.Input[_builtins.str]):
|
|
73
|
+
pulumi.set(self, "endpoint", value)
|
|
74
|
+
|
|
75
|
+
@_builtins.property
|
|
76
|
+
@pulumi.getter(name="indexPrefix")
|
|
77
|
+
def index_prefix(self) -> pulumi.Input[_builtins.str]:
|
|
78
|
+
"""
|
|
79
|
+
Prefix for the indices where logs will be stored.
|
|
80
|
+
"""
|
|
81
|
+
return pulumi.get(self, "index_prefix")
|
|
82
|
+
|
|
83
|
+
@index_prefix.setter
|
|
84
|
+
def index_prefix(self, value: pulumi.Input[_builtins.str]):
|
|
85
|
+
pulumi.set(self, "index_prefix", value)
|
|
86
|
+
|
|
87
|
+
@_builtins.property
|
|
88
|
+
@pulumi.getter(name="caCert")
|
|
89
|
+
def ca_cert(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
90
|
+
"""
|
|
91
|
+
CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
92
|
+
"""
|
|
93
|
+
return pulumi.get(self, "ca_cert")
|
|
94
|
+
|
|
95
|
+
@ca_cert.setter
|
|
96
|
+
def ca_cert(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
97
|
+
pulumi.set(self, "ca_cert", value)
|
|
98
|
+
|
|
99
|
+
@_builtins.property
|
|
100
|
+
@pulumi.getter(name="indexDaysMax")
|
|
101
|
+
def index_days_max(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
102
|
+
"""
|
|
103
|
+
Maximum number of days to retain indices. Must be 1 or greater.
|
|
104
|
+
"""
|
|
105
|
+
return pulumi.get(self, "index_days_max")
|
|
106
|
+
|
|
107
|
+
@index_days_max.setter
|
|
108
|
+
def index_days_max(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
109
|
+
pulumi.set(self, "index_days_max", value)
|
|
110
|
+
|
|
111
|
+
@_builtins.property
|
|
112
|
+
@pulumi.getter
|
|
113
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
114
|
+
"""
|
|
115
|
+
Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
116
|
+
"""
|
|
117
|
+
return pulumi.get(self, "name")
|
|
118
|
+
|
|
119
|
+
@name.setter
|
|
120
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
121
|
+
pulumi.set(self, "name", value)
|
|
122
|
+
|
|
123
|
+
@_builtins.property
|
|
124
|
+
@pulumi.getter(name="timeoutSeconds")
|
|
125
|
+
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
126
|
+
"""
|
|
127
|
+
Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
128
|
+
"""
|
|
129
|
+
return pulumi.get(self, "timeout_seconds")
|
|
130
|
+
|
|
131
|
+
@timeout_seconds.setter
|
|
132
|
+
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
133
|
+
pulumi.set(self, "timeout_seconds", value)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
@pulumi.input_type
|
|
137
|
+
class _DatabaseLogsinkOpensearchState:
|
|
138
|
+
def __init__(__self__, *,
|
|
139
|
+
ca_cert: Optional[pulumi.Input[_builtins.str]] = None,
|
|
140
|
+
cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
141
|
+
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
142
|
+
index_days_max: Optional[pulumi.Input[_builtins.int]] = None,
|
|
143
|
+
index_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
144
|
+
logsink_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
145
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
146
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
|
147
|
+
"""
|
|
148
|
+
Input properties used for looking up and filtering DatabaseLogsinkOpensearch resources.
|
|
149
|
+
:param pulumi.Input[_builtins.str] ca_cert: CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
150
|
+
:param pulumi.Input[_builtins.str] cluster_id: UUID of the source database cluster that will forward logs.
|
|
151
|
+
:param pulumi.Input[_builtins.str] endpoint: HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
152
|
+
:param pulumi.Input[_builtins.int] index_days_max: Maximum number of days to retain indices. Must be 1 or greater.
|
|
153
|
+
:param pulumi.Input[_builtins.str] index_prefix: Prefix for the indices where logs will be stored.
|
|
154
|
+
:param pulumi.Input[_builtins.str] logsink_id: The unique identifier for the logsink as returned by the DigitalOcean API.
|
|
155
|
+
:param pulumi.Input[_builtins.str] name: Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
156
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
157
|
+
"""
|
|
158
|
+
if ca_cert is not None:
|
|
159
|
+
pulumi.set(__self__, "ca_cert", ca_cert)
|
|
160
|
+
if cluster_id is not None:
|
|
161
|
+
pulumi.set(__self__, "cluster_id", cluster_id)
|
|
162
|
+
if endpoint is not None:
|
|
163
|
+
pulumi.set(__self__, "endpoint", endpoint)
|
|
164
|
+
if index_days_max is not None:
|
|
165
|
+
pulumi.set(__self__, "index_days_max", index_days_max)
|
|
166
|
+
if index_prefix is not None:
|
|
167
|
+
pulumi.set(__self__, "index_prefix", index_prefix)
|
|
168
|
+
if logsink_id is not None:
|
|
169
|
+
pulumi.set(__self__, "logsink_id", logsink_id)
|
|
170
|
+
if name is not None:
|
|
171
|
+
pulumi.set(__self__, "name", name)
|
|
172
|
+
if timeout_seconds is not None:
|
|
173
|
+
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
|
174
|
+
|
|
175
|
+
@_builtins.property
|
|
176
|
+
@pulumi.getter(name="caCert")
|
|
177
|
+
def ca_cert(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
178
|
+
"""
|
|
179
|
+
CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
180
|
+
"""
|
|
181
|
+
return pulumi.get(self, "ca_cert")
|
|
182
|
+
|
|
183
|
+
@ca_cert.setter
|
|
184
|
+
def ca_cert(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
185
|
+
pulumi.set(self, "ca_cert", value)
|
|
186
|
+
|
|
187
|
+
@_builtins.property
|
|
188
|
+
@pulumi.getter(name="clusterId")
|
|
189
|
+
def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
190
|
+
"""
|
|
191
|
+
UUID of the source database cluster that will forward logs.
|
|
192
|
+
"""
|
|
193
|
+
return pulumi.get(self, "cluster_id")
|
|
194
|
+
|
|
195
|
+
@cluster_id.setter
|
|
196
|
+
def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
197
|
+
pulumi.set(self, "cluster_id", value)
|
|
198
|
+
|
|
199
|
+
@_builtins.property
|
|
200
|
+
@pulumi.getter
|
|
201
|
+
def endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
202
|
+
"""
|
|
203
|
+
HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
204
|
+
"""
|
|
205
|
+
return pulumi.get(self, "endpoint")
|
|
206
|
+
|
|
207
|
+
@endpoint.setter
|
|
208
|
+
def endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
209
|
+
pulumi.set(self, "endpoint", value)
|
|
210
|
+
|
|
211
|
+
@_builtins.property
|
|
212
|
+
@pulumi.getter(name="indexDaysMax")
|
|
213
|
+
def index_days_max(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
214
|
+
"""
|
|
215
|
+
Maximum number of days to retain indices. Must be 1 or greater.
|
|
216
|
+
"""
|
|
217
|
+
return pulumi.get(self, "index_days_max")
|
|
218
|
+
|
|
219
|
+
@index_days_max.setter
|
|
220
|
+
def index_days_max(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
221
|
+
pulumi.set(self, "index_days_max", value)
|
|
222
|
+
|
|
223
|
+
@_builtins.property
|
|
224
|
+
@pulumi.getter(name="indexPrefix")
|
|
225
|
+
def index_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
226
|
+
"""
|
|
227
|
+
Prefix for the indices where logs will be stored.
|
|
228
|
+
"""
|
|
229
|
+
return pulumi.get(self, "index_prefix")
|
|
230
|
+
|
|
231
|
+
@index_prefix.setter
|
|
232
|
+
def index_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
233
|
+
pulumi.set(self, "index_prefix", value)
|
|
234
|
+
|
|
235
|
+
@_builtins.property
|
|
236
|
+
@pulumi.getter(name="logsinkId")
|
|
237
|
+
def logsink_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
238
|
+
"""
|
|
239
|
+
The unique identifier for the logsink as returned by the DigitalOcean API.
|
|
240
|
+
"""
|
|
241
|
+
return pulumi.get(self, "logsink_id")
|
|
242
|
+
|
|
243
|
+
@logsink_id.setter
|
|
244
|
+
def logsink_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
245
|
+
pulumi.set(self, "logsink_id", value)
|
|
246
|
+
|
|
247
|
+
@_builtins.property
|
|
248
|
+
@pulumi.getter
|
|
249
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
250
|
+
"""
|
|
251
|
+
Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
252
|
+
"""
|
|
253
|
+
return pulumi.get(self, "name")
|
|
254
|
+
|
|
255
|
+
@name.setter
|
|
256
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
257
|
+
pulumi.set(self, "name", value)
|
|
258
|
+
|
|
259
|
+
@_builtins.property
|
|
260
|
+
@pulumi.getter(name="timeoutSeconds")
|
|
261
|
+
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
262
|
+
"""
|
|
263
|
+
Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
264
|
+
"""
|
|
265
|
+
return pulumi.get(self, "timeout_seconds")
|
|
266
|
+
|
|
267
|
+
@timeout_seconds.setter
|
|
268
|
+
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
269
|
+
pulumi.set(self, "timeout_seconds", value)
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
@pulumi.type_token("digitalocean:index/databaseLogsinkOpensearch:DatabaseLogsinkOpensearch")
|
|
273
|
+
class DatabaseLogsinkOpensearch(pulumi.CustomResource):
|
|
274
|
+
@overload
|
|
275
|
+
def __init__(__self__,
|
|
276
|
+
resource_name: str,
|
|
277
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
278
|
+
ca_cert: Optional[pulumi.Input[_builtins.str]] = None,
|
|
279
|
+
cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
280
|
+
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
281
|
+
index_days_max: Optional[pulumi.Input[_builtins.int]] = None,
|
|
282
|
+
index_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
283
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
284
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
285
|
+
__props__=None):
|
|
286
|
+
"""
|
|
287
|
+
Provides a DigitalOcean database logsink resource allowing you to forward logs from a managed database cluster to an external OpenSearch cluster or Elasticsearch endpoint.
|
|
288
|
+
|
|
289
|
+
This resource is compatible with both OpenSearch and Elasticsearch endpoints due to API compatibility. You can use this resource to connect to either service.
|
|
290
|
+
|
|
291
|
+
This resource supports the following DigitalOcean managed database engines:
|
|
292
|
+
|
|
293
|
+
* PostgreSQL
|
|
294
|
+
* MySQL
|
|
295
|
+
* Kafka
|
|
296
|
+
* Valkey
|
|
297
|
+
|
|
298
|
+
**Note**: MongoDB databases use a different log forwarding mechanism and require Datadog logsinks (not currently available in this provider).
|
|
299
|
+
|
|
300
|
+
## Example Usage
|
|
301
|
+
|
|
302
|
+
### Basic OpenSearch configuration
|
|
303
|
+
|
|
304
|
+
```python
|
|
305
|
+
import pulumi
|
|
306
|
+
import pulumi_digitalocean as digitalocean
|
|
307
|
+
|
|
308
|
+
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
309
|
+
name="example-postgres-cluster",
|
|
310
|
+
engine="pg",
|
|
311
|
+
version="15",
|
|
312
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
313
|
+
region=digitalocean.Region.NYC1,
|
|
314
|
+
node_count=1)
|
|
315
|
+
example = digitalocean.DatabaseLogsinkOpensearch("example",
|
|
316
|
+
cluster_id=postgres_example.id,
|
|
317
|
+
name="opensearch-logs",
|
|
318
|
+
endpoint="https://opensearch.example.com:9200",
|
|
319
|
+
index_prefix="db-logs",
|
|
320
|
+
index_days_max=7)
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### OpenSearch with authentication and CA certificate
|
|
324
|
+
|
|
325
|
+
```python
|
|
326
|
+
import pulumi
|
|
327
|
+
import pulumi_digitalocean as digitalocean
|
|
328
|
+
import pulumi_std as std
|
|
329
|
+
|
|
330
|
+
example_secure = digitalocean.DatabaseLogsinkOpensearch("example-secure",
|
|
331
|
+
cluster_id=postgres_example["id"],
|
|
332
|
+
name="opensearch-secure",
|
|
333
|
+
endpoint="https://user:password@opensearch.example.com:9200",
|
|
334
|
+
index_prefix="secure-logs",
|
|
335
|
+
index_days_max=14,
|
|
336
|
+
ca_cert=std.file(input="/path/to/ca.pem").result,
|
|
337
|
+
timeout_seconds=30)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Elasticsearch endpoint configuration
|
|
341
|
+
|
|
342
|
+
```python
|
|
343
|
+
import pulumi
|
|
344
|
+
import pulumi_digitalocean as digitalocean
|
|
345
|
+
|
|
346
|
+
elasticsearch = digitalocean.DatabaseLogsinkOpensearch("elasticsearch",
|
|
347
|
+
cluster_id=postgres_example["id"],
|
|
348
|
+
name="elasticsearch-logs",
|
|
349
|
+
endpoint="https://elasticsearch.example.com:9243",
|
|
350
|
+
index_prefix="es-logs",
|
|
351
|
+
index_days_max=30)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### MySQL to OpenSearch configuration
|
|
355
|
+
|
|
356
|
+
```python
|
|
357
|
+
import pulumi
|
|
358
|
+
import pulumi_digitalocean as digitalocean
|
|
359
|
+
|
|
360
|
+
mysql_example = digitalocean.DatabaseCluster("mysql-example",
|
|
361
|
+
name="example-mysql-cluster",
|
|
362
|
+
engine="mysql",
|
|
363
|
+
version="8",
|
|
364
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
365
|
+
region=digitalocean.Region.NYC1,
|
|
366
|
+
node_count=1)
|
|
367
|
+
mysql = digitalocean.DatabaseLogsinkOpensearch("mysql",
|
|
368
|
+
cluster_id=mysql_example.id,
|
|
369
|
+
name="mysql-logs",
|
|
370
|
+
endpoint="https://opensearch.example.com:9200",
|
|
371
|
+
index_prefix="mysql-logs",
|
|
372
|
+
index_days_max=7)
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
## Important Notes
|
|
376
|
+
|
|
377
|
+
### Elasticsearch Compatibility
|
|
378
|
+
This resource works with both OpenSearch and Elasticsearch endpoints due to their API compatibility. Use the same resource type regardless of whether you're connecting to OpenSearch or Elasticsearch.
|
|
379
|
+
|
|
380
|
+
### Managed OpenSearch with Trusted Sources
|
|
381
|
+
When forwarding logs to a DigitalOcean Managed OpenSearch cluster with trusted sources enabled, you must manually allow-list the IP addresses of your database cluster nodes.
|
|
382
|
+
|
|
383
|
+
### Authentication
|
|
384
|
+
Include authentication credentials directly in the endpoint URL using the format `https://username:password@host:port`. Alternatively, configure authentication on your OpenSearch/Elasticsearch cluster to accept connections from your database cluster's IP addresses.
|
|
385
|
+
|
|
386
|
+
## Import
|
|
387
|
+
|
|
388
|
+
Database logsink OpenSearch resources can be imported using the composite ID format `cluster_id,logsink_id`. For example:
|
|
389
|
+
|
|
390
|
+
```sh
|
|
391
|
+
$ pulumi import digitalocean:index/databaseLogsinkOpensearch:DatabaseLogsinkOpensearch example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,f38db7c8-1f31-4ce6-a2bc-475a116cca97
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**Note**: The cluster ID and logsink ID must be separated by a comma.
|
|
395
|
+
|
|
396
|
+
:param str resource_name: The name of the resource.
|
|
397
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
398
|
+
:param pulumi.Input[_builtins.str] ca_cert: CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
399
|
+
:param pulumi.Input[_builtins.str] cluster_id: UUID of the source database cluster that will forward logs.
|
|
400
|
+
:param pulumi.Input[_builtins.str] endpoint: HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
401
|
+
:param pulumi.Input[_builtins.int] index_days_max: Maximum number of days to retain indices. Must be 1 or greater.
|
|
402
|
+
:param pulumi.Input[_builtins.str] index_prefix: Prefix for the indices where logs will be stored.
|
|
403
|
+
:param pulumi.Input[_builtins.str] name: Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
404
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
405
|
+
"""
|
|
406
|
+
...
|
|
407
|
+
@overload
|
|
408
|
+
def __init__(__self__,
|
|
409
|
+
resource_name: str,
|
|
410
|
+
args: DatabaseLogsinkOpensearchArgs,
|
|
411
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
412
|
+
"""
|
|
413
|
+
Provides a DigitalOcean database logsink resource allowing you to forward logs from a managed database cluster to an external OpenSearch cluster or Elasticsearch endpoint.
|
|
414
|
+
|
|
415
|
+
This resource is compatible with both OpenSearch and Elasticsearch endpoints due to API compatibility. You can use this resource to connect to either service.
|
|
416
|
+
|
|
417
|
+
This resource supports the following DigitalOcean managed database engines:
|
|
418
|
+
|
|
419
|
+
* PostgreSQL
|
|
420
|
+
* MySQL
|
|
421
|
+
* Kafka
|
|
422
|
+
* Valkey
|
|
423
|
+
|
|
424
|
+
**Note**: MongoDB databases use a different log forwarding mechanism and require Datadog logsinks (not currently available in this provider).
|
|
425
|
+
|
|
426
|
+
## Example Usage
|
|
427
|
+
|
|
428
|
+
### Basic OpenSearch configuration
|
|
429
|
+
|
|
430
|
+
```python
|
|
431
|
+
import pulumi
|
|
432
|
+
import pulumi_digitalocean as digitalocean
|
|
433
|
+
|
|
434
|
+
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
435
|
+
name="example-postgres-cluster",
|
|
436
|
+
engine="pg",
|
|
437
|
+
version="15",
|
|
438
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
439
|
+
region=digitalocean.Region.NYC1,
|
|
440
|
+
node_count=1)
|
|
441
|
+
example = digitalocean.DatabaseLogsinkOpensearch("example",
|
|
442
|
+
cluster_id=postgres_example.id,
|
|
443
|
+
name="opensearch-logs",
|
|
444
|
+
endpoint="https://opensearch.example.com:9200",
|
|
445
|
+
index_prefix="db-logs",
|
|
446
|
+
index_days_max=7)
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### OpenSearch with authentication and CA certificate
|
|
450
|
+
|
|
451
|
+
```python
|
|
452
|
+
import pulumi
|
|
453
|
+
import pulumi_digitalocean as digitalocean
|
|
454
|
+
import pulumi_std as std
|
|
455
|
+
|
|
456
|
+
example_secure = digitalocean.DatabaseLogsinkOpensearch("example-secure",
|
|
457
|
+
cluster_id=postgres_example["id"],
|
|
458
|
+
name="opensearch-secure",
|
|
459
|
+
endpoint="https://user:password@opensearch.example.com:9200",
|
|
460
|
+
index_prefix="secure-logs",
|
|
461
|
+
index_days_max=14,
|
|
462
|
+
ca_cert=std.file(input="/path/to/ca.pem").result,
|
|
463
|
+
timeout_seconds=30)
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### Elasticsearch endpoint configuration
|
|
467
|
+
|
|
468
|
+
```python
|
|
469
|
+
import pulumi
|
|
470
|
+
import pulumi_digitalocean as digitalocean
|
|
471
|
+
|
|
472
|
+
elasticsearch = digitalocean.DatabaseLogsinkOpensearch("elasticsearch",
|
|
473
|
+
cluster_id=postgres_example["id"],
|
|
474
|
+
name="elasticsearch-logs",
|
|
475
|
+
endpoint="https://elasticsearch.example.com:9243",
|
|
476
|
+
index_prefix="es-logs",
|
|
477
|
+
index_days_max=30)
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### MySQL to OpenSearch configuration
|
|
481
|
+
|
|
482
|
+
```python
|
|
483
|
+
import pulumi
|
|
484
|
+
import pulumi_digitalocean as digitalocean
|
|
485
|
+
|
|
486
|
+
mysql_example = digitalocean.DatabaseCluster("mysql-example",
|
|
487
|
+
name="example-mysql-cluster",
|
|
488
|
+
engine="mysql",
|
|
489
|
+
version="8",
|
|
490
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
491
|
+
region=digitalocean.Region.NYC1,
|
|
492
|
+
node_count=1)
|
|
493
|
+
mysql = digitalocean.DatabaseLogsinkOpensearch("mysql",
|
|
494
|
+
cluster_id=mysql_example.id,
|
|
495
|
+
name="mysql-logs",
|
|
496
|
+
endpoint="https://opensearch.example.com:9200",
|
|
497
|
+
index_prefix="mysql-logs",
|
|
498
|
+
index_days_max=7)
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
## Important Notes
|
|
502
|
+
|
|
503
|
+
### Elasticsearch Compatibility
|
|
504
|
+
This resource works with both OpenSearch and Elasticsearch endpoints due to their API compatibility. Use the same resource type regardless of whether you're connecting to OpenSearch or Elasticsearch.
|
|
505
|
+
|
|
506
|
+
### Managed OpenSearch with Trusted Sources
|
|
507
|
+
When forwarding logs to a DigitalOcean Managed OpenSearch cluster with trusted sources enabled, you must manually allow-list the IP addresses of your database cluster nodes.
|
|
508
|
+
|
|
509
|
+
### Authentication
|
|
510
|
+
Include authentication credentials directly in the endpoint URL using the format `https://username:password@host:port`. Alternatively, configure authentication on your OpenSearch/Elasticsearch cluster to accept connections from your database cluster's IP addresses.
|
|
511
|
+
|
|
512
|
+
## Import
|
|
513
|
+
|
|
514
|
+
Database logsink OpenSearch resources can be imported using the composite ID format `cluster_id,logsink_id`. For example:
|
|
515
|
+
|
|
516
|
+
```sh
|
|
517
|
+
$ pulumi import digitalocean:index/databaseLogsinkOpensearch:DatabaseLogsinkOpensearch example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,f38db7c8-1f31-4ce6-a2bc-475a116cca97
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
**Note**: The cluster ID and logsink ID must be separated by a comma.
|
|
521
|
+
|
|
522
|
+
:param str resource_name: The name of the resource.
|
|
523
|
+
:param DatabaseLogsinkOpensearchArgs args: The arguments to use to populate this resource's properties.
|
|
524
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
525
|
+
"""
|
|
526
|
+
...
|
|
527
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
528
|
+
resource_args, opts = _utilities.get_resource_args_opts(DatabaseLogsinkOpensearchArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
529
|
+
if resource_args is not None:
|
|
530
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
531
|
+
else:
|
|
532
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
533
|
+
|
|
534
|
+
def _internal_init(__self__,
|
|
535
|
+
resource_name: str,
|
|
536
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
537
|
+
ca_cert: Optional[pulumi.Input[_builtins.str]] = None,
|
|
538
|
+
cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
539
|
+
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
540
|
+
index_days_max: Optional[pulumi.Input[_builtins.int]] = None,
|
|
541
|
+
index_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
542
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
543
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
544
|
+
__props__=None):
|
|
545
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
546
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
547
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
548
|
+
if opts.id is None:
|
|
549
|
+
if __props__ is not None:
|
|
550
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
551
|
+
__props__ = DatabaseLogsinkOpensearchArgs.__new__(DatabaseLogsinkOpensearchArgs)
|
|
552
|
+
|
|
553
|
+
__props__.__dict__["ca_cert"] = None if ca_cert is None else pulumi.Output.secret(ca_cert)
|
|
554
|
+
if cluster_id is None and not opts.urn:
|
|
555
|
+
raise TypeError("Missing required property 'cluster_id'")
|
|
556
|
+
__props__.__dict__["cluster_id"] = cluster_id
|
|
557
|
+
if endpoint is None and not opts.urn:
|
|
558
|
+
raise TypeError("Missing required property 'endpoint'")
|
|
559
|
+
__props__.__dict__["endpoint"] = endpoint
|
|
560
|
+
__props__.__dict__["index_days_max"] = index_days_max
|
|
561
|
+
if index_prefix is None and not opts.urn:
|
|
562
|
+
raise TypeError("Missing required property 'index_prefix'")
|
|
563
|
+
__props__.__dict__["index_prefix"] = index_prefix
|
|
564
|
+
__props__.__dict__["name"] = name
|
|
565
|
+
__props__.__dict__["timeout_seconds"] = timeout_seconds
|
|
566
|
+
__props__.__dict__["logsink_id"] = None
|
|
567
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["caCert"])
|
|
568
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
569
|
+
super(DatabaseLogsinkOpensearch, __self__).__init__(
|
|
570
|
+
'digitalocean:index/databaseLogsinkOpensearch:DatabaseLogsinkOpensearch',
|
|
571
|
+
resource_name,
|
|
572
|
+
__props__,
|
|
573
|
+
opts)
|
|
574
|
+
|
|
575
|
+
@staticmethod
|
|
576
|
+
def get(resource_name: str,
|
|
577
|
+
id: pulumi.Input[str],
|
|
578
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
579
|
+
ca_cert: Optional[pulumi.Input[_builtins.str]] = None,
|
|
580
|
+
cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
581
|
+
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
582
|
+
index_days_max: Optional[pulumi.Input[_builtins.int]] = None,
|
|
583
|
+
index_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
584
|
+
logsink_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
585
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
586
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None) -> 'DatabaseLogsinkOpensearch':
|
|
587
|
+
"""
|
|
588
|
+
Get an existing DatabaseLogsinkOpensearch resource's state with the given name, id, and optional extra
|
|
589
|
+
properties used to qualify the lookup.
|
|
590
|
+
|
|
591
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
592
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
593
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
594
|
+
:param pulumi.Input[_builtins.str] ca_cert: CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
595
|
+
:param pulumi.Input[_builtins.str] cluster_id: UUID of the source database cluster that will forward logs.
|
|
596
|
+
:param pulumi.Input[_builtins.str] endpoint: HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
597
|
+
:param pulumi.Input[_builtins.int] index_days_max: Maximum number of days to retain indices. Must be 1 or greater.
|
|
598
|
+
:param pulumi.Input[_builtins.str] index_prefix: Prefix for the indices where logs will be stored.
|
|
599
|
+
:param pulumi.Input[_builtins.str] logsink_id: The unique identifier for the logsink as returned by the DigitalOcean API.
|
|
600
|
+
:param pulumi.Input[_builtins.str] name: Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
601
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
602
|
+
"""
|
|
603
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
604
|
+
|
|
605
|
+
__props__ = _DatabaseLogsinkOpensearchState.__new__(_DatabaseLogsinkOpensearchState)
|
|
606
|
+
|
|
607
|
+
__props__.__dict__["ca_cert"] = ca_cert
|
|
608
|
+
__props__.__dict__["cluster_id"] = cluster_id
|
|
609
|
+
__props__.__dict__["endpoint"] = endpoint
|
|
610
|
+
__props__.__dict__["index_days_max"] = index_days_max
|
|
611
|
+
__props__.__dict__["index_prefix"] = index_prefix
|
|
612
|
+
__props__.__dict__["logsink_id"] = logsink_id
|
|
613
|
+
__props__.__dict__["name"] = name
|
|
614
|
+
__props__.__dict__["timeout_seconds"] = timeout_seconds
|
|
615
|
+
return DatabaseLogsinkOpensearch(resource_name, opts=opts, __props__=__props__)
|
|
616
|
+
|
|
617
|
+
@_builtins.property
|
|
618
|
+
@pulumi.getter(name="caCert")
|
|
619
|
+
def ca_cert(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
620
|
+
"""
|
|
621
|
+
CA certificate for TLS verification in PEM format. Can be specified using `file()` function. This field is marked as sensitive.
|
|
622
|
+
"""
|
|
623
|
+
return pulumi.get(self, "ca_cert")
|
|
624
|
+
|
|
625
|
+
@_builtins.property
|
|
626
|
+
@pulumi.getter(name="clusterId")
|
|
627
|
+
def cluster_id(self) -> pulumi.Output[_builtins.str]:
|
|
628
|
+
"""
|
|
629
|
+
UUID of the source database cluster that will forward logs.
|
|
630
|
+
"""
|
|
631
|
+
return pulumi.get(self, "cluster_id")
|
|
632
|
+
|
|
633
|
+
@_builtins.property
|
|
634
|
+
@pulumi.getter
|
|
635
|
+
def endpoint(self) -> pulumi.Output[_builtins.str]:
|
|
636
|
+
"""
|
|
637
|
+
HTTPS URL to the OpenSearch or Elasticsearch cluster (e.g., `https://host:port`). **Note**: Only HTTPS URLs are supported.
|
|
638
|
+
"""
|
|
639
|
+
return pulumi.get(self, "endpoint")
|
|
640
|
+
|
|
641
|
+
@_builtins.property
|
|
642
|
+
@pulumi.getter(name="indexDaysMax")
|
|
643
|
+
def index_days_max(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
644
|
+
"""
|
|
645
|
+
Maximum number of days to retain indices. Must be 1 or greater.
|
|
646
|
+
"""
|
|
647
|
+
return pulumi.get(self, "index_days_max")
|
|
648
|
+
|
|
649
|
+
@_builtins.property
|
|
650
|
+
@pulumi.getter(name="indexPrefix")
|
|
651
|
+
def index_prefix(self) -> pulumi.Output[_builtins.str]:
|
|
652
|
+
"""
|
|
653
|
+
Prefix for the indices where logs will be stored.
|
|
654
|
+
"""
|
|
655
|
+
return pulumi.get(self, "index_prefix")
|
|
656
|
+
|
|
657
|
+
@_builtins.property
|
|
658
|
+
@pulumi.getter(name="logsinkId")
|
|
659
|
+
def logsink_id(self) -> pulumi.Output[_builtins.str]:
|
|
660
|
+
"""
|
|
661
|
+
The unique identifier for the logsink as returned by the DigitalOcean API.
|
|
662
|
+
"""
|
|
663
|
+
return pulumi.get(self, "logsink_id")
|
|
664
|
+
|
|
665
|
+
@_builtins.property
|
|
666
|
+
@pulumi.getter
|
|
667
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
668
|
+
"""
|
|
669
|
+
Display name for the logsink. **Note**: This is immutable; changing it will force recreation of the resource.
|
|
670
|
+
"""
|
|
671
|
+
return pulumi.get(self, "name")
|
|
672
|
+
|
|
673
|
+
@_builtins.property
|
|
674
|
+
@pulumi.getter(name="timeoutSeconds")
|
|
675
|
+
def timeout_seconds(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
676
|
+
"""
|
|
677
|
+
Request timeout for log deliveries in seconds. Must be 1 or greater.
|
|
678
|
+
"""
|
|
679
|
+
return pulumi.get(self, "timeout_seconds")
|
|
680
|
+
|