pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. pulumi_digitalocean/__init__.py +224 -1
  2. pulumi_digitalocean/_enums.py +19 -9
  3. pulumi_digitalocean/_inputs.py +17037 -4771
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +238 -88
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +106 -105
  8. pulumi_digitalocean/certificate.py +139 -138
  9. pulumi_digitalocean/config/__init__.py +2 -1
  10. pulumi_digitalocean/config/__init__.pyi +2 -2
  11. pulumi_digitalocean/config/vars.py +11 -11
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +90 -89
  14. pulumi_digitalocean/container_registry_docker_credentials.py +84 -83
  15. pulumi_digitalocean/custom_image.py +180 -179
  16. pulumi_digitalocean/database_cluster.py +402 -373
  17. pulumi_digitalocean/database_connection_pool.py +159 -158
  18. pulumi_digitalocean/database_db.py +37 -36
  19. pulumi_digitalocean/database_firewall.py +23 -22
  20. pulumi_digitalocean/database_kafka_config.py +309 -308
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +83 -82
  23. pulumi_digitalocean/database_logsink_opensearch.py +680 -0
  24. pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
  25. pulumi_digitalocean/database_mongodb_config.py +105 -104
  26. pulumi_digitalocean/database_mysql_config.py +479 -478
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +666 -665
  29. pulumi_digitalocean/database_postgresql_config.py +859 -858
  30. pulumi_digitalocean/database_redis_config.py +211 -206
  31. pulumi_digitalocean/database_replica.py +199 -198
  32. pulumi_digitalocean/database_user.py +93 -92
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +184 -183
  35. pulumi_digitalocean/domain.py +55 -54
  36. pulumi_digitalocean/droplet.py +403 -402
  37. pulumi_digitalocean/droplet_autoscale.py +55 -54
  38. pulumi_digitalocean/droplet_snapshot.py +73 -72
  39. pulumi_digitalocean/firewall.py +80 -79
  40. pulumi_digitalocean/floating_ip.py +63 -62
  41. pulumi_digitalocean/floating_ip_assignment.py +37 -36
  42. pulumi_digitalocean/genai_agent.py +1903 -0
  43. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  44. pulumi_digitalocean/genai_agent_route.py +354 -0
  45. pulumi_digitalocean/genai_function.py +464 -0
  46. pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
  47. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  48. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  49. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  50. pulumi_digitalocean/get_account.py +18 -18
  51. pulumi_digitalocean/get_app.py +28 -28
  52. pulumi_digitalocean/get_byoip_prefix.py +214 -0
  53. pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
  54. pulumi_digitalocean/get_certificate.py +22 -22
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -22
  57. pulumi_digitalocean/get_database_ca.py +12 -12
  58. pulumi_digitalocean/get_database_cluster.py +76 -62
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -36
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -46
  62. pulumi_digitalocean/get_database_user.py +27 -27
  63. pulumi_digitalocean/get_domain.py +16 -16
  64. pulumi_digitalocean/get_domains.py +7 -7
  65. pulumi_digitalocean/get_droplet.py +72 -72
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -23
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -38
  68. pulumi_digitalocean/get_droplets.py +13 -13
  69. pulumi_digitalocean/get_firewall.py +31 -31
  70. pulumi_digitalocean/get_floating_ip.py +16 -16
  71. pulumi_digitalocean/get_genai_agent.py +572 -0
  72. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  73. pulumi_digitalocean/get_genai_agents.py +128 -0
  74. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  75. pulumi_digitalocean/get_genai_indexing_job.py +239 -0
  76. pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
  77. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  78. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  79. pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
  80. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  81. pulumi_digitalocean/get_genai_models.py +113 -0
  82. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  83. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  84. pulumi_digitalocean/get_genai_regions.py +113 -0
  85. pulumi_digitalocean/get_image.py +50 -50
  86. pulumi_digitalocean/get_images.py +7 -7
  87. pulumi_digitalocean/get_kubernetes_cluster.py +144 -53
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -14
  89. pulumi_digitalocean/get_load_balancer.py +70 -59
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +206 -0
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -32
  95. pulumi_digitalocean/get_projects.py +7 -7
  96. pulumi_digitalocean/get_record.py +32 -32
  97. pulumi_digitalocean/get_records.py +13 -13
  98. pulumi_digitalocean/get_region.py +18 -18
  99. pulumi_digitalocean/get_regions.py +7 -7
  100. pulumi_digitalocean/get_reserved_ip.py +16 -16
  101. pulumi_digitalocean/get_reserved_ipv6.py +51 -16
  102. pulumi_digitalocean/get_sizes.py +141 -7
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -22
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -58
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -46
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -7
  107. pulumi_digitalocean/get_spaces_key.py +157 -0
  108. pulumi_digitalocean/get_ssh_key.py +14 -14
  109. pulumi_digitalocean/get_ssh_keys.py +7 -7
  110. pulumi_digitalocean/get_tag.py +22 -22
  111. pulumi_digitalocean/get_tags.py +7 -7
  112. pulumi_digitalocean/get_volume.py +34 -34
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -40
  114. pulumi_digitalocean/get_vpc.py +30 -30
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -24
  117. pulumi_digitalocean/kubernetes_cluster.py +572 -303
  118. pulumi_digitalocean/kubernetes_node_pool.py +170 -169
  119. pulumi_digitalocean/load_balancer.py +406 -372
  120. pulumi_digitalocean/monitor_alert.py +153 -156
  121. pulumi_digitalocean/nfs.py +481 -0
  122. pulumi_digitalocean/nfs_attachment.py +289 -0
  123. pulumi_digitalocean/nfs_snapshot.py +379 -0
  124. pulumi_digitalocean/outputs.py +26759 -7592
  125. pulumi_digitalocean/partner_attachment.py +555 -0
  126. pulumi_digitalocean/project.py +141 -140
  127. pulumi_digitalocean/project_resources.py +37 -36
  128. pulumi_digitalocean/provider.py +105 -84
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +63 -62
  131. pulumi_digitalocean/reserved_ip_assignment.py +37 -36
  132. pulumi_digitalocean/reserved_ipv6.py +122 -62
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +81 -30
  134. pulumi_digitalocean/spaces_bucket.py +107 -106
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +40 -39
  136. pulumi_digitalocean/spaces_bucket_logging.py +346 -0
  137. pulumi_digitalocean/spaces_bucket_object.py +284 -283
  138. pulumi_digitalocean/spaces_bucket_policy.py +54 -53
  139. pulumi_digitalocean/spaces_key.py +388 -0
  140. pulumi_digitalocean/ssh_key.py +46 -45
  141. pulumi_digitalocean/tag.py +74 -73
  142. pulumi_digitalocean/uptime_alert.py +112 -111
  143. pulumi_digitalocean/uptime_check.py +90 -89
  144. pulumi_digitalocean/volume.py +183 -182
  145. pulumi_digitalocean/volume_attachment.py +37 -36
  146. pulumi_digitalocean/volume_snapshot.py +90 -89
  147. pulumi_digitalocean/vpc.py +100 -99
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +55 -58
  150. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +4 -4
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.40.0a1739511652.dist-info/RECORD +0 -108
  154. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
