pulumi-digitalocean 4.46.0a1747979086__py3-none-any.whl → 4.56.0a1766428645__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. pulumi_digitalocean/__init__.py +195 -2
  2. pulumi_digitalocean/_enums.py +10 -10
  3. pulumi_digitalocean/_inputs.py +16851 -4937
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +237 -89
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +105 -106
  8. pulumi_digitalocean/certificate.py +138 -139
  9. pulumi_digitalocean/config/__init__.py +2 -2
  10. pulumi_digitalocean/config/__init__.pyi +2 -3
  11. pulumi_digitalocean/config/vars.py +11 -12
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +89 -90
  14. pulumi_digitalocean/container_registry_docker_credentials.py +83 -84
  15. pulumi_digitalocean/custom_image.py +176 -177
  16. pulumi_digitalocean/database_cluster.py +375 -348
  17. pulumi_digitalocean/database_connection_pool.py +158 -159
  18. pulumi_digitalocean/database_db.py +36 -37
  19. pulumi_digitalocean/database_firewall.py +22 -23
  20. pulumi_digitalocean/database_kafka_config.py +308 -309
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +82 -83
  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 +104 -105
  26. pulumi_digitalocean/database_mysql_config.py +478 -479
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +665 -666
  29. pulumi_digitalocean/database_postgresql_config.py +858 -859
  30. pulumi_digitalocean/database_redis_config.py +210 -207
  31. pulumi_digitalocean/database_replica.py +198 -199
  32. pulumi_digitalocean/database_user.py +92 -93
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +181 -182
  35. pulumi_digitalocean/domain.py +54 -55
  36. pulumi_digitalocean/droplet.py +389 -390
  37. pulumi_digitalocean/droplet_autoscale.py +54 -55
  38. pulumi_digitalocean/droplet_snapshot.py +72 -73
  39. pulumi_digitalocean/firewall.py +79 -80
  40. pulumi_digitalocean/floating_ip.py +62 -63
  41. pulumi_digitalocean/floating_ip_assignment.py +36 -37
  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 -19
  51. pulumi_digitalocean/get_app.py +28 -29
  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 -23
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -23
  57. pulumi_digitalocean/get_database_ca.py +12 -13
  58. pulumi_digitalocean/get_database_cluster.py +76 -63
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -37
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -47
  62. pulumi_digitalocean/get_database_user.py +27 -28
  63. pulumi_digitalocean/get_domain.py +16 -17
  64. pulumi_digitalocean/get_domains.py +7 -8
  65. pulumi_digitalocean/get_droplet.py +72 -73
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -24
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -39
  68. pulumi_digitalocean/get_droplets.py +13 -14
  69. pulumi_digitalocean/get_firewall.py +31 -32
  70. pulumi_digitalocean/get_floating_ip.py +16 -17
  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 -51
  86. pulumi_digitalocean/get_images.py +7 -8
  87. pulumi_digitalocean/get_kubernetes_cluster.py +117 -58
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -15
  89. pulumi_digitalocean/get_load_balancer.py +60 -61
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +61 -25
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -33
  95. pulumi_digitalocean/get_projects.py +7 -8
  96. pulumi_digitalocean/get_record.py +32 -33
  97. pulumi_digitalocean/get_records.py +13 -14
  98. pulumi_digitalocean/get_region.py +18 -19
  99. pulumi_digitalocean/get_regions.py +7 -8
  100. pulumi_digitalocean/get_reserved_ip.py +16 -17
  101. pulumi_digitalocean/get_reserved_ipv6.py +16 -17
  102. pulumi_digitalocean/get_sizes.py +141 -8
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -23
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -59
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -47
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -8
  107. pulumi_digitalocean/get_spaces_key.py +15 -16
  108. pulumi_digitalocean/get_ssh_key.py +14 -15
  109. pulumi_digitalocean/get_ssh_keys.py +7 -8
  110. pulumi_digitalocean/get_tag.py +22 -23
  111. pulumi_digitalocean/get_tags.py +7 -8
  112. pulumi_digitalocean/get_volume.py +34 -35
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -41
  114. pulumi_digitalocean/get_vpc.py +30 -31
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -25
  117. pulumi_digitalocean/kubernetes_cluster.py +483 -296
  118. pulumi_digitalocean/kubernetes_node_pool.py +169 -170
  119. pulumi_digitalocean/load_balancer.py +375 -376
  120. pulumi_digitalocean/monitor_alert.py +150 -151
  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 +26671 -7785
  125. pulumi_digitalocean/partner_attachment.py +231 -110
  126. pulumi_digitalocean/project.py +140 -141
  127. pulumi_digitalocean/project_resources.py +36 -37
  128. pulumi_digitalocean/provider.py +85 -86
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +62 -63
  131. pulumi_digitalocean/reserved_ip_assignment.py +36 -37
  132. pulumi_digitalocean/reserved_ipv6.py +64 -65
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +36 -37
  134. pulumi_digitalocean/spaces_bucket.py +106 -107
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +39 -40
  136. pulumi_digitalocean/spaces_bucket_logging.py +70 -71
  137. pulumi_digitalocean/spaces_bucket_object.py +283 -284
  138. pulumi_digitalocean/spaces_bucket_policy.py +53 -54
  139. pulumi_digitalocean/spaces_key.py +49 -50
  140. pulumi_digitalocean/ssh_key.py +45 -46
  141. pulumi_digitalocean/tag.py +73 -74
  142. pulumi_digitalocean/uptime_alert.py +107 -108
  143. pulumi_digitalocean/uptime_check.py +87 -88
  144. pulumi_digitalocean/volume.py +182 -183
  145. pulumi_digitalocean/volume_attachment.py +36 -37
  146. pulumi_digitalocean/volume_snapshot.py +89 -90
  147. pulumi_digitalocean/vpc.py +97 -98
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +54 -59
  150. {pulumi_digitalocean-4.46.0a1747979086.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +1 -1
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.46.0a1747979086.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.46.0a1747979086.dist-info/RECORD +0 -113
  154. {pulumi_digitalocean-4.46.0a1747979086.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,9 +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 builtins
6
- import copy
5
+ import builtins as _builtins
7
6
  import warnings
8
7
  import sys
9
8
  import pulumi
@@ -23,12 +22,14 @@ __all__ = ['AppArgs', 'App']
23
22
  class AppArgs:
24
23
  def __init__(__self__, *,
25
24
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]] = None,
26
- project_id: Optional[pulumi.Input[builtins.str]] = None,
25
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
26
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
27
27
  spec: Optional[pulumi.Input['AppSpecArgs']] = None):
