pulumi-digitalocean 4.32.0a1726292068__py3-none-any.whl → 4.33.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.

Potentially problematic release.


This version of pulumi-digitalocean might be problematic. Click here for more details.

@@ -29,6 +29,8 @@ __all__ = [
29
29
  'AppSpecFunctionLogDestinationArgs',
30
30
  'AppSpecFunctionLogDestinationDatadogArgs',
31
31
  'AppSpecFunctionLogDestinationLogtailArgs',
32
+ 'AppSpecFunctionLogDestinationOpenSearchArgs',
33
+ 'AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs',
32
34
  'AppSpecFunctionLogDestinationPapertrailArgs',
33
35
  'AppSpecFunctionRouteArgs',
34
36
  'AppSpecIngressArgs',
@@ -50,6 +52,8 @@ __all__ = [
50
52
  'AppSpecJobLogDestinationArgs',
51
53
  'AppSpecJobLogDestinationDatadogArgs',
52
54
  'AppSpecJobLogDestinationLogtailArgs',
55
+ 'AppSpecJobLogDestinationOpenSearchArgs',
56
+ 'AppSpecJobLogDestinationOpenSearchBasicAuthArgs',
53
57
  'AppSpecJobLogDestinationPapertrailArgs',
54
58
  'AppSpecServiceArgs',
55
59
  'AppSpecServiceAlertArgs',
@@ -68,6 +72,8 @@ __all__ = [
68
72
  'AppSpecServiceLogDestinationArgs',
69
73
  'AppSpecServiceLogDestinationDatadogArgs',
70
74
  'AppSpecServiceLogDestinationLogtailArgs',
75
+ 'AppSpecServiceLogDestinationOpenSearchArgs',
76
+ 'AppSpecServiceLogDestinationOpenSearchBasicAuthArgs',
71
77
  'AppSpecServiceLogDestinationPapertrailArgs',
72
78
  'AppSpecServiceRouteArgs',
73
79
  'AppSpecStaticSiteArgs',
@@ -89,6 +95,8 @@ __all__ = [
89
95
  'AppSpecWorkerLogDestinationArgs',
90
96
  'AppSpecWorkerLogDestinationDatadogArgs',
91
97
  'AppSpecWorkerLogDestinationLogtailArgs',
98
+ 'AppSpecWorkerLogDestinationOpenSearchArgs',
99
+ 'AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs',
92
100
  'AppSpecWorkerLogDestinationPapertrailArgs',
93
101
  'DatabaseClusterBackupRestoreArgs',
94
102
  'DatabaseClusterMaintenanceWindowArgs',
@@ -98,6 +106,7 @@ __all__ = [
98
106
  'DatabasePostgresqlConfigTimescaledbArgs',
99
107
  'DatabaseUserSettingArgs',
100
108
  'DatabaseUserSettingAclArgs',
109
+ 'DatabaseUserSettingOpensearchAclArgs',
101
110
  'FirewallInboundRuleArgs',
102
111
  'FirewallOutboundRuleArgs',
103
112
  'FirewallPendingChangeArgs',
@@ -224,11 +233,11 @@ class AppSpecArgs:
224
233
  static_sites: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecStaticSiteArgs']]]] = None,
225
234
  workers: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerArgs']]]] = None):
226
235
  """
227
- :param pulumi.Input[str] name: The name of the app. Must be unique across all apps in the same account.
228
- :param pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]] alerts: Describes an alert policy for the app.
236
+ :param pulumi.Input[str] name: The name of the component.
237
+ :param pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]] alerts: Describes an alert policy for the component.
229
238
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecDomainNameArgs']]] domain_names: Describes a domain where the application will be made available.
230
239
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecEgressArgs']]] egresses: Specification for app egress configurations.
231
- :param pulumi.Input[Sequence[pulumi.Input['AppSpecEnvArgs']]] envs: Describes an app-wide environment variable made available to all components.
240
+ :param pulumi.Input[Sequence[pulumi.Input['AppSpecEnvArgs']]] envs: Describes an environment variable made available to an app competent.
232
241
  :param pulumi.Input[Sequence[pulumi.Input[str]]] features: A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/reference/apps/list-buildpacks/)
233
242
  :param pulumi.Input['AppSpecIngressArgs'] ingress: Specification for component routing, rewrites, and redirects.
234
243
  :param pulumi.Input[str] region: The slug for the DigitalOcean data center region hosting the app.
@@ -270,7 +279,7 @@ class AppSpecArgs:
270
279
  @pulumi.getter
271
280
  def name(self) -> pulumi.Input[str]:
272
281
  """
273
- The name of the app. Must be unique across all apps in the same account.
282
+ The name of the component.
274
283
  """
275
284
  return pulumi.get(self, "name")
276
285
 
@@ -282,7 +291,7 @@ class AppSpecArgs:
282
291
  @pulumi.getter
283
292
  def alerts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]]]:
284
293
  """
285
- Describes an alert policy for the app.
294
+ Describes an alert policy for the component.
286
295
  """
287
296
  return pulumi.get(self, "alerts")
288
297
 
@@ -337,7 +346,7 @@ class AppSpecArgs:
337
346
  @pulumi.getter
338
347
  def envs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecEnvArgs']]]]:
339
348
  """
340
- Describes an app-wide environment variable made available to all components.
349
+ Describes an environment variable made available to an app competent.
341
350
  """
342
351
  return pulumi.get(self, "envs")
343
352
 
@@ -433,7 +442,7 @@ class AppSpecAlertArgs:
433
442
  rule: pulumi.Input[str],
434
443
  disabled: Optional[pulumi.Input[bool]] = None):
435
444
  """
436
- :param pulumi.Input[str] rule: The type of the alert to configure. Top-level app alert policies can be: `DEPLOYMENT_FAILED`, `DEPLOYMENT_LIVE`, `DOMAIN_FAILED`, or `DOMAIN_LIVE`.
445
+ :param pulumi.Input[str] rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.
437
446
  :param pulumi.Input[bool] disabled: Determines whether or not the alert is disabled (default: `false`).
438
447
  """
439
448
  pulumi.set(__self__, "rule", rule)
@@ -444,7 +453,7 @@ class AppSpecAlertArgs:
444
453
  @pulumi.getter
445
454
  def rule(self) -> pulumi.Input[str]:
446
455
  """
447
- The type of the alert to configure. Top-level app alert policies can be: `DEPLOYMENT_FAILED`, `DEPLOYMENT_LIVE`, `DOMAIN_FAILED`, or `DOMAIN_LIVE`.
456
+ The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.
448
457
  """
449
458
  return pulumi.get(self, "rule")
450
459
 
@@ -776,7 +785,7 @@ class AppSpecFunctionArgs:
776
785
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecFunctionAlertArgs']]] alerts: Describes an alert policy for the component.
777
786
  :param pulumi.Input['AppSpecFunctionCorsArgs'] cors: The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app.
778
787
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecFunctionEnvArgs']]] envs: Describes an environment variable made available to an app competent.
779
- :param pulumi.Input['AppSpecFunctionGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
788
+ :param pulumi.Input['AppSpecFunctionGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
780
789
  :param pulumi.Input['AppSpecFunctionGithubArgs'] github: A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
781
790
  :param pulumi.Input['AppSpecFunctionGitlabArgs'] gitlab: A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
782
791
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecFunctionLogDestinationArgs']]] log_destinations: Describes a log forwarding destination.
@@ -862,7 +871,7 @@ class AppSpecFunctionArgs:
862
871
  @pulumi.getter
863
872
  def git(self) -> Optional[pulumi.Input['AppSpecFunctionGitArgs']]:
864
873
  """
865
- A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
874
+ A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
866
875
  """
867
876
  return pulumi.get(self, "git")
868
877
 
@@ -1403,11 +1412,13 @@ class AppSpecFunctionLogDestinationArgs:
1403
1412
  name: pulumi.Input[str],
1404
1413
  datadog: Optional[pulumi.Input['AppSpecFunctionLogDestinationDatadogArgs']] = None,
1405
1414
  logtail: Optional[pulumi.Input['AppSpecFunctionLogDestinationLogtailArgs']] = None,
1415
+ open_search: Optional[pulumi.Input['AppSpecFunctionLogDestinationOpenSearchArgs']] = None,
1406
1416
  papertrail: Optional[pulumi.Input['AppSpecFunctionLogDestinationPapertrailArgs']] = None):
1407
1417
  """
1408
1418
  :param pulumi.Input[str] name: Name of the log destination. Minimum length: 2. Maximum length: 42.
1409
1419
  :param pulumi.Input['AppSpecFunctionLogDestinationDatadogArgs'] datadog: Datadog configuration.
1410
1420
  :param pulumi.Input['AppSpecFunctionLogDestinationLogtailArgs'] logtail: Logtail configuration.
1421
+ :param pulumi.Input['AppSpecFunctionLogDestinationOpenSearchArgs'] open_search: OpenSearch configuration.
1411
1422
  :param pulumi.Input['AppSpecFunctionLogDestinationPapertrailArgs'] papertrail: Papertrail configuration.
1412
1423
  """
1413
1424
  pulumi.set(__self__, "name", name)
@@ -1415,6 +1426,8 @@ class AppSpecFunctionLogDestinationArgs:
1415
1426
  pulumi.set(__self__, "datadog", datadog)
1416
1427
  if logtail is not None:
1417
1428
  pulumi.set(__self__, "logtail", logtail)
1429
+ if open_search is not None:
1430
+ pulumi.set(__self__, "open_search", open_search)
1418
1431
  if papertrail is not None:
1419
1432
  pulumi.set(__self__, "papertrail", papertrail)
1420
1433
 
@@ -1454,6 +1467,18 @@ class AppSpecFunctionLogDestinationArgs:
1454
1467
  def logtail(self, value: Optional[pulumi.Input['AppSpecFunctionLogDestinationLogtailArgs']]):
1455
1468
  pulumi.set(self, "logtail", value)
1456
1469
 
1470
+ @property
1471
+ @pulumi.getter(name="openSearch")
1472
+ def open_search(self) -> Optional[pulumi.Input['AppSpecFunctionLogDestinationOpenSearchArgs']]:
1473
+ """
1474
+ OpenSearch configuration.
1475
+ """
1476
+ return pulumi.get(self, "open_search")
1477
+
1478
+ @open_search.setter
1479
+ def open_search(self, value: Optional[pulumi.Input['AppSpecFunctionLogDestinationOpenSearchArgs']]):
1480
+ pulumi.set(self, "open_search", value)
1481
+
1457
1482
  @property
1458
1483
  @pulumi.getter
1459
1484
  def papertrail(self) -> Optional[pulumi.Input['AppSpecFunctionLogDestinationPapertrailArgs']]:
@@ -1511,8 +1536,6 @@ class AppSpecFunctionLogDestinationLogtailArgs:
1511
1536
  token: pulumi.Input[str]):
1512
1537
  """
1513
1538
  :param pulumi.Input[str] token: Logtail token.
1514
-
1515
- A `database` can contain:
1516
1539
  """
1517
1540
  pulumi.set(__self__, "token", token)
1518
1541
 
@@ -1521,8 +1544,6 @@ class AppSpecFunctionLogDestinationLogtailArgs:
1521
1544
  def token(self) -> pulumi.Input[str]:
1522
1545
  """
1523
1546
  Logtail token.
1524
-
1525
- A `database` can contain:
1526
1547
  """
1527
1548
  return pulumi.get(self, "token")
1528
1549
 
@@ -1531,6 +1552,115 @@ class AppSpecFunctionLogDestinationLogtailArgs:
1531
1552
  pulumi.set(self, "token", value)
1532
1553
 
1533
1554
 
1555
+ @pulumi.input_type
1556
+ class AppSpecFunctionLogDestinationOpenSearchArgs:
1557
+ def __init__(__self__, *,
1558
+ basic_auth: pulumi.Input['AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs'],
1559
+ cluster_name: Optional[pulumi.Input[str]] = None,
1560
+ endpoint: Optional[pulumi.Input[str]] = None,
1561
+ index_name: Optional[pulumi.Input[str]] = None):
1562
+ """
1563
+ :param pulumi.Input['AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs'] basic_auth: Basic authentication details.
1564
+ :param pulumi.Input[str] cluster_name: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
1565
+ :param pulumi.Input[str] endpoint: OpenSearch endpoint.
1566
+ :param pulumi.Input[str] index_name: OpenSearch index name.
1567
+ """
1568
+ pulumi.set(__self__, "basic_auth", basic_auth)
1569
+ if cluster_name is not None:
1570
+ pulumi.set(__self__, "cluster_name", cluster_name)
1571
+ if endpoint is not None:
1572
+ pulumi.set(__self__, "endpoint", endpoint)
1573
+ if index_name is not None:
1574
+ pulumi.set(__self__, "index_name", index_name)
1575
+
1576
+ @property
1577
+ @pulumi.getter(name="basicAuth")
1578
+ def basic_auth(self) -> pulumi.Input['AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs']:
1579
+ """
1580
+ Basic authentication details.
1581
+ """
1582
+ return pulumi.get(self, "basic_auth")
1583
+
1584
+ @basic_auth.setter
1585
+ def basic_auth(self, value: pulumi.Input['AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs']):
1586
+ pulumi.set(self, "basic_auth", value)
1587
+
1588
+ @property
1589
+ @pulumi.getter(name="clusterName")
1590
+ def cluster_name(self) -> Optional[pulumi.Input[str]]:
1591
+ """
1592
+ The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
1593
+ """
1594
+ return pulumi.get(self, "cluster_name")
1595
+
1596
+ @cluster_name.setter
1597
+ def cluster_name(self, value: Optional[pulumi.Input[str]]):
1598
+ pulumi.set(self, "cluster_name", value)
1599
+
1600
+ @property
1601
+ @pulumi.getter
1602
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
1603
+ """
1604
+ OpenSearch endpoint.
1605
+ """
1606
+ return pulumi.get(self, "endpoint")
1607
+
1608
+ @endpoint.setter
1609
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
1610
+ pulumi.set(self, "endpoint", value)
1611
+
1612
+ @property
1613
+ @pulumi.getter(name="indexName")
1614
+ def index_name(self) -> Optional[pulumi.Input[str]]:
1615
+ """
1616
+ OpenSearch index name.
1617
+ """
1618
+ return pulumi.get(self, "index_name")
1619
+
1620
+ @index_name.setter
1621
+ def index_name(self, value: Optional[pulumi.Input[str]]):
1622
+ pulumi.set(self, "index_name", value)
1623
+
1624
+
1625
+ @pulumi.input_type
1626
+ class AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs:
1627
+ def __init__(__self__, *,
1628
+ password: Optional[pulumi.Input[str]] = None,
1629
+ user: Optional[pulumi.Input[str]] = None):
1630
+ """
1631
+ :param pulumi.Input[str] password: Password for basic authentication.
1632
+ :param pulumi.Input[str] user: user for basic authentication.
1633
+ """
1634
+ if password is not None:
1635
+ pulumi.set(__self__, "password", password)
1636
+ if user is not None:
1637
+ pulumi.set(__self__, "user", user)
1638
+
1639
+ @property
1640
+ @pulumi.getter
1641
+ def password(self) -> Optional[pulumi.Input[str]]:
1642
+ """
1643
+ Password for basic authentication.
1644
+ """
1645
+ return pulumi.get(self, "password")
1646
+
1647
+ @password.setter
1648
+ def password(self, value: Optional[pulumi.Input[str]]):
1649
+ pulumi.set(self, "password", value)
1650
+
1651
+ @property
1652
+ @pulumi.getter
1653
+ def user(self) -> Optional[pulumi.Input[str]]:
1654
+ """
1655
+ user for basic authentication.
1656
+ """
1657
+ return pulumi.get(self, "user")
1658
+
1659
+ @user.setter
1660
+ def user(self, value: Optional[pulumi.Input[str]]):
1661
+ pulumi.set(self, "user", value)
1662
+
1663
+
1534
1664
  @pulumi.input_type
1535
1665
  class AppSpecFunctionLogDestinationPapertrailArgs:
1536
1666
  def __init__(__self__, *,
@@ -1751,11 +1881,11 @@ class AppSpecIngressRuleCorsArgs:
1751
1881
  expose_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1752
1882
  max_age: Optional[pulumi.Input[str]] = None):
1753
1883
  """
1754
- :param pulumi.Input[bool] allow_credentials: Whether browsers should expose the response to the client-side JavaScript code when the requests credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.
1755
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allow_headers: The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
1756
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allow_methods: The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
1884
+ :param pulumi.Input[bool] allow_credentials: Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header.
1885
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allow_headers: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.
1886
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allow_methods: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.
1757
1887
  :param pulumi.Input['AppSpecIngressRuleCorsAllowOriginsArgs'] allow_origins: The `Access-Control-Allow-Origin` can be
1758
- :param pulumi.Input[Sequence[pulumi.Input[str]]] expose_headers: The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
1888
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] expose_headers: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.
1759
1889
  :param pulumi.Input[str] max_age: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.
1760
1890
  """
1761
1891
  if allow_credentials is not None:
@@ -1775,7 +1905,7 @@ class AppSpecIngressRuleCorsArgs:
1775
1905
  @pulumi.getter(name="allowCredentials")
1776
1906
  def allow_credentials(self) -> Optional[pulumi.Input[bool]]:
1777
1907
  """
1778
- Whether browsers should expose the response to the client-side JavaScript code when the requests credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.
1908
+ Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header.
1779
1909
  """
1780
1910
  return pulumi.get(self, "allow_credentials")
1781
1911
 
@@ -1787,7 +1917,7 @@ class AppSpecIngressRuleCorsArgs:
1787
1917
  @pulumi.getter(name="allowHeaders")
1788
1918
  def allow_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1789
1919
  """
1790
- The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
1920
+ The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.
1791
1921
  """
1792
1922
  return pulumi.get(self, "allow_headers")
1793
1923
 
@@ -1799,7 +1929,7 @@ class AppSpecIngressRuleCorsArgs:
1799
1929
  @pulumi.getter(name="allowMethods")
1800
1930
  def allow_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1801
1931
  """
1802
- The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
1932
+ The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.
1803
1933
  """
1804
1934
  return pulumi.get(self, "allow_methods")
1805
1935
 
@@ -1823,7 +1953,7 @@ class AppSpecIngressRuleCorsArgs:
1823
1953
  @pulumi.getter(name="exposeHeaders")
1824
1954
  def expose_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1825
1955
  """
1826
- The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
1956
+ The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.
1827
1957
  """
1828
1958
  return pulumi.get(self, "expose_headers")
1829
1959
 
@@ -2062,7 +2192,7 @@ class AppSpecJobArgs:
2062
2192
  :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
2063
2193
  :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app.
2064
2194
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecJobEnvArgs']]] envs: Describes an environment variable made available to an app competent.
2065
- :param pulumi.Input['AppSpecJobGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
2195
+ :param pulumi.Input['AppSpecJobGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
2066
2196
  :param pulumi.Input['AppSpecJobGithubArgs'] github: A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
2067
2197
  :param pulumi.Input['AppSpecJobGitlabArgs'] gitlab: A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
2068
2198
  :param pulumi.Input['AppSpecJobImageArgs'] image: An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set.
@@ -2185,7 +2315,7 @@ class AppSpecJobArgs:
2185
2315
  @pulumi.getter
2186
2316
  def git(self) -> Optional[pulumi.Input['AppSpecJobGitArgs']]:
2187
2317
  """
2188
- A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
2318
+ A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
2189
2319
  """
2190
2320
  return pulumi.get(self, "git")
2191
2321
 
@@ -2739,11 +2869,13 @@ class AppSpecJobLogDestinationArgs:
2739
2869
  name: pulumi.Input[str],
2740
2870
  datadog: Optional[pulumi.Input['AppSpecJobLogDestinationDatadogArgs']] = None,
2741
2871
  logtail: Optional[pulumi.Input['AppSpecJobLogDestinationLogtailArgs']] = None,
2872
+ open_search: Optional[pulumi.Input['AppSpecJobLogDestinationOpenSearchArgs']] = None,
2742
2873
  papertrail: Optional[pulumi.Input['AppSpecJobLogDestinationPapertrailArgs']] = None):
2743
2874
  """
2744
2875
  :param pulumi.Input[str] name: Name of the log destination. Minimum length: 2. Maximum length: 42.
2745
2876
  :param pulumi.Input['AppSpecJobLogDestinationDatadogArgs'] datadog: Datadog configuration.
2746
2877
  :param pulumi.Input['AppSpecJobLogDestinationLogtailArgs'] logtail: Logtail configuration.
2878
+ :param pulumi.Input['AppSpecJobLogDestinationOpenSearchArgs'] open_search: OpenSearch configuration.
2747
2879
  :param pulumi.Input['AppSpecJobLogDestinationPapertrailArgs'] papertrail: Papertrail configuration.
2748
2880
  """
2749
2881
  pulumi.set(__self__, "name", name)
@@ -2751,6 +2883,8 @@ class AppSpecJobLogDestinationArgs:
2751
2883
  pulumi.set(__self__, "datadog", datadog)
2752
2884
  if logtail is not None:
2753
2885
  pulumi.set(__self__, "logtail", logtail)
2886
+ if open_search is not None:
2887
+ pulumi.set(__self__, "open_search", open_search)
2754
2888
  if papertrail is not None:
2755
2889
  pulumi.set(__self__, "papertrail", papertrail)
2756
2890
 
@@ -2790,6 +2924,18 @@ class AppSpecJobLogDestinationArgs:
2790
2924
  def logtail(self, value: Optional[pulumi.Input['AppSpecJobLogDestinationLogtailArgs']]):
2791
2925
  pulumi.set(self, "logtail", value)
2792
2926
 
2927
+ @property
2928
+ @pulumi.getter(name="openSearch")
2929
+ def open_search(self) -> Optional[pulumi.Input['AppSpecJobLogDestinationOpenSearchArgs']]:
2930
+ """
2931
+ OpenSearch configuration.
2932
+ """
2933
+ return pulumi.get(self, "open_search")
2934
+
2935
+ @open_search.setter
2936
+ def open_search(self, value: Optional[pulumi.Input['AppSpecJobLogDestinationOpenSearchArgs']]):
2937
+ pulumi.set(self, "open_search", value)
2938
+
2793
2939
  @property
2794
2940
  @pulumi.getter
2795
2941
  def papertrail(self) -> Optional[pulumi.Input['AppSpecJobLogDestinationPapertrailArgs']]:
@@ -2847,8 +2993,6 @@ class AppSpecJobLogDestinationLogtailArgs:
2847
2993
  token: pulumi.Input[str]):
2848
2994
  """
2849
2995
  :param pulumi.Input[str] token: Logtail token.
2850
-
2851
- A `database` can contain:
2852
2996
  """
2853
2997
  pulumi.set(__self__, "token", token)
2854
2998
 
@@ -2857,8 +3001,6 @@ class AppSpecJobLogDestinationLogtailArgs:
2857
3001
  def token(self) -> pulumi.Input[str]:
2858
3002
  """
2859
3003
  Logtail token.
2860
-
2861
- A `database` can contain:
2862
3004
  """
2863
3005
  return pulumi.get(self, "token")
2864
3006
 
@@ -2867,6 +3009,115 @@ class AppSpecJobLogDestinationLogtailArgs:
2867
3009
  pulumi.set(self, "token", value)
2868
3010
 
2869
3011
 
3012
+ @pulumi.input_type
3013
+ class AppSpecJobLogDestinationOpenSearchArgs:
3014
+ def __init__(__self__, *,
3015
+ basic_auth: pulumi.Input['AppSpecJobLogDestinationOpenSearchBasicAuthArgs'],
3016
+ cluster_name: Optional[pulumi.Input[str]] = None,
3017
+ endpoint: Optional[pulumi.Input[str]] = None,
3018
+ index_name: Optional[pulumi.Input[str]] = None):
3019
+ """
3020
+ :param pulumi.Input['AppSpecJobLogDestinationOpenSearchBasicAuthArgs'] basic_auth: Basic authentication details.
3021
+ :param pulumi.Input[str] cluster_name: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
3022
+ :param pulumi.Input[str] endpoint: OpenSearch endpoint.
3023
+ :param pulumi.Input[str] index_name: OpenSearch index name.
3024
+ """
3025
+ pulumi.set(__self__, "basic_auth", basic_auth)
3026
+ if cluster_name is not None:
3027
+ pulumi.set(__self__, "cluster_name", cluster_name)
3028
+ if endpoint is not None:
3029
+ pulumi.set(__self__, "endpoint", endpoint)
3030
+ if index_name is not None:
3031
+ pulumi.set(__self__, "index_name", index_name)
3032
+
3033
+ @property
3034
+ @pulumi.getter(name="basicAuth")
3035
+ def basic_auth(self) -> pulumi.Input['AppSpecJobLogDestinationOpenSearchBasicAuthArgs']:
3036
+ """
3037
+ Basic authentication details.
3038
+ """
3039
+ return pulumi.get(self, "basic_auth")
3040
+
3041
+ @basic_auth.setter
3042
+ def basic_auth(self, value: pulumi.Input['AppSpecJobLogDestinationOpenSearchBasicAuthArgs']):
3043
+ pulumi.set(self, "basic_auth", value)
3044
+
3045
+ @property
3046
+ @pulumi.getter(name="clusterName")
3047
+ def cluster_name(self) -> Optional[pulumi.Input[str]]:
3048
+ """
3049
+ The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
3050
+ """
3051
+ return pulumi.get(self, "cluster_name")
3052
+
3053
+ @cluster_name.setter
3054
+ def cluster_name(self, value: Optional[pulumi.Input[str]]):
3055
+ pulumi.set(self, "cluster_name", value)
3056
+
3057
+ @property
3058
+ @pulumi.getter
3059
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
3060
+ """
3061
+ OpenSearch endpoint.
3062
+ """
3063
+ return pulumi.get(self, "endpoint")
3064
+
3065
+ @endpoint.setter
3066
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
3067
+ pulumi.set(self, "endpoint", value)
3068
+
3069
+ @property
3070
+ @pulumi.getter(name="indexName")
3071
+ def index_name(self) -> Optional[pulumi.Input[str]]:
3072
+ """
3073
+ OpenSearch index name.
3074
+ """
3075
+ return pulumi.get(self, "index_name")
3076
+
3077
+ @index_name.setter
3078
+ def index_name(self, value: Optional[pulumi.Input[str]]):
3079
+ pulumi.set(self, "index_name", value)
3080
+
3081
+
3082
+ @pulumi.input_type
3083
+ class AppSpecJobLogDestinationOpenSearchBasicAuthArgs:
3084
+ def __init__(__self__, *,
3085
+ password: Optional[pulumi.Input[str]] = None,
3086
+ user: Optional[pulumi.Input[str]] = None):
3087
+ """
3088
+ :param pulumi.Input[str] password: Password for basic authentication.
3089
+ :param pulumi.Input[str] user: user for basic authentication.
3090
+ """
3091
+ if password is not None:
3092
+ pulumi.set(__self__, "password", password)
3093
+ if user is not None:
3094
+ pulumi.set(__self__, "user", user)
3095
+
3096
+ @property
3097
+ @pulumi.getter
3098
+ def password(self) -> Optional[pulumi.Input[str]]:
3099
+ """
3100
+ Password for basic authentication.
3101
+ """
3102
+ return pulumi.get(self, "password")
3103
+
3104
+ @password.setter
3105
+ def password(self, value: Optional[pulumi.Input[str]]):
3106
+ pulumi.set(self, "password", value)
3107
+
3108
+ @property
3109
+ @pulumi.getter
3110
+ def user(self) -> Optional[pulumi.Input[str]]:
3111
+ """
3112
+ user for basic authentication.
3113
+ """
3114
+ return pulumi.get(self, "user")
3115
+
3116
+ @user.setter
3117
+ def user(self, value: Optional[pulumi.Input[str]]):
3118
+ pulumi.set(self, "user", value)
3119
+
3120
+
2870
3121
  @pulumi.input_type
2871
3122
  class AppSpecJobLogDestinationPapertrailArgs:
2872
3123
  def __init__(__self__, *,
@@ -2922,7 +3173,7 @@ class AppSpecServiceArgs:
2922
3173
  :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
2923
3174
  :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app.
2924
3175
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecServiceEnvArgs']]] envs: Describes an environment variable made available to an app competent.
2925
- :param pulumi.Input['AppSpecServiceGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
3176
+ :param pulumi.Input['AppSpecServiceGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
2926
3177
  :param pulumi.Input['AppSpecServiceGithubArgs'] github: A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
2927
3178
  :param pulumi.Input['AppSpecServiceGitlabArgs'] gitlab: A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
2928
3179
  :param pulumi.Input['AppSpecServiceHealthCheckArgs'] health_check: A health check to determine the availability of this component.
@@ -3085,7 +3336,7 @@ class AppSpecServiceArgs:
3085
3336
  @pulumi.getter
3086
3337
  def git(self) -> Optional[pulumi.Input['AppSpecServiceGitArgs']]:
3087
3338
  """
3088
- A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
3339
+ A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
3089
3340
  """
3090
3341
  return pulumi.get(self, "git")
3091
3342
 
@@ -4054,11 +4305,13 @@ class AppSpecServiceLogDestinationArgs:
4054
4305
  name: pulumi.Input[str],
4055
4306
  datadog: Optional[pulumi.Input['AppSpecServiceLogDestinationDatadogArgs']] = None,
4056
4307
  logtail: Optional[pulumi.Input['AppSpecServiceLogDestinationLogtailArgs']] = None,
4308
+ open_search: Optional[pulumi.Input['AppSpecServiceLogDestinationOpenSearchArgs']] = None,
4057
4309
  papertrail: Optional[pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs']] = None):
4058
4310
  """
4059
4311
  :param pulumi.Input[str] name: Name of the log destination. Minimum length: 2. Maximum length: 42.
4060
4312
  :param pulumi.Input['AppSpecServiceLogDestinationDatadogArgs'] datadog: Datadog configuration.
4061
4313
  :param pulumi.Input['AppSpecServiceLogDestinationLogtailArgs'] logtail: Logtail configuration.
4314
+ :param pulumi.Input['AppSpecServiceLogDestinationOpenSearchArgs'] open_search: OpenSearch configuration.
4062
4315
  :param pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs'] papertrail: Papertrail configuration.
4063
4316
  """
4064
4317
  pulumi.set(__self__, "name", name)
@@ -4066,6 +4319,8 @@ class AppSpecServiceLogDestinationArgs:
4066
4319
  pulumi.set(__self__, "datadog", datadog)
4067
4320
  if logtail is not None:
4068
4321
  pulumi.set(__self__, "logtail", logtail)
4322
+ if open_search is not None:
4323
+ pulumi.set(__self__, "open_search", open_search)
4069
4324
  if papertrail is not None:
4070
4325
  pulumi.set(__self__, "papertrail", papertrail)
4071
4326
 
@@ -4105,6 +4360,18 @@ class AppSpecServiceLogDestinationArgs:
4105
4360
  def logtail(self, value: Optional[pulumi.Input['AppSpecServiceLogDestinationLogtailArgs']]):
4106
4361
  pulumi.set(self, "logtail", value)
4107
4362
 
4363
+ @property
4364
+ @pulumi.getter(name="openSearch")
4365
+ def open_search(self) -> Optional[pulumi.Input['AppSpecServiceLogDestinationOpenSearchArgs']]:
4366
+ """
4367
+ OpenSearch configuration.
4368
+ """
4369
+ return pulumi.get(self, "open_search")
4370
+
4371
+ @open_search.setter
4372
+ def open_search(self, value: Optional[pulumi.Input['AppSpecServiceLogDestinationOpenSearchArgs']]):
4373
+ pulumi.set(self, "open_search", value)
4374
+
4108
4375
  @property
4109
4376
  @pulumi.getter
4110
4377
  def papertrail(self) -> Optional[pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs']]:
@@ -4162,8 +4429,6 @@ class AppSpecServiceLogDestinationLogtailArgs:
4162
4429
  token: pulumi.Input[str]):
4163
4430
  """
4164
4431
  :param pulumi.Input[str] token: Logtail token.
4165
-
4166
- A `database` can contain:
4167
4432
  """
4168
4433
  pulumi.set(__self__, "token", token)
4169
4434
 
@@ -4172,8 +4437,6 @@ class AppSpecServiceLogDestinationLogtailArgs:
4172
4437
  def token(self) -> pulumi.Input[str]:
4173
4438
  """
4174
4439
  Logtail token.
4175
-
4176
- A `database` can contain:
4177
4440
  """
4178
4441
  return pulumi.get(self, "token")
4179
4442
 
@@ -4182,6 +4445,115 @@ class AppSpecServiceLogDestinationLogtailArgs:
4182
4445
  pulumi.set(self, "token", value)
4183
4446
 
4184
4447
 
4448
+ @pulumi.input_type
4449
+ class AppSpecServiceLogDestinationOpenSearchArgs:
4450
+ def __init__(__self__, *,
4451
+ basic_auth: pulumi.Input['AppSpecServiceLogDestinationOpenSearchBasicAuthArgs'],
4452
+ cluster_name: Optional[pulumi.Input[str]] = None,
4453
+ endpoint: Optional[pulumi.Input[str]] = None,
4454
+ index_name: Optional[pulumi.Input[str]] = None):
4455
+ """
4456
+ :param pulumi.Input['AppSpecServiceLogDestinationOpenSearchBasicAuthArgs'] basic_auth: Basic authentication details.
4457
+ :param pulumi.Input[str] cluster_name: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
4458
+ :param pulumi.Input[str] endpoint: OpenSearch endpoint.
4459
+ :param pulumi.Input[str] index_name: OpenSearch index name.
4460
+ """
4461
+ pulumi.set(__self__, "basic_auth", basic_auth)
4462
+ if cluster_name is not None:
4463
+ pulumi.set(__self__, "cluster_name", cluster_name)
4464
+ if endpoint is not None:
4465
+ pulumi.set(__self__, "endpoint", endpoint)
4466
+ if index_name is not None:
4467
+ pulumi.set(__self__, "index_name", index_name)
4468
+
4469
+ @property
4470
+ @pulumi.getter(name="basicAuth")
4471
+ def basic_auth(self) -> pulumi.Input['AppSpecServiceLogDestinationOpenSearchBasicAuthArgs']:
4472
+ """
4473
+ Basic authentication details.
4474
+ """
4475
+ return pulumi.get(self, "basic_auth")
4476
+
4477
+ @basic_auth.setter
4478
+ def basic_auth(self, value: pulumi.Input['AppSpecServiceLogDestinationOpenSearchBasicAuthArgs']):
4479
+ pulumi.set(self, "basic_auth", value)
4480
+
4481
+ @property
4482
+ @pulumi.getter(name="clusterName")
4483
+ def cluster_name(self) -> Optional[pulumi.Input[str]]:
4484
+ """
4485
+ The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
4486
+ """
4487
+ return pulumi.get(self, "cluster_name")
4488
+
4489
+ @cluster_name.setter
4490
+ def cluster_name(self, value: Optional[pulumi.Input[str]]):
4491
+ pulumi.set(self, "cluster_name", value)
4492
+
4493
+ @property
4494
+ @pulumi.getter
4495
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
4496
+ """
4497
+ OpenSearch endpoint.
4498
+ """
4499
+ return pulumi.get(self, "endpoint")
4500
+
4501
+ @endpoint.setter
4502
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
4503
+ pulumi.set(self, "endpoint", value)
4504
+
4505
+ @property
4506
+ @pulumi.getter(name="indexName")
4507
+ def index_name(self) -> Optional[pulumi.Input[str]]:
4508
+ """
4509
+ OpenSearch index name.
4510
+ """
4511
+ return pulumi.get(self, "index_name")
4512
+
4513
+ @index_name.setter
4514
+ def index_name(self, value: Optional[pulumi.Input[str]]):
4515
+ pulumi.set(self, "index_name", value)
4516
+
4517
+
4518
+ @pulumi.input_type
4519
+ class AppSpecServiceLogDestinationOpenSearchBasicAuthArgs:
4520
+ def __init__(__self__, *,
4521
+ password: Optional[pulumi.Input[str]] = None,
4522
+ user: Optional[pulumi.Input[str]] = None):
4523
+ """
4524
+ :param pulumi.Input[str] password: Password for basic authentication.
4525
+ :param pulumi.Input[str] user: user for basic authentication.
4526
+ """
4527
+ if password is not None:
4528
+ pulumi.set(__self__, "password", password)
4529
+ if user is not None:
4530
+ pulumi.set(__self__, "user", user)
4531
+
4532
+ @property
4533
+ @pulumi.getter
4534
+ def password(self) -> Optional[pulumi.Input[str]]:
4535
+ """
4536
+ Password for basic authentication.
4537
+ """
4538
+ return pulumi.get(self, "password")
4539
+
4540
+ @password.setter
4541
+ def password(self, value: Optional[pulumi.Input[str]]):
4542
+ pulumi.set(self, "password", value)
4543
+
4544
+ @property
4545
+ @pulumi.getter
4546
+ def user(self) -> Optional[pulumi.Input[str]]:
4547
+ """
4548
+ user for basic authentication.
4549
+ """
4550
+ return pulumi.get(self, "user")
4551
+
4552
+ @user.setter
4553
+ def user(self, value: Optional[pulumi.Input[str]]):
4554
+ pulumi.set(self, "user", value)
4555
+
4556
+
4185
4557
  @pulumi.input_type
4186
4558
  class AppSpecServiceLogDestinationPapertrailArgs:
4187
4559
  def __init__(__self__, *,
@@ -4270,7 +4642,7 @@ class AppSpecStaticSiteArgs:
4270
4642
  :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app.
4271
4643
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecStaticSiteEnvArgs']]] envs: Describes an environment variable made available to an app competent.
4272
4644
  :param pulumi.Input[str] error_document: The name of the error document to use when serving this static site.
4273
- :param pulumi.Input['AppSpecStaticSiteGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
4645
+ :param pulumi.Input['AppSpecStaticSiteGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
4274
4646
  :param pulumi.Input['AppSpecStaticSiteGithubArgs'] github: A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
4275
4647
  :param pulumi.Input['AppSpecStaticSiteGitlabArgs'] gitlab: A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
4276
4648
  :param pulumi.Input[str] index_document: The name of the index document to use when serving this static site.
@@ -4415,7 +4787,7 @@ class AppSpecStaticSiteArgs:
4415
4787
  @pulumi.getter
4416
4788
  def git(self) -> Optional[pulumi.Input['AppSpecStaticSiteGitArgs']]:
4417
4789
  """
4418
- A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
4790
+ A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
4419
4791
  """
4420
4792
  return pulumi.get(self, "git")
4421
4793
 
@@ -4943,7 +5315,7 @@ class AppSpecWorkerArgs:
4943
5315
  :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
4944
5316
  :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app.
4945
5317
  :param pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerEnvArgs']]] envs: Describes an environment variable made available to an app competent.
4946
- :param pulumi.Input['AppSpecWorkerGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
5318
+ :param pulumi.Input['AppSpecWorkerGitArgs'] git: A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
4947
5319
  :param pulumi.Input['AppSpecWorkerGithubArgs'] github: A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
4948
5320
  :param pulumi.Input['AppSpecWorkerGitlabArgs'] gitlab: A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
4949
5321
  :param pulumi.Input['AppSpecWorkerImageArgs'] image: An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set.
@@ -5059,7 +5431,7 @@ class AppSpecWorkerArgs:
5059
5431
  @pulumi.getter
5060
5432
  def git(self) -> Optional[pulumi.Input['AppSpecWorkerGitArgs']]:
5061
5433
  """
5062
- A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
5434
+ A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set.
5063
5435
  """
5064
5436
  return pulumi.get(self, "git")
5065
5437
 
@@ -5597,11 +5969,13 @@ class AppSpecWorkerLogDestinationArgs:
5597
5969
  name: pulumi.Input[str],
5598
5970
  datadog: Optional[pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs']] = None,
5599
5971
  logtail: Optional[pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs']] = None,
5972
+ open_search: Optional[pulumi.Input['AppSpecWorkerLogDestinationOpenSearchArgs']] = None,
5600
5973
  papertrail: Optional[pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs']] = None):
5601
5974
  """
5602
5975
  :param pulumi.Input[str] name: Name of the log destination. Minimum length: 2. Maximum length: 42.
5603
5976
  :param pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs'] datadog: Datadog configuration.
5604
5977
  :param pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs'] logtail: Logtail configuration.
5978
+ :param pulumi.Input['AppSpecWorkerLogDestinationOpenSearchArgs'] open_search: OpenSearch configuration.
5605
5979
  :param pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs'] papertrail: Papertrail configuration.
5606
5980
  """
5607
5981
  pulumi.set(__self__, "name", name)
@@ -5609,6 +5983,8 @@ class AppSpecWorkerLogDestinationArgs:
5609
5983
  pulumi.set(__self__, "datadog", datadog)
5610
5984
  if logtail is not None:
5611
5985
  pulumi.set(__self__, "logtail", logtail)
5986
+ if open_search is not None:
5987
+ pulumi.set(__self__, "open_search", open_search)
5612
5988
  if papertrail is not None:
5613
5989
  pulumi.set(__self__, "papertrail", papertrail)
5614
5990
 
@@ -5648,6 +6024,18 @@ class AppSpecWorkerLogDestinationArgs:
5648
6024
  def logtail(self, value: Optional[pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs']]):
5649
6025
  pulumi.set(self, "logtail", value)
5650
6026
 
6027
+ @property
6028
+ @pulumi.getter(name="openSearch")
6029
+ def open_search(self) -> Optional[pulumi.Input['AppSpecWorkerLogDestinationOpenSearchArgs']]:
6030
+ """
6031
+ OpenSearch configuration.
6032
+ """
6033
+ return pulumi.get(self, "open_search")
6034
+
6035
+ @open_search.setter
6036
+ def open_search(self, value: Optional[pulumi.Input['AppSpecWorkerLogDestinationOpenSearchArgs']]):
6037
+ pulumi.set(self, "open_search", value)
6038
+
5651
6039
  @property
5652
6040
  @pulumi.getter
5653
6041
  def papertrail(self) -> Optional[pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs']]:
@@ -5705,8 +6093,6 @@ class AppSpecWorkerLogDestinationLogtailArgs:
5705
6093
  token: pulumi.Input[str]):
5706
6094
  """
5707
6095
  :param pulumi.Input[str] token: Logtail token.
5708
-
5709
- A `database` can contain:
5710
6096
  """
5711
6097
  pulumi.set(__self__, "token", token)
5712
6098
 
@@ -5715,8 +6101,6 @@ class AppSpecWorkerLogDestinationLogtailArgs:
5715
6101
  def token(self) -> pulumi.Input[str]:
5716
6102
  """
5717
6103
  Logtail token.
5718
-
5719
- A `database` can contain:
5720
6104
  """
5721
6105
  return pulumi.get(self, "token")
5722
6106
 
@@ -5725,6 +6109,115 @@ class AppSpecWorkerLogDestinationLogtailArgs:
5725
6109
  pulumi.set(self, "token", value)
5726
6110
 
5727
6111
 
6112
+ @pulumi.input_type
6113
+ class AppSpecWorkerLogDestinationOpenSearchArgs:
6114
+ def __init__(__self__, *,
6115
+ basic_auth: pulumi.Input['AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs'],
6116
+ cluster_name: Optional[pulumi.Input[str]] = None,
6117
+ endpoint: Optional[pulumi.Input[str]] = None,
6118
+ index_name: Optional[pulumi.Input[str]] = None):
6119
+ """
6120
+ :param pulumi.Input['AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs'] basic_auth: Basic authentication details.
6121
+ :param pulumi.Input[str] cluster_name: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
6122
+ :param pulumi.Input[str] endpoint: OpenSearch endpoint.
6123
+ :param pulumi.Input[str] index_name: OpenSearch index name.
6124
+ """
6125
+ pulumi.set(__self__, "basic_auth", basic_auth)
6126
+ if cluster_name is not None:
6127
+ pulumi.set(__self__, "cluster_name", cluster_name)
6128
+ if endpoint is not None:
6129
+ pulumi.set(__self__, "endpoint", endpoint)
6130
+ if index_name is not None:
6131
+ pulumi.set(__self__, "index_name", index_name)
6132
+
6133
+ @property
6134
+ @pulumi.getter(name="basicAuth")
6135
+ def basic_auth(self) -> pulumi.Input['AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs']:
6136
+ """
6137
+ Basic authentication details.
6138
+ """
6139
+ return pulumi.get(self, "basic_auth")
6140
+
6141
+ @basic_auth.setter
6142
+ def basic_auth(self, value: pulumi.Input['AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs']):
6143
+ pulumi.set(self, "basic_auth", value)
6144
+
6145
+ @property
6146
+ @pulumi.getter(name="clusterName")
6147
+ def cluster_name(self) -> Optional[pulumi.Input[str]]:
6148
+ """
6149
+ The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
6150
+ """
6151
+ return pulumi.get(self, "cluster_name")
6152
+
6153
+ @cluster_name.setter
6154
+ def cluster_name(self, value: Optional[pulumi.Input[str]]):
6155
+ pulumi.set(self, "cluster_name", value)
6156
+
6157
+ @property
6158
+ @pulumi.getter
6159
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
6160
+ """
6161
+ OpenSearch endpoint.
6162
+ """
6163
+ return pulumi.get(self, "endpoint")
6164
+
6165
+ @endpoint.setter
6166
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
6167
+ pulumi.set(self, "endpoint", value)
6168
+
6169
+ @property
6170
+ @pulumi.getter(name="indexName")
6171
+ def index_name(self) -> Optional[pulumi.Input[str]]:
6172
+ """
6173
+ OpenSearch index name.
6174
+ """
6175
+ return pulumi.get(self, "index_name")
6176
+
6177
+ @index_name.setter
6178
+ def index_name(self, value: Optional[pulumi.Input[str]]):
6179
+ pulumi.set(self, "index_name", value)
6180
+
6181
+
6182
+ @pulumi.input_type
6183
+ class AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs:
6184
+ def __init__(__self__, *,
6185
+ password: Optional[pulumi.Input[str]] = None,
6186
+ user: Optional[pulumi.Input[str]] = None):
6187
+ """
6188
+ :param pulumi.Input[str] password: Password for basic authentication.
6189
+ :param pulumi.Input[str] user: user for basic authentication.
6190
+ """
6191
+ if password is not None:
6192
+ pulumi.set(__self__, "password", password)
6193
+ if user is not None:
6194
+ pulumi.set(__self__, "user", user)
6195
+
6196
+ @property
6197
+ @pulumi.getter
6198
+ def password(self) -> Optional[pulumi.Input[str]]:
6199
+ """
6200
+ Password for basic authentication.
6201
+ """
6202
+ return pulumi.get(self, "password")
6203
+
6204
+ @password.setter
6205
+ def password(self, value: Optional[pulumi.Input[str]]):
6206
+ pulumi.set(self, "password", value)
6207
+
6208
+ @property
6209
+ @pulumi.getter
6210
+ def user(self) -> Optional[pulumi.Input[str]]:
6211
+ """
6212
+ user for basic authentication.
6213
+ """
6214
+ return pulumi.get(self, "user")
6215
+
6216
+ @user.setter
6217
+ def user(self, value: Optional[pulumi.Input[str]]):
6218
+ pulumi.set(self, "user", value)
6219
+
6220
+
5728
6221
  @pulumi.input_type
5729
6222
  class AppSpecWorkerLogDestinationPapertrailArgs:
5730
6223
  def __init__(__self__, *,
@@ -6386,30 +6879,25 @@ class DatabasePostgresqlConfigPgbouncerArgs:
6386
6879
  @pulumi.input_type
6387
6880
  class DatabasePostgresqlConfigTimescaledbArgs:
6388
6881
  def __init__(__self__, *,
6389
- timescaledb: Optional[pulumi.Input[int]] = None):
6390
- """
6391
- :param pulumi.Input[int] timescaledb: TimescaleDB extension configuration values
6392
- """
6393
- if timescaledb is not None:
6394
- pulumi.set(__self__, "timescaledb", timescaledb)
6882
+ max_background_workers: Optional[pulumi.Input[int]] = None):
6883
+ if max_background_workers is not None:
6884
+ pulumi.set(__self__, "max_background_workers", max_background_workers)
6395
6885
 
6396
6886
  @property
6397
- @pulumi.getter
6398
- def timescaledb(self) -> Optional[pulumi.Input[int]]:
6399
- """
6400
- TimescaleDB extension configuration values
6401
- """
6402
- return pulumi.get(self, "timescaledb")
6887
+ @pulumi.getter(name="maxBackgroundWorkers")
6888
+ def max_background_workers(self) -> Optional[pulumi.Input[int]]:
6889
+ return pulumi.get(self, "max_background_workers")
6403
6890
 
6404
- @timescaledb.setter
6405
- def timescaledb(self, value: Optional[pulumi.Input[int]]):
6406
- pulumi.set(self, "timescaledb", value)
6891
+ @max_background_workers.setter
6892
+ def max_background_workers(self, value: Optional[pulumi.Input[int]]):
6893
+ pulumi.set(self, "max_background_workers", value)
6407
6894
 
6408
6895
 
6409
6896
  @pulumi.input_type
6410
6897
  class DatabaseUserSettingArgs:
6411
6898
  def __init__(__self__, *,
6412
- acls: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingAclArgs']]]] = None):
6899
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingAclArgs']]]] = None,
6900
+ opensearch_acls: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingOpensearchAclArgs']]]] = None):
6413
6901
  """
6414
6902
  :param pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingAclArgs']]] acls: A set of ACLs (Access Control Lists) specifying permission on topics with a Kafka cluster. The properties of an individual ACL are described below:
6415
6903
 
@@ -6417,6 +6905,8 @@ class DatabaseUserSettingArgs:
6417
6905
  """
6418
6906
  if acls is not None:
6419
6907
  pulumi.set(__self__, "acls", acls)
6908
+ if opensearch_acls is not None:
6909
+ pulumi.set(__self__, "opensearch_acls", opensearch_acls)
6420
6910
 
6421
6911
  @property
6422
6912
  @pulumi.getter
@@ -6432,6 +6922,15 @@ class DatabaseUserSettingArgs:
6432
6922
  def acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingAclArgs']]]]):
6433
6923
  pulumi.set(self, "acls", value)
6434
6924
 
6925
+ @property
6926
+ @pulumi.getter(name="opensearchAcls")
6927
+ def opensearch_acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingOpensearchAclArgs']]]]:
6928
+ return pulumi.get(self, "opensearch_acls")
6929
+
6930
+ @opensearch_acls.setter
6931
+ def opensearch_acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseUserSettingOpensearchAclArgs']]]]):
6932
+ pulumi.set(self, "opensearch_acls", value)
6933
+
6435
6934
 
6436
6935
  @pulumi.input_type
6437
6936
  class DatabaseUserSettingAclArgs:
@@ -6486,6 +6985,39 @@ class DatabaseUserSettingAclArgs:
6486
6985
  pulumi.set(self, "id", value)
6487
6986
 
6488
6987
 
6988
+ @pulumi.input_type
6989
+ class DatabaseUserSettingOpensearchAclArgs:
6990
+ def __init__(__self__, *,
6991
+ index: pulumi.Input[str],
6992
+ permission: pulumi.Input[str]):
6993
+ """
6994
+ :param pulumi.Input[str] permission: The permission level applied to the ACL. This includes "admin", "consume", "produce", and "produceconsume". "admin" allows for producing and consuming as well as add/delete/update permission for topics. "consume" allows only for reading topic messages. "produce" allows only for writing topic messages. "produceconsume" allows for both reading and writing topic messages.
6995
+ """
6996
+ pulumi.set(__self__, "index", index)
6997
+ pulumi.set(__self__, "permission", permission)
6998
+
6999
+ @property
7000
+ @pulumi.getter
7001
+ def index(self) -> pulumi.Input[str]:
7002
+ return pulumi.get(self, "index")
7003
+
7004
+ @index.setter
7005
+ def index(self, value: pulumi.Input[str]):
7006
+ pulumi.set(self, "index", value)
7007
+
7008
+ @property
7009
+ @pulumi.getter
7010
+ def permission(self) -> pulumi.Input[str]:
7011
+ """
7012
+ The permission level applied to the ACL. This includes "admin", "consume", "produce", and "produceconsume". "admin" allows for producing and consuming as well as add/delete/update permission for topics. "consume" allows only for reading topic messages. "produce" allows only for writing topic messages. "produceconsume" allows for both reading and writing topic messages.
7013
+ """
7014
+ return pulumi.get(self, "permission")
7015
+
7016
+ @permission.setter
7017
+ def permission(self, value: pulumi.Input[str]):
7018
+ pulumi.set(self, "permission", value)
7019
+
7020
+
6489
7021
  @pulumi.input_type
6490
7022
  class FirewallInboundRuleArgs:
6491
7023
  def __init__(__self__, *,