5
 
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -22,12 +22,14 @@ __all__ = ['AppArgs', 'App']
22
22
  class AppArgs:
23
23
  def __init__(__self__, *,
24
24
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]] = None,
25
- project_id: Optional[pulumi.Input[str]] = None,
25
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
26
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
26
27
  spec: Optional[pulumi.Input['AppSpecArgs']] = None):
27
28
  """
28
29
  The set of arguments for constructing a App resource.
29
30
  :param pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]] dedicated_ips: The dedicated egress IP addresses associated with the app.
30
- :param pulumi.Input[str] project_id: The ID of the project that the app is assigned to.
31
+ :param pulumi.Input[_builtins.int] deployment_per_page: (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
32
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that the app is assigned to.
31
33
 
32
34
  A spec can contain multiple components.
33
35
 
@@ -36,12 +38,14 @@ class AppArgs:
36
38
  """
37
39
  if dedicated_ips is not None:
38
40
  pulumi.set(__self__, "dedicated_ips", dedicated_ips)
41
+ if deployment_per_page is not None:
42
+ pulumi.set(__self__, "deployment_per_page", deployment_per_page)
39
43
  if project_id is not None:
40
44
  pulumi.set(__self__, "project_id", project_id)
41
45
  if spec is not None:
42
46
  pulumi.set(__self__, "spec", spec)
43
47
 
44
- @property
48
+ @_builtins.property
45
49
  @pulumi.getter(name="dedicatedIps")