28
28
  """
29
29
  The set of arguments for constructing a App resource.
30
30
  :param pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]] dedicated_ips: The dedicated egress IP addresses associated with the app.
31
- :param pulumi.Input[builtins.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.
32
33
 
33
34
  A spec can contain multiple components.
34
35
 
@@ -37,12 +38,14 @@ class AppArgs:
37
38
  """
38
39
  if dedicated_ips is not None:
39
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)
40
43
  if project_id is not None:
41
44
  pulumi.set(__self__, "project_id", project_id)
42
45
  if spec is not None:
43
46
  pulumi.set(__self__, "spec", spec)
44
47
 
45
- @property
48
+ @_builtins.property
46
49
  @pulumi.getter(name="dedicatedIps")
47
50
  def dedicated_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]:
48
51
  """
@@ -54,9 +57,21 @@ class AppArgs:
54
57
  def dedicated_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]):
55
58
  pulumi.set(self, "dedicated_ips", value)
56
59
 
57
- @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
58
73
  @pulumi.getter(name="projectId")
59
- def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
74
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
60
75
  """
61
76
  The ID of the project that the app is assigned to.
62
77
 
@@ -67,10 +82,10 @@ class AppArgs:
67
82
  return pulumi.get(self, "project_id")
68
83
 
69
84
  @project_id.setter
70
- def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
85
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
71
86
  pulumi.set(self, "project_id", value)
72
87
 
73
- @property
88
+ @_builtins.property
74
89
  @pulumi.getter
75
90
  def spec(self) -> Optional[pulumi.Input['AppSpecArgs']]:
76
91
  """
@@ -86,32 +101,34 @@ class AppArgs:
86
101
  @pulumi.input_type
87
102
  class _AppState:
88
103
  def __init__(__self__, *,
89
- active_deployment_id: Optional[pulumi.Input[builtins.str]] = None,
90
- app_urn: Optional[pulumi.Input[builtins.str]] = None,
91
- created_at: Optional[pulumi.Input[builtins.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,
92
107
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]] = None,
93
- default_ingress: Optional[pulumi.Input[builtins.str]] = None,
94
- live_domain: Optional[pulumi.Input[builtins.str]] = None,
95
- live_url: Optional[pulumi.Input[builtins.str]] = None,
96
- project_id: Optional[pulumi.Input[builtins.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,
97
113
  spec: Optional[pulumi.Input['AppSpecArgs']] = None,
98
- updated_at: Optional[pulumi.Input[builtins.str]] = None):
114
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None):
99
115
  """
