pulumi-digitalocean 4.45.0a1747712448__py3-none-any.whl → 4.46.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.

Files changed (115) hide show
  1. pulumi_digitalocean/__init__.py +11 -1
  2. pulumi_digitalocean/_enums.py +1 -1
  3. pulumi_digitalocean/_inputs.py +158 -10
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +1 -1
  6. pulumi_digitalocean/cdn.py +1 -1
  7. pulumi_digitalocean/certificate.py +1 -1
  8. pulumi_digitalocean/config/__init__.py +1 -1
  9. pulumi_digitalocean/config/__init__.pyi +1 -1
  10. pulumi_digitalocean/config/vars.py +1 -1
  11. pulumi_digitalocean/container_registry.py +1 -1
  12. pulumi_digitalocean/container_registry_docker_credentials.py +1 -1
  13. pulumi_digitalocean/custom_image.py +1 -1
  14. pulumi_digitalocean/database_cluster.py +1 -1
  15. pulumi_digitalocean/database_connection_pool.py +1 -1
  16. pulumi_digitalocean/database_db.py +1 -1
  17. pulumi_digitalocean/database_firewall.py +1 -1
  18. pulumi_digitalocean/database_kafka_config.py +1 -1
  19. pulumi_digitalocean/database_kafka_topic.py +1 -1
  20. pulumi_digitalocean/database_mongodb_config.py +1 -1
  21. pulumi_digitalocean/database_mysql_config.py +1 -1
  22. pulumi_digitalocean/database_opensearch_config.py +1 -1
  23. pulumi_digitalocean/database_postgresql_config.py +1 -1
  24. pulumi_digitalocean/database_redis_config.py +1 -1
  25. pulumi_digitalocean/database_replica.py +1 -1
  26. pulumi_digitalocean/database_user.py +1 -1
  27. pulumi_digitalocean/dns_record.py +1 -1
  28. pulumi_digitalocean/domain.py +1 -1
  29. pulumi_digitalocean/droplet.py +1 -1
  30. pulumi_digitalocean/droplet_autoscale.py +1 -1
  31. pulumi_digitalocean/droplet_snapshot.py +1 -1
  32. pulumi_digitalocean/firewall.py +1 -1
  33. pulumi_digitalocean/floating_ip.py +1 -1
  34. pulumi_digitalocean/floating_ip_assignment.py +1 -1
  35. pulumi_digitalocean/get_account.py +1 -1
  36. pulumi_digitalocean/get_app.py +1 -1
  37. pulumi_digitalocean/get_certificate.py +1 -1
  38. pulumi_digitalocean/get_container_registry.py +1 -1
  39. pulumi_digitalocean/get_database_ca.py +1 -1
  40. pulumi_digitalocean/get_database_cluster.py +1 -1
  41. pulumi_digitalocean/get_database_connection_pool.py +1 -1
  42. pulumi_digitalocean/get_database_replica.py +1 -1
  43. pulumi_digitalocean/get_database_user.py +1 -1
  44. pulumi_digitalocean/get_domain.py +1 -1
  45. pulumi_digitalocean/get_domains.py +1 -1
  46. pulumi_digitalocean/get_droplet.py +1 -1
  47. pulumi_digitalocean/get_droplet_autoscale.py +1 -1
  48. pulumi_digitalocean/get_droplet_snapshot.py +1 -1
  49. pulumi_digitalocean/get_droplets.py +1 -1
  50. pulumi_digitalocean/get_firewall.py +1 -1
  51. pulumi_digitalocean/get_floating_ip.py +1 -1
  52. pulumi_digitalocean/get_image.py +1 -1
  53. pulumi_digitalocean/get_images.py +1 -1
  54. pulumi_digitalocean/get_kubernetes_cluster.py +1 -1
  55. pulumi_digitalocean/get_kubernetes_versions.py +1 -1
  56. pulumi_digitalocean/get_load_balancer.py +1 -1
  57. pulumi_digitalocean/get_partner_attachment.py +17 -2
  58. pulumi_digitalocean/get_project.py +1 -1
  59. pulumi_digitalocean/get_projects.py +1 -1
  60. pulumi_digitalocean/get_record.py +1 -1
  61. pulumi_digitalocean/get_records.py +1 -1
  62. pulumi_digitalocean/get_region.py +1 -1
  63. pulumi_digitalocean/get_regions.py +1 -1
  64. pulumi_digitalocean/get_reserved_ip.py +1 -1
  65. pulumi_digitalocean/get_reserved_ipv6.py +1 -1
  66. pulumi_digitalocean/get_sizes.py +1 -1
  67. pulumi_digitalocean/get_spaces_bucket.py +1 -1
  68. pulumi_digitalocean/get_spaces_bucket_object.py +1 -1
  69. pulumi_digitalocean/get_spaces_bucket_objects.py +1 -1
  70. pulumi_digitalocean/get_spaces_buckets.py +1 -1
  71. pulumi_digitalocean/get_spaces_key.py +1 -1
  72. pulumi_digitalocean/get_ssh_key.py +1 -1
  73. pulumi_digitalocean/get_ssh_keys.py +1 -1
  74. pulumi_digitalocean/get_tag.py +1 -1
  75. pulumi_digitalocean/get_tags.py +1 -1
  76. pulumi_digitalocean/get_volume.py +1 -1
  77. pulumi_digitalocean/get_volume_snapshot.py +1 -1
  78. pulumi_digitalocean/get_vpc.py +1 -1
  79. pulumi_digitalocean/get_vpc_nat_gateway.py +253 -0
  80. pulumi_digitalocean/get_vpc_peering.py +1 -1
  81. pulumi_digitalocean/kubernetes_cluster.py +14 -1
  82. pulumi_digitalocean/kubernetes_node_pool.py +1 -1
  83. pulumi_digitalocean/load_balancer.py +1 -1
  84. pulumi_digitalocean/monitor_alert.py +1 -1
  85. pulumi_digitalocean/outputs.py +211 -7
  86. pulumi_digitalocean/partner_attachment.py +49 -2
  87. pulumi_digitalocean/project.py +1 -1
  88. pulumi_digitalocean/project_resources.py +1 -1
  89. pulumi_digitalocean/provider.py +1 -1
  90. pulumi_digitalocean/pulumi-plugin.json +1 -1
  91. pulumi_digitalocean/reserved_ip.py +1 -1
  92. pulumi_digitalocean/reserved_ip_assignment.py +1 -1
  93. pulumi_digitalocean/reserved_ipv6.py +1 -1
  94. pulumi_digitalocean/reserved_ipv6_assignment.py +1 -1
  95. pulumi_digitalocean/spaces_bucket.py +1 -1
  96. pulumi_digitalocean/spaces_bucket_cors_configuration.py +1 -1
  97. pulumi_digitalocean/spaces_bucket_logging.py +1 -1
  98. pulumi_digitalocean/spaces_bucket_object.py +1 -1
  99. pulumi_digitalocean/spaces_bucket_policy.py +1 -1
  100. pulumi_digitalocean/spaces_key.py +1 -1
  101. pulumi_digitalocean/ssh_key.py +1 -1
  102. pulumi_digitalocean/tag.py +1 -1
  103. pulumi_digitalocean/uptime_alert.py +1 -1
  104. pulumi_digitalocean/uptime_check.py +1 -1
  105. pulumi_digitalocean/volume.py +1 -1
  106. pulumi_digitalocean/volume_attachment.py +1 -1
  107. pulumi_digitalocean/volume_snapshot.py +1 -1
  108. pulumi_digitalocean/vpc.py +1 -1
  109. pulumi_digitalocean/vpc_nat_gateway.py +672 -0
  110. pulumi_digitalocean/vpc_peering.py +1 -1
  111. {pulumi_digitalocean-4.45.0a1747712448.dist-info → pulumi_digitalocean-4.46.0.dist-info}/METADATA +1 -1
  112. pulumi_digitalocean-4.46.0.dist-info/RECORD +115 -0
  113. {pulumi_digitalocean-4.45.0a1747712448.dist-info → pulumi_digitalocean-4.46.0.dist-info}/WHEEL +1 -1
  114. pulumi_digitalocean-4.45.0a1747712448.dist-info/RECORD +0 -113
  115. {pulumi_digitalocean-4.45.0a1747712448.dist-info → pulumi_digitalocean-4.46.0.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
  import builtins
@@ -49,6 +49,7 @@ class KubernetesClusterArgs:
49
49
  :param pulumi.Input[builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
50
50
  :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
51
51
  :param pulumi.Input[builtins.str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
52
+ :param pulumi.Input['KubernetesClusterControlPlaneFirewallArgs'] control_plane_firewall: A block representing the cluster's control plane firewall
52
53
  :param pulumi.Input[builtins.bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
53
54
  :param pulumi.Input[builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
54
55
  :param pulumi.Input[builtins.int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
@@ -170,6 +171,9 @@ class KubernetesClusterArgs:
170
171
  @property
171
172
  @pulumi.getter(name="controlPlaneFirewall")
172
173
  def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
174
+ """
175
+ A block representing the cluster's control plane firewall
176
+ """
173
177
  return pulumi.get(self, "control_plane_firewall")
174
178
 
175
179
  @control_plane_firewall.setter
@@ -343,6 +347,7 @@ class _KubernetesClusterState:
343
347
  :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
344
348
  :param pulumi.Input[builtins.str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
345
349
  :param pulumi.Input[builtins.str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
350
+ :param pulumi.Input['KubernetesClusterControlPlaneFirewallArgs'] control_plane_firewall: A block representing the cluster's control plane firewall
346
351
  :param pulumi.Input[builtins.str] created_at: The date and time when the node was created.
347
352
  :param pulumi.Input[builtins.bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
348
353
  :param pulumi.Input[builtins.str] endpoint: The base URL of the API server on the Kubernetes master node.
@@ -466,6 +471,9 @@ class _KubernetesClusterState:
466
471
  @property
467
472
  @pulumi.getter(name="controlPlaneFirewall")
468
473
  def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
474
+ """
475
+ A block representing the cluster's control plane firewall
476
+ """
469
477
  return pulumi.get(self, "control_plane_firewall")
470
478
 
471
479
  @control_plane_firewall.setter
@@ -770,6 +778,7 @@ class KubernetesCluster(pulumi.CustomResource):
770
778
  :param pulumi.Input[builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
771
779
  :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
772
780
  :param pulumi.Input[builtins.str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
781
+ :param pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']] control_plane_firewall: A block representing the cluster's control plane firewall
773
782
  :param pulumi.Input[builtins.bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
774
783
  :param pulumi.Input[builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
775
784
  :param pulumi.Input[builtins.int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
@@ -939,6 +948,7 @@ class KubernetesCluster(pulumi.CustomResource):
939
948
  :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
940
949
  :param pulumi.Input[builtins.str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
941
950
  :param pulumi.Input[builtins.str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
951
+ :param pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']] control_plane_firewall: A block representing the cluster's control plane firewall
942
952
  :param pulumi.Input[builtins.str] created_at: The date and time when the node was created.
943
953
  :param pulumi.Input[builtins.bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
944
954
  :param pulumi.Input[builtins.str] endpoint: The base URL of the API server on the Kubernetes master node.
@@ -1026,6 +1036,9 @@ class KubernetesCluster(pulumi.CustomResource):
1026
1036
  @property
1027
1037
  @pulumi.getter(name="controlPlaneFirewall")
1028
1038
  def control_plane_firewall(self) -> pulumi.Output['outputs.KubernetesClusterControlPlaneFirewall']:
1039
+ """
1040
+ A block representing the cluster's control plane firewall
1041
+ """
1029
1042
  return pulumi.get(self, "control_plane_firewall")
1030
1043
 
1031
1044
  @property
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -161,6 +161,9 @@ __all__ = [
161
161
  'SpacesKeyGrant',
162
162
  'UptimeAlertNotification',
163
163
  'UptimeAlertNotificationSlack',
164
+ 'VpcNatGatewayEgress',
165
+ 'VpcNatGatewayEgressPublicGateway',
166
+ 'VpcNatGatewayVpc',
164
167
  'GetAppDedicatedIpResult',
165
168
  'GetAppSpecResult',
166
169
  'GetAppSpecAlertResult',
@@ -316,6 +319,9 @@ __all__ = [
316
319
  'GetTagsFilterResult',
317
320
  'GetTagsSortResult',
318
321
  'GetTagsTagResult',
322
+ 'GetVpcNatGatewayEgressResult',
323
+ 'GetVpcNatGatewayEgressPublicGatewayResult',
324
+ 'GetVpcNatGatewayVpcResult',
319
325
  ]
320
326
 
321
327
  @pulumi.output_type
@@ -8129,7 +8135,8 @@ class KubernetesClusterControlPlaneFirewall(dict):
8129
8135
  allowed_addresses: Sequence[builtins.str],
8130
8136
  enabled: builtins.bool):
8131
8137
  """
8132
- :param builtins.bool enabled: Boolean flag whether the routing-agent is enabled or not.
8138
+ :param Sequence[builtins.str] allowed_addresses: A list of addresses allowed (CIDR notation).
8139
+ :param builtins.bool enabled: Boolean flag whether the firewall should be enabled or not.
8133
8140
  """
8134
8141
  pulumi.set(__self__, "allowed_addresses", allowed_addresses)
8135
8142
  pulumi.set(__self__, "enabled", enabled)
@@ -8137,13 +8144,16 @@ class KubernetesClusterControlPlaneFirewall(dict):
8137
8144
  @property
8138
8145
  @pulumi.getter(name="allowedAddresses")
8139
8146
  def allowed_addresses(self) -> Sequence[builtins.str]:
8147
+ """
8148
+ A list of addresses allowed (CIDR notation).
8149
+ """
8140
8150
  return pulumi.get(self, "allowed_addresses")
8141
8151
 
8142
8152
  @property
8143
8153
  @pulumi.getter
8144
8154
  def enabled(self) -> builtins.bool:
8145
8155
  """
8146
- Boolean flag whether the routing-agent is enabled or not.
8156
+ Boolean flag whether the firewall should be enabled or not.
8147
8157
  """
8148
8158
  return pulumi.get(self, "enabled")
8149
8159
 
@@ -8832,7 +8842,7 @@ class LoadBalancerDomain(dict):
8832
8842
  verification_error_reasons: Optional[Sequence[builtins.str]] = None):
8833
8843
  """
8834
8844
  :param builtins.str name: The domain name to be used for ingressing traffic to a Global Load Balancer.
8835
- :param builtins.str certificate_id: The certificate id associated with the domain used for TLS handshaking.
8845
+ :param builtins.str certificate_id: **Deprecated** The certificate ID to be used for TLS handshaking.
8836
8846
  :param builtins.str certificate_name: The certificate name to be used for TLS handshaking.
8837
8847
  :param builtins.bool is_managed: Control flag to specify whether the domain is managed by DigitalOcean.
8838
8848
  :param Sequence[builtins.str] ssl_validation_error_reasons: list of domain SSL validation errors
@@ -8862,7 +8872,7 @@ class LoadBalancerDomain(dict):
8862
8872
  @pulumi.getter(name="certificateId")
8863
8873
  def certificate_id(self) -> Optional[builtins.str]:
8864
8874
  """
8865
- The certificate id associated with the domain used for TLS handshaking.
8875
+ **Deprecated** The certificate ID to be used for TLS handshaking.
8866
8876
  """
8867
8877
  return pulumi.get(self, "certificate_id")
8868
8878
 
@@ -8976,7 +8986,7 @@ class LoadBalancerForwardingRule(dict):
8976
8986
  :param builtins.str entry_protocol: The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`.
8977
8987
  :param builtins.int target_port: An integer representing the port on the backend Droplets to which the Load Balancer will send traffic.
8978
8988
  :param builtins.str target_protocol: The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`.
8979
- :param builtins.str certificate_id: **Deprecated** The ID of the TLS certificate to be used for SSL termination.
8989
+ :param builtins.str certificate_id: **Deprecated** The ID of the TLS certificate to be used for SSL termination. Use `certificate_name` instead.
8980
8990
  :param builtins.str certificate_name: The unique name of the TLS certificate to be used for SSL termination.
8981
8991
  :param builtins.bool tls_passthrough: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`.
8982
8992
  """
@@ -9028,7 +9038,7 @@ class LoadBalancerForwardingRule(dict):
9028
9038
  @_utilities.deprecated("""Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.""")
9029
9039
  def certificate_id(self) -> Optional[builtins.str]:
9030
9040
  """
9031
- **Deprecated** The ID of the TLS certificate to be used for SSL termination.
9041
+ **Deprecated** The ID of the TLS certificate to be used for SSL termination. Use `certificate_name` instead.
9032
9042
  """
9033
9043
  return pulumi.get(self, "certificate_id")
9034
9044
 
@@ -9933,6 +9943,124 @@ class UptimeAlertNotificationSlack(dict):
9933
9943
  return pulumi.get(self, "url")
9934
9944
 
9935
9945
 
9946
+ @pulumi.output_type
9947
+ class VpcNatGatewayEgress(dict):
9948
+ @staticmethod
9949
+ def __key_warning(key: str):
9950
+ suggest = None
9951
+ if key == "publicGateways":
9952
+ suggest = "public_gateways"
9953
+
9954
+ if suggest:
9955
+ pulumi.log.warn(f"Key '{key}' not found in VpcNatGatewayEgress. Access the value via the '{suggest}' property getter instead.")
9956
+
9957
+ def __getitem__(self, key: str) -> Any:
9958
+ VpcNatGatewayEgress.__key_warning(key)
9959
+ return super().__getitem__(key)
9960
+
9961
+ def get(self, key: str, default = None) -> Any:
9962
+ VpcNatGatewayEgress.__key_warning(key)
9963
+ return super().get(key, default)
9964
+
9965
+ def __init__(__self__, *,
9966
+ public_gateways: Optional[Sequence['outputs.VpcNatGatewayEgressPublicGateway']] = None):
9967
+ """
9968
+ :param Sequence['VpcNatGatewayEgressPublicGatewayArgs'] public_gateways: List of public gateway IPs
9969
+ """
9970
+ if public_gateways is not None:
9971
+ pulumi.set(__self__, "public_gateways", public_gateways)
9972
+
9973
+ @property
9974
+ @pulumi.getter(name="publicGateways")
9975
+ def public_gateways(self) -> Optional[Sequence['outputs.VpcNatGatewayEgressPublicGateway']]:
9976
+ """
9977
+ List of public gateway IPs
9978
+ """
9979
+ return pulumi.get(self, "public_gateways")
9980
+
9981
+
9982
+ @pulumi.output_type
9983
+ class VpcNatGatewayEgressPublicGateway(dict):
9984
+ def __init__(__self__, *,
9985
+ ipv4: Optional[builtins.str] = None):
9986
+ """
9987
+ :param builtins.str ipv4: IPv4 address
9988
+ """
9989
+ if ipv4 is not None:
9990
+ pulumi.set(__self__, "ipv4", ipv4)
9991
+
9992
+ @property
9993
+ @pulumi.getter
9994
+ def ipv4(self) -> Optional[builtins.str]:
9995
+ """
9996
+ IPv4 address
9997
+ """
9998
+ return pulumi.get(self, "ipv4")
9999
+
10000
+
10001
+ @pulumi.output_type
10002
+ class VpcNatGatewayVpc(dict):
10003
+ @staticmethod
10004
+ def __key_warning(key: str):
10005
+ suggest = None
10006
+ if key == "vpcUuid":
10007
+ suggest = "vpc_uuid"
10008
+ elif key == "defaultGateway":
10009
+ suggest = "default_gateway"
10010
+ elif key == "gatewayIp":
10011
+ suggest = "gateway_ip"
10012
+
10013
+ if suggest:
10014
+ pulumi.log.warn(f"Key '{key}' not found in VpcNatGatewayVpc. Access the value via the '{suggest}' property getter instead.")
10015
+
10016
+ def __getitem__(self, key: str) -> Any:
10017
+ VpcNatGatewayVpc.__key_warning(key)
10018
+ return super().__getitem__(key)
10019
+
10020
+ def get(self, key: str, default = None) -> Any:
10021
+ VpcNatGatewayVpc.__key_warning(key)
10022
+ return super().get(key, default)
10023
+
10024
+ def __init__(__self__, *,
10025
+ vpc_uuid: builtins.str,
10026
+ default_gateway: Optional[builtins.bool] = None,
10027
+ gateway_ip: Optional[builtins.str] = None):
10028
+ """
10029
+ :param builtins.str vpc_uuid: The ID of the ingress VPC
10030
+ :param builtins.bool default_gateway: Boolean flag indicating if this should be the default gateway in this VPC
10031
+ :param builtins.str gateway_ip: The private IP of the VPC NAT Gateway
10032
+ """
10033
+ pulumi.set(__self__, "vpc_uuid", vpc_uuid)
10034
+ if default_gateway is not None:
10035
+ pulumi.set(__self__, "default_gateway", default_gateway)
10036
+ if gateway_ip is not None:
10037
+ pulumi.set(__self__, "gateway_ip", gateway_ip)
10038
+
10039
+ @property
10040
+ @pulumi.getter(name="vpcUuid")
10041
+ def vpc_uuid(self) -> builtins.str:
10042
+ """
10043
+ The ID of the ingress VPC
10044
+ """
10045
+ return pulumi.get(self, "vpc_uuid")
10046
+
10047
+ @property
10048
+ @pulumi.getter(name="defaultGateway")
10049
+ def default_gateway(self) -> Optional[builtins.bool]:
10050
+ """
10051
+ Boolean flag indicating if this should be the default gateway in this VPC
10052
+ """
10053
+ return pulumi.get(self, "default_gateway")
10054
+
10055
+ @property
10056
+ @pulumi.getter(name="gatewayIp")
10057
+ def gateway_ip(self) -> Optional[builtins.str]:
10058
+ """
10059
+ The private IP of the VPC NAT Gateway
10060
+ """
10061
+ return pulumi.get(self, "gateway_ip")
10062
+
10063
+
9936
10064
  @pulumi.output_type
9937
10065
  class GetAppDedicatedIpResult(dict):
9938
10066
  def __init__(__self__, *,
@@ -18504,3 +18632,79 @@ class GetTagsTagResult(dict):
18504
18632
  return pulumi.get(self, "volumes_count")
18505
18633
 
18506
18634
 
18635
+ @pulumi.output_type
18636
+ class GetVpcNatGatewayEgressResult(dict):
18637
+ def __init__(__self__, *,
18638
+ public_gateways: Sequence['outputs.GetVpcNatGatewayEgressPublicGatewayResult']):
18639
+ """
18640
+ :param Sequence['GetVpcNatGatewayEgressPublicGatewayArgs'] public_gateways: List of public gateway IPs
18641
+ """
18642
+ pulumi.set(__self__, "public_gateways", public_gateways)
18643
+
18644
+ @property
18645
+ @pulumi.getter(name="publicGateways")
18646
+ def public_gateways(self) -> Sequence['outputs.GetVpcNatGatewayEgressPublicGatewayResult']:
18647
+ """
18648
+ List of public gateway IPs
18649
+ """
18650
+ return pulumi.get(self, "public_gateways")
18651
+
18652
+
18653
+ @pulumi.output_type
18654
+ class GetVpcNatGatewayEgressPublicGatewayResult(dict):
18655
+ def __init__(__self__, *,
18656
+ ipv4: builtins.str):
18657
+ """
18658
+ :param builtins.str ipv4: IPv4 address
18659
+ """
18660
+ pulumi.set(__self__, "ipv4", ipv4)
18661
+
18662
+ @property
18663
+ @pulumi.getter
18664
+ def ipv4(self) -> builtins.str:
18665
+ """
18666
+ IPv4 address
18667
+ """
18668
+ return pulumi.get(self, "ipv4")
18669
+
18670
+
18671
+ @pulumi.output_type
18672
+ class GetVpcNatGatewayVpcResult(dict):
18673
+ def __init__(__self__, *,
18674
+ default_gateway: builtins.bool,
18675
+ gateway_ip: builtins.str,
18676
+ vpc_uuid: builtins.str):
18677
+ """
18678
+ :param builtins.bool default_gateway: Indicates if this is the default VPC NAT Gateway in the VPC
18679
+ :param builtins.str gateway_ip: Gateway IP of the VPC NAT Gateway
18680
+ :param builtins.str vpc_uuid: ID of the ingress VPC
18681
+ """
18682
+ pulumi.set(__self__, "default_gateway", default_gateway)
18683
+ pulumi.set(__self__, "gateway_ip", gateway_ip)
18684
+ pulumi.set(__self__, "vpc_uuid", vpc_uuid)
18685
+
18686
+ @property
18687
+ @pulumi.getter(name="defaultGateway")
18688
+ def default_gateway(self) -> builtins.bool:
18689
+ """
18690
+ Indicates if this is the default VPC NAT Gateway in the VPC
18691
+ """
18692
+ return pulumi.get(self, "default_gateway")
18693
+
18694
+ @property
18695
+ @pulumi.getter(name="gatewayIp")
18696
+ def gateway_ip(self) -> builtins.str:
18697
+ """
18698
+ Gateway IP of the VPC NAT Gateway
18699
+ """
18700
+ return pulumi.get(self, "gateway_ip")
18701
+
18702
+ @property
18703
+ @pulumi.getter(name="vpcUuid")
18704
+ def vpc_uuid(self) -> builtins.str:
18705
+ """
18706
+ ID of the ingress VPC
18707
+ """
18708
+ return pulumi.get(self, "vpc_uuid")
18709
+
18710
+
@@ -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
  import builtins
@@ -27,7 +27,8 @@ class PartnerAttachmentArgs:
27
27
  region: pulumi.Input[builtins.str],
28
28
  vpc_ids: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
29
29
  bgp: Optional[pulumi.Input['PartnerAttachmentBgpArgs']] = None,
30
- name: Optional[pulumi.Input[builtins.str]] = None):
30
+ name: Optional[pulumi.Input[builtins.str]] = None,
31
+ redundancy_zone: Optional[pulumi.Input[builtins.str]] = None):
31
32
  """
32
33
  The set of arguments for constructing a PartnerAttachment resource.
33
34
  :param pulumi.Input[builtins.int] connection_bandwidth_in_mbps: The connection bandwidth in Mbps
@@ -35,6 +36,7 @@ class PartnerAttachmentArgs:
35
36
  :param pulumi.Input[builtins.str] region: The region where the Partner Attachment will be created
36
37
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] vpc_ids: The list of VPC IDs to attach the Partner Attachment to
37
38
  :param pulumi.Input[builtins.str] name: The name of the Partner Attachment
39
+ :param pulumi.Input[builtins.str] redundancy_zone: The redundancy zone for the NaaS
38
40
  """
39
41
  pulumi.set(__self__, "connection_bandwidth_in_mbps", connection_bandwidth_in_mbps)
40
42
  pulumi.set(__self__, "naas_provider", naas_provider)
@@ -44,6 +46,8 @@ class PartnerAttachmentArgs:
44
46
  pulumi.set(__self__, "bgp", bgp)
45
47
  if name is not None:
46
48
  pulumi.set(__self__, "name", name)
49
+ if redundancy_zone is not None:
50
+ pulumi.set(__self__, "redundancy_zone", redundancy_zone)
47
51
 
48
52
  @property
49
53
  @pulumi.getter(name="connectionBandwidthInMbps")
@@ -114,6 +118,18 @@ class PartnerAttachmentArgs:
114
118
  def name(self, value: Optional[pulumi.Input[builtins.str]]):
115
119
  pulumi.set(self, "name", value)
116
120
 
121
+ @property
122
+ @pulumi.getter(name="redundancyZone")
123
+ def redundancy_zone(self) -> Optional[pulumi.Input[builtins.str]]:
124
+ """
125
+ The redundancy zone for the NaaS
126
+ """
127
+ return pulumi.get(self, "redundancy_zone")
128
+
129
+ @redundancy_zone.setter
130
+ def redundancy_zone(self, value: Optional[pulumi.Input[builtins.str]]):
131
+ pulumi.set(self, "redundancy_zone", value)
132
+
117
133
 
118
134
  @pulumi.input_type
119
135
  class _PartnerAttachmentState:
@@ -123,6 +139,7 @@ class _PartnerAttachmentState:
123
139
  created_at: Optional[pulumi.Input[builtins.str]] = None,
124
140
  naas_provider: Optional[pulumi.Input[builtins.str]] = None,
125
141
  name: Optional[pulumi.Input[builtins.str]] = None,
142
+ redundancy_zone: Optional[pulumi.Input[builtins.str]] = None,
126
143
  region: Optional[pulumi.Input[builtins.str]] = None,
127
144
  state: Optional[pulumi.Input[builtins.str]] = None,
128
145
  vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
@@ -132,6 +149,7 @@ class _PartnerAttachmentState:
132
149
  :param pulumi.Input[builtins.str] created_at: The date and time when the Partner Attachment was created
133
150
  :param pulumi.Input[builtins.str] naas_provider: The NaaS provider
134
151
  :param pulumi.Input[builtins.str] name: The name of the Partner Attachment
152
+ :param pulumi.Input[builtins.str] redundancy_zone: The redundancy zone for the NaaS
135
153
  :param pulumi.Input[builtins.str] region: The region where the Partner Attachment will be created
136
154
  :param pulumi.Input[builtins.str] state: The state of the Partner Attachment
137
155
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] vpc_ids: The list of VPC IDs to attach the Partner Attachment to
@@ -146,6 +164,8 @@ class _PartnerAttachmentState:
146
164
  pulumi.set(__self__, "naas_provider", naas_provider)
147
165
  if name is not None:
148
166
  pulumi.set(__self__, "name", name)
167
+ if redundancy_zone is not None:
168
+ pulumi.set(__self__, "redundancy_zone", redundancy_zone)
149
169
  if region is not None:
150
170
  pulumi.set(__self__, "region", region)
151
171
  if state is not None:
@@ -210,6 +230,18 @@ class _PartnerAttachmentState:
210
230
  def name(self, value: Optional[pulumi.Input[builtins.str]]):
211
231
  pulumi.set(self, "name", value)
212
232
 
233
+ @property
234
+ @pulumi.getter(name="redundancyZone")
235
+ def redundancy_zone(self) -> Optional[pulumi.Input[builtins.str]]:
236
+ """
237
+ The redundancy zone for the NaaS
238
+ """
239
+ return pulumi.get(self, "redundancy_zone")
240
+
241
+ @redundancy_zone.setter
242
+ def redundancy_zone(self, value: Optional[pulumi.Input[builtins.str]]):
243
+ pulumi.set(self, "redundancy_zone", value)
244
+
213
245
  @property
214
246
  @pulumi.getter
215
247
  def region(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -257,6 +289,7 @@ class PartnerAttachment(pulumi.CustomResource):
257
289
  connection_bandwidth_in_mbps: Optional[pulumi.Input[builtins.int]] = None,
258
290
  naas_provider: Optional[pulumi.Input[builtins.str]] = None,
259
291
  name: Optional[pulumi.Input[builtins.str]] = None,
292
+ redundancy_zone: Optional[pulumi.Input[builtins.str]] = None,
260
293
  region: Optional[pulumi.Input[builtins.str]] = None,
261
294
  vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
262
295
  __props__=None):
@@ -267,6 +300,7 @@ class PartnerAttachment(pulumi.CustomResource):
267
300
  :param pulumi.Input[builtins.int] connection_bandwidth_in_mbps: The connection bandwidth in Mbps
268
301
  :param pulumi.Input[builtins.str] naas_provider: The NaaS provider
269
302
  :param pulumi.Input[builtins.str] name: The name of the Partner Attachment
303
+ :param pulumi.Input[builtins.str] redundancy_zone: The redundancy zone for the NaaS
270
304
  :param pulumi.Input[builtins.str] region: The region where the Partner Attachment will be created
271
305
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] vpc_ids: The list of VPC IDs to attach the Partner Attachment to
272
306
  """
@@ -297,6 +331,7 @@ class PartnerAttachment(pulumi.CustomResource):
297
331
  connection_bandwidth_in_mbps: Optional[pulumi.Input[builtins.int]] = None,
298
332
  naas_provider: Optional[pulumi.Input[builtins.str]] = None,
299
333
  name: Optional[pulumi.Input[builtins.str]] = None,
334
+ redundancy_zone: Optional[pulumi.Input[builtins.str]] = None,
300
335
  region: Optional[pulumi.Input[builtins.str]] = None,
301
336
  vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
302
337
  __props__=None):
@@ -316,6 +351,7 @@ class PartnerAttachment(pulumi.CustomResource):
316
351
  raise TypeError("Missing required property 'naas_provider'")
317
352
  __props__.__dict__["naas_provider"] = naas_provider
318
353
  __props__.__dict__["name"] = name
354
+ __props__.__dict__["redundancy_zone"] = redundancy_zone
319
355
  if region is None and not opts.urn:
320
356
  raise TypeError("Missing required property 'region'")
321
357
  __props__.__dict__["region"] = region
@@ -339,6 +375,7 @@ class PartnerAttachment(pulumi.CustomResource):
339
375
  created_at: Optional[pulumi.Input[builtins.str]] = None,
340
376
  naas_provider: Optional[pulumi.Input[builtins.str]] = None,
341
377
  name: Optional[pulumi.Input[builtins.str]] = None,
378
+ redundancy_zone: Optional[pulumi.Input[builtins.str]] = None,
342
379
  region: Optional[pulumi.Input[builtins.str]] = None,
343
380
  state: Optional[pulumi.Input[builtins.str]] = None,
344
381
  vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None) -> 'PartnerAttachment':
@@ -353,6 +390,7 @@ class PartnerAttachment(pulumi.CustomResource):
353
390
  :param pulumi.Input[builtins.str] created_at: The date and time when the Partner Attachment was created
354
391
  :param pulumi.Input[builtins.str] naas_provider: The NaaS provider
355
392
  :param pulumi.Input[builtins.str] name: The name of the Partner Attachment
393
+ :param pulumi.Input[builtins.str] redundancy_zone: The redundancy zone for the NaaS
356
394
  :param pulumi.Input[builtins.str] region: The region where the Partner Attachment will be created
357
395
  :param pulumi.Input[builtins.str] state: The state of the Partner Attachment
358
396
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] vpc_ids: The list of VPC IDs to attach the Partner Attachment to
@@ -366,6 +404,7 @@ class PartnerAttachment(pulumi.CustomResource):
366
404
  __props__.__dict__["created_at"] = created_at
367
405
  __props__.__dict__["naas_provider"] = naas_provider
368
406
  __props__.__dict__["name"] = name
407
+ __props__.__dict__["redundancy_zone"] = redundancy_zone
369
408
  __props__.__dict__["region"] = region
370
409
  __props__.__dict__["state"] = state
371
410
  __props__.__dict__["vpc_ids"] = vpc_ids
@@ -408,6 +447,14 @@ class PartnerAttachment(pulumi.CustomResource):
408
447
  """
409
448
  return pulumi.get(self, "name")
410
449
 
450
+ @property
451
+ @pulumi.getter(name="redundancyZone")
452
+ def redundancy_zone(self) -> pulumi.Output[Optional[builtins.str]]:
453
+ """
454
+ The redundancy zone for the NaaS
455
+ """
456
+ return pulumi.get(self, "redundancy_zone")
457
+
411
458
  @property
412
459
  @pulumi.getter
413
460
  def region(self) -> pulumi.Output[builtins.str]:
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "digitalocean",
4
- "version": "4.45.0-alpha.1747712448"
4
+ "version": "4.46.0"
5
5
  }
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins
@@ -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
  import builtins