46
50
  def dedicated_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]:
47
51
  """
@@ -53,9 +57,21 @@ class AppArgs:
53
57
  def dedicated_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]):
54
58
  pulumi.set(self, "dedicated_ips", value)
55
59
 
56
- @property
60
+ @_builtins.property
61
+ @pulumi.getter(name="deploymentPerPage")
62
+ def deployment_per_page(self) -> Optional[pulumi.Input[_builtins.int]]:
63
+ """
64
+ (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
65
+ """
66
+ return pulumi.get(self, "deployment_per_page")
67
+
68
+ @deployment_per_page.setter
69
+ def deployment_per_page(self, value: Optional[pulumi.Input[_builtins.int]]):
70
+ pulumi.set(self, "deployment_per_page", value)
71
+
72
+ @_builtins.property
57
73
  @pulumi.getter(name="projectId")
58
- def project_id(self) -> Optional[pulumi.Input[str]]:
74
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
59
75
  """
60
76
  The ID of the project that the app is assigned to.
61
77
 
@@ -66,10 +82,10 @@ class AppArgs:
66
82
  return pulumi.get(self, "project_id")
67
83
 
68
84
  @project_id.setter
69
- def project_id(self, value: Optional[pulumi.Input[str]]):
85
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
70
86
  pulumi.set(self, "project_id", value)
71
87
 
72
- @property
88
+ @_builtins.property
73
89
  @pulumi.getter
74
90
  def spec(self) -> Optional[pulumi.Input['AppSpecArgs']]:
75
91
  """
@@ -85,32 +101,34 @@ class AppArgs:
85
101
  @pulumi.input_type
86
102
  class _AppState:
87
103
  def __init__(__self__, *,
88
- active_deployment_id: Optional[pulumi.Input[str]] = None,
89
- app_urn: Optional[pulumi.Input[str]] = None,
90
- created_at: Optional[pulumi.Input[str]] = None,
104
+ active_deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
105
+ app_urn: Optional[pulumi.Input[_builtins.str]] = None,
106
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
91
107
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]] = None,
92
- default_ingress: Optional[pulumi.Input[str]] = None,
93
- live_domain: Optional[pulumi.Input[str]] = None,
94
- live_url: Optional[pulumi.Input[str]] = None,
95
- project_id: Optional[pulumi.Input[str]] = None,
108
+ default_ingress: Optional[pulumi.Input[_builtins.str]] = None,
109
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
110
+ live_domain: Optional[pulumi.Input[_builtins.str]] = None,
111
+ live_url: Optional[pulumi.Input[_builtins.str]] = None,
112
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
96
113
  spec: Optional[pulumi.Input['AppSpecArgs']] = None,
97
- updated_at: Optional[pulumi.Input[str]] = None):
114
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None):
98
115
  """
99
116
  Input properties used for looking up and filtering App resources.
100
- :param pulumi.Input[str] active_deployment_id: The ID the app's currently active deployment.
101
- :param pulumi.Input[str] app_urn: The uniform resource identifier for the app.
102
- :param pulumi.Input[str] created_at: The date and time of when the app was created.
117
+ :param pulumi.Input[_builtins.str] active_deployment_id: The ID the app's currently active deployment.
118
+ :param pulumi.Input[_builtins.str] app_urn: The uniform resource identifier for the app.
119
+ :param pulumi.Input[_builtins.str] created_at: The date and time of when the app was created.
103
120
  :param pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]] dedicated_ips: The dedicated egress IP addresses associated with the app.