100
116
  Input properties used for looking up and filtering App resources.
101
- :param pulumi.Input[builtins.str] active_deployment_id: The ID the app's currently active deployment.
102
- :param pulumi.Input[builtins.str] app_urn: The uniform resource identifier for the app.
103
- :param pulumi.Input[builtins.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.
104
120
  :param pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]] dedicated_ips: The dedicated egress IP addresses associated with the app.
105
- :param pulumi.Input[builtins.str] default_ingress: The default URL to access the app.
106
- :param pulumi.Input[builtins.str] live_domain: The live domain of the app.
107
- :param pulumi.Input[builtins.str] live_url: The live URL of the app.
108
- :param pulumi.Input[builtins.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.
109
126
 
110
127
  A spec can contain multiple components.
111
128
 
112
129
  A `service` can contain:
113
130
  :param pulumi.Input['AppSpecArgs'] spec: A DigitalOcean App spec describing the app.
114
- :param pulumi.Input[builtins.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.
115
132
  """
116
133
  if active_deployment_id is not None:
117
134
  pulumi.set(__self__, "active_deployment_id", active_deployment_id)
@@ -123,6 +140,8 @@ class _AppState:
123
140
  pulumi.set(__self__, "dedicated_ips", dedicated_ips)
124
141
  if default_ingress is not None:
125
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)
126
145
  if live_domain is not None:
127
146
  pulumi.set(__self__, "live_domain", live_domain)
128
147
  if live_url is not None:
@@ -134,43 +153,43 @@ class _AppState:
134
153
  if updated_at is not None:
135
154
  pulumi.set(__self__, "updated_at", updated_at)
136
155
 
137
- @property
156
+ @_builtins.property
138
157
  @pulumi.getter(name="activeDeploymentId")
139
- def active_deployment_id(self) -> Optional[pulumi.Input[builtins.str]]:
158
+ def active_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
140
159
  """
141
160
  The ID the app's currently active deployment.
142
161
  """
143
162
  return pulumi.get(self, "active_deployment_id")
144
163
 
145
164
  @active_deployment_id.setter
146
- def active_deployment_id(self, value: Optional[pulumi.Input[builtins.str]]):
165
+ def active_deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
147
166
  pulumi.set(self, "active_deployment_id", value)
148
167
 
149
- @property
168
+ @_builtins.property
150
169
  @pulumi.getter(name="appUrn")
151
- def app_urn(self) -> Optional[pulumi.Input[builtins.str]]:
170
+ def app_urn(self) -> Optional[pulumi.Input[_builtins.str]]:
152
171
  """
153
172
  The uniform resource identifier for the app.
154
173
  """
155
174
  return pulumi.get(self, "app_urn")
156
175
 
157
176
  @app_urn.setter
158
- def app_urn(self, value: Optional[pulumi.Input[builtins.str]]):
177
+ def app_urn(self, value: Optional[pulumi.Input[_builtins.str]]):
159
178
  pulumi.set(self, "app_urn", value)
160
179
 
161
- @property
180
+ @_builtins.property
162
181
  @pulumi.getter(name="createdAt")
163
- def created_at(self) -> Optional[pulumi.Input[builtins.str]]:
182
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
164
183
  """
165
184
  The date and time of when the app was created.
166
185
  """
167
186
  return pulumi.get(self, "created_at")
168
187
 
169
188
  @created_at.setter
170
- def created_at(self, value: Optional[pulumi.Input[builtins.str]]):
189
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
171
190
  pulumi.set(self, "created_at", value)
172
191
 
173
- @property
192
+ @_builtins.property
174
193
  @pulumi.getter(name="dedicatedIps")
175
194
  def dedicated_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]:
176
195
  """
@@ -182,45 +201,57 @@ class _AppState:
182
201
  def dedicated_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppDedicatedIpArgs']]]]):
183
202
  pulumi.set(self, "dedicated_ips", value)
184
203
 
185
- @property
204
+ @_builtins.property
186
205
  @pulumi.getter(name="defaultIngress")
187
- def default_ingress(self) -> Optional[pulumi.Input[builtins.str]]:
206
+ def default_ingress(self) -> Optional[pulumi.Input[_builtins.str]]:
188
207
  """
189
208
  The default URL to access the app.
190
209
  """
191
210
  return pulumi.get(self, "default_ingress")
192
211
 
193
212
  @default_ingress.setter
194
- def default_ingress(self, value: Optional[pulumi.Input[builtins.str]]):
213
+ def default_ingress(self, value: Optional[pulumi.Input[_builtins.str]]):
195
214
  pulumi.set(self, "default_ingress", value)
196
215
 
197
- @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
198
229
  @pulumi.getter(name="liveDomain")
199
- def live_domain(self) -> Optional[pulumi.Input[builtins.str]]:
230
+ def live_domain(self) -> Optional[pulumi.Input[_builtins.str]]:
200
231
  """
201
232
  The live domain of the app.
202
233
  """
203
234
  return pulumi.get(self, "live_domain")
204
235
 
205
236
  @live_domain.setter
206
- def live_domain(self, value: Optional[pulumi.Input[builtins.str]]):
237
+ def live_domain(self, value: Optional[pulumi.Input[_builtins.str]]):
207
238
  pulumi.set(self, "live_domain", value)
208
239
 
209
- @property
240
+ @_builtins.property
210
241
  @pulumi.getter(name="liveUrl")
211
- def live_url(self) -> Optional[pulumi.Input[builtins.str]]:
242
+ def live_url(self) -> Optional[pulumi.Input[_builtins.str]]:
212
243
  """
213
244
  The live URL of the app.
214
245
  """
215
246
  return pulumi.get(self, "live_url")
216
247
 
217
248
  @live_url.setter
218
- def live_url(self, value: Optional[pulumi.Input[builtins.str]]):
249
+ def live_url(self, value: Optional[pulumi.Input[_builtins.str]]):
219
250
  pulumi.set(self, "live_url", value)
220
251
 
221
- @property
252
+ @_builtins.property
222
253
  @pulumi.getter(name="projectId")
223
- def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
254
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
224
255
  """
225
256
  The ID of the project that the app is assigned to.
226
257
 
@@ -231,10 +262,10 @@ class _AppState:
231
262
  return pulumi.get(self, "project_id")
232
263
 
233
264
  @project_id.setter
234
- def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
265
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
235
266
  pulumi.set(self, "project_id", value)
236
267
 
237
- @property
268
+ @_builtins.property
238
269
  @pulumi.getter
239
270
  def spec(self) -> Optional[pulumi.Input['AppSpecArgs']]:
240
271
  """
@@ -246,16 +277,16 @@ class _AppState:
246
277
  def spec(self, value: Optional[pulumi.Input['AppSpecArgs']]):
247
278
  pulumi.set(self, "spec", value)
248
279
 
249
- @property
280
+ @_builtins.property
250
281
  @pulumi.getter(name="updatedAt")
251
- def updated_at(self) -> Optional[pulumi.Input[builtins.str]]:
282
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
252
283
  """
253
284
  The date and time of when the app was last updated.
254
285
  """
255
286
  return pulumi.get(self, "updated_at")
256
287
 
257
288
  @updated_at.setter
258
- def updated_at(self, value: Optional[pulumi.Input[builtins.str]]):
289
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
259
290
  pulumi.set(self, "updated_at", value)
260
291
 
261
292
 
@@ -266,7 +297,8 @@ class App(pulumi.CustomResource):
266
297
  resource_name: str,
267
298
  opts: Optional[pulumi.ResourceOptions] = None,
268
299
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
269
- project_id: Optional[pulumi.Input[builtins.str]] = None,
300
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
301
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
270
302
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
271
303
  __props__=None):
272
304
  """
@@ -318,6 +350,8 @@ class App(pulumi.CustomResource):
318
350
  })
319
351
  ```
320
352
 
353
+ ### Multiple Components Example
354
+
321
355
  ### Log Destination Example with Opensearch
322
356
 
323
357
  ```python
@@ -349,6 +383,55 @@ class App(pulumi.CustomResource):
349
383
  })
350
384
  ```
351
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
+
352
435
  ## Import
353
436
 
354
437
  An app can be imported using its `id`, e.g.
@@ -360,7 +443,8 @@ class App(pulumi.CustomResource):
360
443
  :param str resource_name: The name of the resource.
361
444
  :param pulumi.ResourceOptions opts: Options for the resource.
362
445
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]] dedicated_ips: The dedicated egress IP addresses associated with the app.
363
- :param pulumi.Input[builtins.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.
364
448
 
365
449
  A spec can contain multiple components.
366
450
 
@@ -422,6 +506,8 @@ class App(pulumi.CustomResource):
422
506
  })
423
507
  ```
424
508
 
509
+ ### Multiple Components Example
510
+
425
511
  ### Log Destination Example with Opensearch
426
512
 
427
513
  ```python
@@ -453,6 +539,55 @@ class App(pulumi.CustomResource):
453
539
  })
454
540
  ```
455
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
+
456
591
  ## Import
457
592
 
458
593
  An app can be imported using its `id`, e.g.
@@ -477,7 +612,8 @@ class App(pulumi.CustomResource):
477
612
  resource_name: str,
478
613
  opts: Optional[pulumi.ResourceOptions] = None,
479
614
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
480
- project_id: Optional[pulumi.Input[builtins.str]] = None,
615
+ deployment_per_page: Optional[pulumi.Input[_builtins.int]] = None,
616
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
481
617
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
482
618
  __props__=None):
483
619
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -489,6 +625,7 @@ class App(pulumi.CustomResource):
489
625
  __props__ = AppArgs.__new__(AppArgs)
490
626
 
491
627
  __props__.__dict__["dedicated_ips"] = dedicated_ips
628
+ __props__.__dict__["deployment_per_page"] = deployment_per_page
492
629
  __props__.__dict__["project_id"] = project_id
493
630
  __props__.__dict__["spec"] = spec
494
631
  __props__.__dict__["active_deployment_id"] = None
@@ -508,16 +645,17 @@ class App(pulumi.CustomResource):
508
645
  def get(resource_name: str,
509
646
  id: pulumi.Input[str],
510
647
  opts: Optional[pulumi.ResourceOptions] = None,
511
- active_deployment_id: Optional[pulumi.Input[builtins.str]] = None,
512
- app_urn: Optional[pulumi.Input[builtins.str]] = None,
513
- created_at: Optional[pulumi.Input[builtins.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,
514
651
  dedicated_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]]] = None,
515
- default_ingress: Optional[pulumi.Input[builtins.str]] = None,
516
- live_domain: Optional[pulumi.Input[builtins.str]] = None,
517
- live_url: Optional[pulumi.Input[builtins.str]] = None,
518
- project_id: Optional[pulumi.Input[builtins.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,
519
657
  spec: Optional[pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']]] = None,
520
- updated_at: Optional[pulumi.Input[builtins.str]] = None) -> 'App':
658
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None) -> 'App':
521
659
  """
522
660
  Get an existing App resource's state with the given name, id, and optional extra
523
661
  properties used to qualify the lookup.
@@ -525,20 +663,21 @@ class App(pulumi.CustomResource):
525
663
  :param str resource_name: The unique name of the resulting resource.
526
664
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
527
665
  :param pulumi.ResourceOptions opts: Options for the resource.
528
- :param pulumi.Input[builtins.str] active_deployment_id: The ID the app's currently active deployment.
529
- :param pulumi.Input[builtins.str] app_urn: The uniform resource identifier for the app.
530
- :param pulumi.Input[builtins.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.
531
669
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppDedicatedIpArgs', 'AppDedicatedIpArgsDict']]]] dedicated_ips: The dedicated egress IP addresses associated with the app.
532
- :param pulumi.Input[builtins.str] default_ingress: The default URL to access the app.
533
- :param pulumi.Input[builtins.str] live_domain: The live domain of the app.
534
- :param pulumi.Input[builtins.str] live_url: The live URL of the app.
535
- :param pulumi.Input[builtins.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.
536
675
 
537
676
  A spec can contain multiple components.
538
677
 
539
678
  A `service` can contain:
540
679
  :param pulumi.Input[Union['AppSpecArgs', 'AppSpecArgsDict']] spec: A DigitalOcean App spec describing the app.
541
- :param pulumi.Input[builtins.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.
542
681
  """
543
682
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
544
683
 
@@ -549,6 +688,7 @@ class App(pulumi.CustomResource):
549
688
  __props__.__dict__["created_at"] = created_at
550
689
  __props__.__dict__["dedicated_ips"] = dedicated_ips
551
690
  __props__.__dict__["default_ingress"] = default_ingress
691
+ __props__.__dict__["deployment_per_page"] = deployment_per_page
552
692
  __props__.__dict__["live_domain"] = live_domain
553
693
  __props__.__dict__["live_url"] = live_url
554
694
  __props__.__dict__["project_id"] = project_id
@@ -556,31 +696,31 @@ class App(pulumi.CustomResource):
556
696
  __props__.__dict__["updated_at"] = updated_at
557
697
  return App(resource_name, opts=opts, __props__=__props__)
558
698
 
559
- @property
699
+ @_builtins.property
560
700
  @pulumi.getter(name="activeDeploymentId")
561
- def active_deployment_id(self) -> pulumi.Output[builtins.str]:
701
+ def active_deployment_id(self) -> pulumi.Output[_builtins.str]:
562
702
  """
563
703
  The ID the app's currently active deployment.
564
704
  """
565
705
  return pulumi.get(self, "active_deployment_id")
566
706
 
567
- @property
707
+ @_builtins.property
568
708
  @pulumi.getter(name="appUrn")
569
- def app_urn(self) -> pulumi.Output[builtins.str]:
709
+ def app_urn(self) -> pulumi.Output[_builtins.str]:
570
710
  """
571
711
  The uniform resource identifier for the app.
572
712
  """
573
713
  return pulumi.get(self, "app_urn")
574
714
 
575
- @property
715
+ @_builtins.property
576
716
  @pulumi.getter(name="createdAt")
577
- def created_at(self) -> pulumi.Output[builtins.str]:
717
+ def created_at(self) -> pulumi.Output[_builtins.str]:
578
718
  """
579
719
  The date and time of when the app was created.
580
720
  """
581
721
  return pulumi.get(self, "created_at")
582
722
 
583
- @property
723
+ @_builtins.property
584
724
  @pulumi.getter(name="dedicatedIps")
585
725
  def dedicated_ips(self) -> pulumi.Output[Sequence['outputs.AppDedicatedIp']]:
586
726
  """
@@ -588,33 +728,41 @@ class App(pulumi.CustomResource):
588
728
  """
589
729
  return pulumi.get(self, "dedicated_ips")
590
730
 
591
- @property
731
+ @_builtins.property
592
732
  @pulumi.getter(name="defaultIngress")
593
- def default_ingress(self) -> pulumi.Output[builtins.str]:
733
+ def default_ingress(self) -> pulumi.Output[_builtins.str]:
594
734
  """
595
735
  The default URL to access the app.
596
736
  """
597
737
  return pulumi.get(self, "default_ingress")
598
738
 
599
- @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
600
748
  @pulumi.getter(name="liveDomain")
601
- def live_domain(self) -> pulumi.Output[builtins.str]:
749
+ def live_domain(self) -> pulumi.Output[_builtins.str]:
602
750
  """
603
751
  The live domain of the app.
604
752
  """
605
753
  return pulumi.get(self, "live_domain")
606
754
 
607
- @property
755
+ @_builtins.property
608
756
  @pulumi.getter(name="liveUrl")
609
- def live_url(self) -> pulumi.Output[builtins.str]:
757
+ def live_url(self) -> pulumi.Output[_builtins.str]:
610
758
  """
611
759
  The live URL of the app.
612
760
  """
613
761
  return pulumi.get(self, "live_url")
614
762
 
615
- @property
763
+ @_builtins.property
616
764
  @pulumi.getter(name="projectId")
617
- def project_id(self) -> pulumi.Output[builtins.str]:
765
+ def project_id(self) -> pulumi.Output[_builtins.str]:
618
766
  """
619
767
  The ID of the project that the app is assigned to.
620
768
 
@@ -624,7 +772,7 @@ class App(pulumi.CustomResource):
624
772
  """
625
773
  return pulumi.get(self, "project_id")
626
774
 
627
- @property
775
+ @_builtins.property
628
776
  @pulumi.getter
629
777
  def spec(self) -> pulumi.Output[Optional['outputs.AppSpec']]:
630
778
  """
@@ -632,9 +780,9 @@ class App(pulumi.CustomResource):
632
780
  """
633
781
  return pulumi.get(self, "spec")
634
782
 
635
- @property
783
+ @_builtins.property
636
784
  @pulumi.getter(name="updatedAt")
637
- def updated_at(self) -> pulumi.Output[builtins.str]:
785
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
638
786
  """
639
787
  The date and time of when the app was last updated.
640
788
  """