104
- :param pulumi.Input[str] default_ingress: The default URL to access the app.
105
- :param pulumi.Input[str] live_domain: The live domain of the app.
106
- :param pulumi.Input[str] live_url: The live URL of the app.
107
- :param pulumi.Input[str] project_id: The ID of the project that the app is assigned to.
121
+ :param pulumi.Input[_builtins.str] default_ingress: The default URL to access the app.
122
+ :param pulumi.Input[_builtins.int] deployment_per_page: (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
123
+ :param pulumi.Input[_builtins.str] live_domain: The live domain of the app.
124
+ :param pulumi.Input[_builtins.str] live_url: The live URL of the app.
125
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that the app is assigned to.
108
126
 
109
127
  A spec can contain multiple components.
110
128
 
111
129
  A `service` can contain:
112
130
  :param pulumi.Input['AppSpecArgs'] spec: A DigitalOcean App spec describing the app.
113
- :param pulumi.Input[str] updated_at: The date and time of when the app was last updated.
131
+ :param pulumi.Input[_builtins.str] updated_at: The date and time of when the app was last updated.
114
132
  """
115
133
  if active_deployment_id is not None:
116
134
  pulumi.set(__self__, "active_deployment_id", active_deployment_id)
@@ -122,6 +140,8 @@ class _AppState:
122
140
  pulumi.set(__self__, "dedicated_ips", dedicated_ips)
123
141
  if default_ingress is not None:
124
142
  pulumi.set(__self__, "default_ingress", default_ingress)
143
+ if deployment_per_page is not None:
144
+ pulumi.set(__self__, "deployment_per_page", deployment_per_page)
125
145
  if live_domain is not None:
126
146
  pulumi.set(__self__, "live_domain", live_domain)
127
147
  if live_url is not None:
@@ -133,43 +153,43 @@ class _AppState:
133
153
  if updated_at is not None:
134
154
  pulumi.set(__self__, "updated_at", updated_at)
135
155
 
136
- @property
156
+ @_builtins.property
137
157
  @pulumi.getter(name="activeDeploymentId")
138
- def active_deployment_id(self) -> Optional[pulumi.Input[str]]:
158
+ def active_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
139
159
  """
140
160
  The ID the app's currently active deployment.
141
161
  """
142
162
  return pulumi.get(self, "active_deployment_id")
143
163
 
144
164
  @active_deployment_id.setter
145
- def active_deployment_id(self, value: Optional[pulumi.Input[str]]):
165
+ def active_deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
146
166
  pulumi.set(self, "active_deployment_id", value)
147
167
 
148
- @property
168
+ @_builtins.property
149
169
  @pulumi.getter(name="appUrn")
150
- def app_urn(self) -> Optional[pulumi.Input[str]]:
170
+ def app_urn(self) -> Optional[pulumi.Input[_builtins.str]]:
151
171
  """
152
172
  The uniform resource identifier for the app.
153
173
  """
154
174
  return pulumi.get(self, "app_urn")
155
175
 
156
176
  @app_urn.setter
157
- def app_urn(self, value: Optional[pulumi.Input[str]]):
177
+ def app_urn(self, value: Optional[pulumi.Input[_builtins.str]]):
158
178
  pulumi.set(self, "app_urn", value)
159
179
 
160
- @property
180
+ @_builtins.property
161
181
  @pulumi.getter(name="createdAt")
162
- def created_at(self) -> Optional[pulumi.Input[str]]:
182
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
163
183
  """
164
184
  The date and time of when the app was created.
165
185
  """
166
186
  return pulumi.get(self, "created_at")
167
187
 
168
188
  @created_at.setter
169
- def created_at(self, value: Optional[pulumi.Input[str]]):
189
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
170
190
  pulumi.set(self, "created_at", value)
171
191
 
172
- @property
192
+ @_builtins.property
173
193
  @pulumi.getter(name="dedicatedIps")
174
194
  def dedicated_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]:
175
195
  """
@@ -181,45 +201,57 @@ class _AppState:
181
201
  def dedicated_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]):
182
202
  pulumi.set(self, "dedicated_ips", value)
183
203
 
184
- @property
204
+ @_builtins.property
185
205
  @pulumi.getter(name="defaultIngress")
186
- def default_ingress(self) -> Optional[pulumi.Input[str]]:
206
+ def default_ingress(self) -> Optional[pulumi.Input[_builtins.str]]:
187
207
  """
188
208
  The default URL to access the app.
189
209
  """
190
210
  return pulumi.get(self, "default_ingress")
191
211
 
192
212
  @default_ingress.setter
193
- def default_ingress(self, value: Optional[pulumi.Input[str]]):
213
+ def default_ingress(self, value: Optional[pulumi.Input[_builtins.str]]):
194
214
  pulumi.set(self, "default_ingress", value)
195
215
 
196
- @property
216
+ @_builtins.property
217
+ @pulumi.getter(name="deploymentPerPage")
218
+ def deployment_per_page(self) -> Optional[pulumi.Input[_builtins.int]]:
219
+ """
220
+ (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
221
+ """
222
+ return pulumi.get(self, "deployment_per_page")
223
+
224
+ @deployment_per_page.setter
225
+ def deployment_per_page(self, value: Optional[pulumi.Input[_builtins.int]]):
226
+ pulumi.set(self, "deployment_per_page", value)
227
+
228
+ @_builtins.property
197
229
  @pulumi.getter(name="liveDomain")
198
- def live_domain(self) -> Optional[pulumi.Input[str]]:
230
+ def live_domain(self) -> Optional[pulumi.Input[_builtins.str]]:
199
231
  """
200
232
  The live domain of the app.
201
233
  """
202
234
  return pulumi.get(self, "live_domain")
203
235
 
204
236
  @live_domain.setter
205
- def live_domain(self, value: Optional[pulumi.Input[str]]):
237
+ def live_domain(self, value: Optional[pulumi.Input[_builtins.str]]):
206
238
  pulumi.set(self, "live_domain", value)
207
239
 
208
- @property
240
+ @_builtins.property
209
241
  @pulumi.getter(name="liveUrl")
210
- def live_url(self) -> Optional[pulumi.Input[str]]:
242
+ def live_url(self) -> Optional[pulumi.Input[_builtins.str]]:
211
243
  """
212
244
  The live URL of the app.
213
245
  """
214
246
  return pulumi.get(self, "live_url")
215
247
 
216
248
  @live_url.setter
217
- def live_url(self, value: Optional[pulumi.Input[str]]):
249
+ def live_url(self, value: Optional[pulumi.Input[_builtins.str]]):
218
250
  pulumi.set(self, "live_url", value)
219
251
 
220
- @property
252
+ @_builtins.property
221
253
  @pulumi.getter(name="projectId")
222
- def project_id(self) -> Optional[pulumi.Input[str]]:
254
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
223
255
  """
224
256
  The ID of the project that the app is assigned to.
225
257
 
@@ -230,10 +262,10 @@ class _AppState:
230
262
  return pulumi.get(self, "project_id")
231
263
 
232
264
  @project_id.setter
233
- def project_id(self, value: Optional[pulumi.Input[str]]):
265
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
234
266
  pulumi.set(self, "project_id", value)
235
267
 
236
- @property
268
+ @_builtins.property
237
269
  @pulumi.getter
238
270
  def spec(self) -> Optional[pulumi.Input['AppSpecArgs']]:
239
271
  """
@@ -245,26 +277,28 @@ class _AppState:
245
277
  def spec(self, value: Optional[pulumi.Input['AppSpecArgs']]):
246
278
  pulumi.set(self, "spec", value)
247
279
 
248
- @property
280
+ @_builtins.property
249
281
  @pulumi.getter(name="updatedAt")
250
- def updated_at(self) -> Optional[pulumi.Input[str]]:
282
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
251
283
  """
252
284
  The date and time of when the app was last updated.
253
285
  """
254
286
  return pulumi.get(self, "updated_at")
255
287
 
256
288
  @updated_at.setter
257
- def updated_at(self, value: Optional[pulumi.Input[str]]):
289
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
258
290
  pulumi.set(self, "updated_at", value)
259
291
 
260
292
 
293
+ @pulumi.type_token("digitalocean:index/app:App")
261
294
  class App(pulumi.CustomResource):
262
295
  @overload
263
296
  def __init__(__self__,
264
297
  resource_name: str,
265
298
  opts: Optional[pulumi.ResourceOptions] = None,
266
299
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
267
- project_id: Optional[pulumi.Input[str]] = None,
300
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
301
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
268
302
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
269
303
  __props__=None):
270
304
  """
@@ -316,6 +350,8 @@ class App(pulumi.CustomResource):
316
350
  })
317
351
  ```
318
352
 
353
+ ### Multiple Components Example
354
+
319
355
  ### Log Destination Example with Opensearch
320
356
 
321
357
  ```python
@@ -347,6 +383,55 @@ class App(pulumi.CustomResource):
347
383
  })
348
384
  ```
349
385
 
386
+ ### Edge Controls Example
387
+
388
+ ```python
389
+ import pulumi
390
+ import pulumi_digitalocean as digitalocean
391
+
392
+ golang_sample = digitalocean.App("golang-sample", spec={
393
+ "name": "golang-sample",
394
+ "region": "ams",
395
+ "disable_edge_cache": True,
396
+ "disable_email_obfuscation": False,
397
+ "enhanced_threat_control_enabled": True,
398
+ "services": [{
399
+ "name": "go-service",
400
+ "instance_count": 1,
401
+ "instance_size_slug": "apps-s-1vcpu-1gb",
402
+ "git": {
403
+ "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
404
+ "branch": "main",
405
+ },
406
+ }],
407
+ })
408
+ ```
409
+
410
+ ### Maintenance Example
411
+
412
+ ```python
413
+ import pulumi
414
+ import pulumi_digitalocean as digitalocean
415
+
416
+ maintenance_example = digitalocean.App("maintenance-example", spec={
417
+ "name": "maintenance-example",
418
+ "region": "ams",
419
+ "maintenance": {
420
+ "enabled": True,
421
+ "offline_page_url": "https://example.com/maintenance.html",
422
+ },
423
+ "services": [{
424
+ "name": "go-service",
425
+ "instance_count": 1,
426
+ "instance_size_slug": "apps-s-1vcpu-1gb",
427
+ "git": {
428
+ "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
429
+ "branch": "main",
430
+ },
431
+ }],
432
+ })
433
+ ```
434
+
350
435
  ## Import
351
436
 
352
437
  An app can be imported using its `id`, e.g.
@@ -358,7 +443,8 @@ class App(pulumi.CustomResource):
358
443
  :param str resource_name: The name of the resource.
359
444
  :param pulumi.ResourceOptions opts: Options for the resource.
360
445
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]] dedicated_ips: The dedicated egress IP addresses associated with the app.
361
- :param pulumi.Input[str] project_id: The ID of the project that the app is assigned to.
446
+ :param pulumi.Input[_builtins.int] deployment_per_page: (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
447
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that the app is assigned to.
362
448
 
363
449
  A spec can contain multiple components.
364
450
 
@@ -420,6 +506,8 @@ class App(pulumi.CustomResource):
420
506
  })
421
507
  ```
422
508
 
509
+ ### Multiple Components Example
510
+
423
511
  ### Log Destination Example with Opensearch
424
512
 
425
513
  ```python
@@ -451,6 +539,55 @@ class App(pulumi.CustomResource):
451
539
  })
452
540
  ```
453
541
 
542
+ ### Edge Controls Example
543
+
544
+ ```python
545
+ import pulumi
546
+ import pulumi_digitalocean as digitalocean
547
+
548
+ golang_sample = digitalocean.App("golang-sample", spec={
549
+ "name": "golang-sample",
550
+ "region": "ams",
551
+ "disable_edge_cache": True,
552
+ "disable_email_obfuscation": False,
553
+ "enhanced_threat_control_enabled": True,
554
+ "services": [{
555
+ "name": "go-service",
556
+ "instance_count": 1,
557
+ "instance_size_slug": "apps-s-1vcpu-1gb",
558
+ "git": {
559
+ "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
560
+ "branch": "main",
561
+ },
562
+ }],
563
+ })
564
+ ```
565
+
566
+ ### Maintenance Example
567
+
568
+ ```python
569
+ import pulumi
570
+ import pulumi_digitalocean as digitalocean
571
+
572
+ maintenance_example = digitalocean.App("maintenance-example", spec={
573
+ "name": "maintenance-example",
574
+ "region": "ams",
575
+ "maintenance": {
576
+ "enabled": True,
577
+ "offline_page_url": "https://example.com/maintenance.html",
578
+ },
579
+ "services": [{
580
+ "name": "go-service",
581
+ "instance_count": 1,
582
+ "instance_size_slug": "apps-s-1vcpu-1gb",
583
+ "git": {
584
+ "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
585
+ "branch": "main",
586
+ },
587
+ }],
588
+ })
589
+ ```
590
+
454
591
  ## Import
455
592
 
456
593
  An app can be imported using its `id`, e.g.
@@ -475,7 +612,8 @@ class App(pulumi.CustomResource):
475
612
  resource_name: str,
476
613
  opts: Optional[pulumi.ResourceOptions] = None,
477
614
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
478
- project_id: Optional[pulumi.Input[str]] = None,
615
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
616
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
479
617
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
480
618
  __props__=None):
481
619
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -487,6 +625,7 @@ class App(pulumi.CustomResource):
487
625
  __props__ = AppArgs.__new__(AppArgs)
488
626
 
489
627
  __props__.__dict__["dedicated_ips"] = dedicated_ips
628
+ __props__.__dict__["deployment_per_page"] = deployment_per_page
490
629
  __props__.__dict__["project_id"] = project_id
491
630
  __props__.__dict__["spec"] = spec
492
631
  __props__.__dict__["active_deployment_id"] = None
@@ -506,16 +645,17 @@ class App(pulumi.CustomResource):
506
645
  def get(resource_name: str,
507
646
  id: pulumi.Input[str],
508
647
  opts: Optional[pulumi.ResourceOptions] = None,
509
- active_deployment_id: Optional[pulumi.Input[str]] = None,
510
- app_urn: Optional[pulumi.Input[str]] = None,
511
- created_at: Optional[pulumi.Input[str]] = None,
648
+ active_deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
649
+ app_urn: Optional[pulumi.Input[_builtins.str]] = None,
650
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
512
651
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
513
- default_ingress: Optional[pulumi.Input[str]] = None,
514
- live_domain: Optional[pulumi.Input[str]] = None,
515
- live_url: Optional[pulumi.Input[str]] = None,
516
- project_id: Optional[pulumi.Input[str]] = None,
652
+ default_ingress: Optional[pulumi.Input[_builtins.str]] = None,
653
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
654
+ live_domain: Optional[pulumi.Input[_builtins.str]] = None,
655
+ live_url: Optional[pulumi.Input[_builtins.str]] = None,
656
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
517
657
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
518
- updated_at: Optional[pulumi.Input[str]] = None) -> 'App':
658
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None) -> 'App':
519
659
  """
520
660
  Get an existing App resource's state with the given name, id, and optional extra
521
661
  properties used to qualify the lookup.
@@ -523,20 +663,21 @@ class App(pulumi.CustomResource):
523
663
  :param str resource_name: The unique name of the resulting resource.
524
664
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
525
665
  :param pulumi.ResourceOptions opts: Options for the resource.
526
- :param pulumi.Input[str] active_deployment_id: The ID the app's currently active deployment.
527
- :param pulumi.Input[str] app_urn: The uniform resource identifier for the app.
528
- :param pulumi.Input[str] created_at: The date and time of when the app was created.
666
+ :param pulumi.Input[_builtins.str] active_deployment_id: The ID the app's currently active deployment.
667
+ :param pulumi.Input[_builtins.str] app_urn: The uniform resource identifier for the app.
668
+ :param pulumi.Input[_builtins.str] created_at: The date and time of when the app was created.
529
669
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]] dedicated_ips: The dedicated egress IP addresses associated with the app.
530
- :param pulumi.Input[str] default_ingress: The default URL to access the app.
531
- :param pulumi.Input[str] live_domain: The live domain of the app.
532
- :param pulumi.Input[str] live_url: The live URL of the app.
533
- :param pulumi.Input[str] project_id: The ID of the project that the app is assigned to.
670
+ :param pulumi.Input[_builtins.str] default_ingress: The default URL to access the app.
671
+ :param pulumi.Input[_builtins.int] deployment_per_page: (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
672
+ :param pulumi.Input[_builtins.str] live_domain: The live domain of the app.
673
+ :param pulumi.Input[_builtins.str] live_url: The live URL of the app.
674
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that the app is assigned to.
534
675
 
535
676
  A spec can contain multiple components.
536
677
 
537
678
  A `service` can contain:
538
679
  :param pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']] spec: A DigitalOcean App spec describing the app.
539
- :param pulumi.Input[str] updated_at: The date and time of when the app was last updated.
680
+ :param pulumi.Input[_builtins.str] updated_at: The date and time of when the app was last updated.
540
681
  """
541
682
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
542
683
 
@@ -547,6 +688,7 @@ class App(pulumi.CustomResource):
547
688
  __props__.__dict__["created_at"] = created_at
548
689
  __props__.__dict__["dedicated_ips"] = dedicated_ips
549
690
  __props__.__dict__["default_ingress"] = default_ingress
691
+ __props__.__dict__["deployment_per_page"] = deployment_per_page
550
692
  __props__.__dict__["live_domain"] = live_domain
551
693
  __props__.__dict__["live_url"] = live_url
552
694
  __props__.__dict__["project_id"] = project_id
@@ -554,31 +696,31 @@ class App(pulumi.CustomResource):
554
696
  __props__.__dict__["updated_at"] = updated_at
555
697
  return App(resource_name, opts=opts, __props__=__props__)
556
698
 
557
- @property
699
+ @_builtins.property
558
700
  @pulumi.getter(name="activeDeploymentId")
559
- def active_deployment_id(self) -> pulumi.Output[str]:
701
+ def active_deployment_id(self) -> pulumi.Output[_builtins.str]:
560
702
  """
561
703
  The ID the app's currently active deployment.
562
704
  """
563
705
  return pulumi.get(self, "active_deployment_id")
564
706
 
565
- @property
707
+ @_builtins.property
566
708
  @pulumi.getter(name="appUrn")
567
- def app_urn(self) -> pulumi.Output[str]:
709
+ def app_urn(self) -> pulumi.Output[_builtins.str]:
568
710
  """
569
711
  The uniform resource identifier for the app.
570
712
  """
571
713
  return pulumi.get(self, "app_urn")
572
714
 
573
- @property
715
+ @_builtins.property
574
716
  @pulumi.getter(name="createdAt")
575
- def created_at(self) -> pulumi.Output[str]:
717
+ def created_at(self) -> pulumi.Output[_builtins.str]:
576
718
  """
577
719
  The date and time of when the app was created.
578
720
  """
579
721
  return pulumi.get(self, "created_at")
580
722
 
581
- @property
723
+ @_builtins.property
582
724
  @pulumi.getter(name="dedicatedIps")
583
725
  def dedicated_ips(self) -> pulumi.Output[Sequence['outputs.AppDedicatedIp']]:
584
726
  """
@@ -586,33 +728,41 @@ class App(pulumi.CustomResource):
586
728
  """
587
729
  return pulumi.get(self, "dedicated_ips")
588
730
 
589
- @property
731
+ @_builtins.property
590
732
  @pulumi.getter(name="defaultIngress")
591
- def default_ingress(self) -> pulumi.Output[str]:
733
+ def default_ingress(self) -> pulumi.Output[_builtins.str]:
592
734
  """
593
735
  The default URL to access the app.
594
736
  """
595
737
  return pulumi.get(self, "default_ingress")
596
738
 
597
- @property
739
+ @_builtins.property
740
+ @pulumi.getter(name="deploymentPerPage")
741
+ def deployment_per_page(self) -> pulumi.Output[Optional[_builtins.int]]:
742
+ """
743
+ (Optional) Controls how many deployments are requested per API page when listing deployments during create/update waits. Defaults to `20`. Reduce this value (for example `5`) if you experience API timeouts when listing deployments.
744
+ """
745
+ return pulumi.get(self, "deployment_per_page")
746
+
747
+ @_builtins.property
598
748
  @pulumi.getter(name="liveDomain")
599
- def live_domain(self) -> pulumi.Output[str]:
749
+ def live_domain(self) -> pulumi.Output[_builtins.str]:
600
750
  """
601
751
  The live domain of the app.
602
752
  """
603
753
  return pulumi.get(self, "live_domain")
604
754
 
605
- @property
755
+ @_builtins.property
606
756
  @pulumi.getter(name="liveUrl")
607
- def live_url(self) -> pulumi.Output[str]:
757
+ def live_url(self) -> pulumi.Output[_builtins.str]:
608
758
  """
609
759
  The live URL of the app.
610
760
  """
611
761
  return pulumi.get(self, "live_url")
612
762
 
613
- @property
763
+ @_builtins.property
614
764
  @pulumi.getter(name="projectId")
615
- def project_id(self) -> pulumi.Output[str]:
765
+ def project_id(self) -> pulumi.Output[_builtins.str]:
616
766
  """
617
767
  The ID of the project that the app is assigned to.
618
768
 
@@ -622,7 +772,7 @@ class App(pulumi.CustomResource):
622
772
  """
623
773
  return pulumi.get(self, "project_id")
624
774
 
625
- @property
775
+ @_builtins.property
626
776
  @pulumi.getter
627
777
  def spec(self) -> pulumi.Output[Optional['outputs.AppSpec']]:
628
778
  """
@@ -630,9 +780,9 @@ class App(pulumi.CustomResource):
630
780
  """
631
781
  return pulumi.get(self, "spec")
632
782
 
633
- @property
783
+ @_builtins.property
634
784
  @pulumi.getter(name="updatedAt")
635
- def updated_at(self) -> pulumi.Output[str]:
785
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
636
786
  """
637
787
  The date and time of when the app was last updated.
638
788
  """