pulumi-digitalocean 4.37.0a1733982058__py3-none-any.whl → 4.37.0a1734099763__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.

@@ -113,6 +113,9 @@ __all__ = [
113
113
  'DatabaseUserSetting',
114
114
  'DatabaseUserSettingAcl',
115
115
  'DatabaseUserSettingOpensearchAcl',
116
+ 'DropletAutoscaleConfig',
117
+ 'DropletAutoscaleCurrentUtilization',
118
+ 'DropletAutoscaleDropletTemplate',
116
119
  'DropletBackupPolicy',
117
120
  'FirewallInboundRule',
118
121
  'FirewallOutboundRule',
@@ -234,6 +237,9 @@ __all__ = [
234
237
  'GetDomainsDomainResult',
235
238
  'GetDomainsFilterResult',
236
239
  'GetDomainsSortResult',
240
+ 'GetDropletAutoscaleConfigResult',
241
+ 'GetDropletAutoscaleCurrentUtilizationResult',
242
+ 'GetDropletAutoscaleDropletTemplateResult',
237
243
  'GetDropletsDropletResult',
238
244
  'GetDropletsFilterResult',
239
245
  'GetDropletsSortResult',
@@ -6668,6 +6674,301 @@ class DatabaseUserSettingOpensearchAcl(dict):
6668
6674
  return pulumi.get(self, "permission")
6669
6675
 
6670
6676
 
6677
+ @pulumi.output_type
6678
+ class DropletAutoscaleConfig(dict):
6679
+ @staticmethod
6680
+ def __key_warning(key: str):
6681
+ suggest = None
6682
+ if key == "cooldownMinutes":
6683
+ suggest = "cooldown_minutes"
6684
+ elif key == "maxInstances":
6685
+ suggest = "max_instances"
6686
+ elif key == "minInstances":
6687
+ suggest = "min_instances"
6688
+ elif key == "targetCpuUtilization":
6689
+ suggest = "target_cpu_utilization"
6690
+ elif key == "targetMemoryUtilization":
6691
+ suggest = "target_memory_utilization"
6692
+ elif key == "targetNumberInstances":
6693
+ suggest = "target_number_instances"
6694
+
6695
+ if suggest:
6696
+ pulumi.log.warn(f"Key '{key}' not found in DropletAutoscaleConfig. Access the value via the '{suggest}' property getter instead.")
6697
+
6698
+ def __getitem__(self, key: str) -> Any:
6699
+ DropletAutoscaleConfig.__key_warning(key)
6700
+ return super().__getitem__(key)
6701
+
6702
+ def get(self, key: str, default = None) -> Any:
6703
+ DropletAutoscaleConfig.__key_warning(key)
6704
+ return super().get(key, default)
6705
+
6706
+ def __init__(__self__, *,
6707
+ cooldown_minutes: Optional[int] = None,
6708
+ max_instances: Optional[int] = None,
6709
+ min_instances: Optional[int] = None,
6710
+ target_cpu_utilization: Optional[float] = None,
6711
+ target_memory_utilization: Optional[float] = None,
6712
+ target_number_instances: Optional[int] = None):
6713
+ """
6714
+ :param int cooldown_minutes: The cooldown duration between scaling events for the Droplet Autoscale pool.
6715
+ :param int max_instances: The maximum number of instances to maintain in the Droplet Autoscale pool.
6716
+ :param int min_instances: The minimum number of instances to maintain in the Droplet Autoscale pool.
6717
+ :param float target_cpu_utilization: The target average CPU load (in range `[0, 1]`) to maintain in the Droplet Autoscale pool.
6718
+ :param float target_memory_utilization: The target average Memory load (in range `[0, 1]`) to maintain in the Droplet Autoscale
6719
+ pool.
6720
+ :param int target_number_instances: The static number of instances to maintain in the pool Droplet Autoscale pool. This
6721
+ argument cannot be used with any other config options.
6722
+ """
6723
+ if cooldown_minutes is not None:
6724
+ pulumi.set(__self__, "cooldown_minutes", cooldown_minutes)
6725
+ if max_instances is not None:
6726
+ pulumi.set(__self__, "max_instances", max_instances)
6727
+ if min_instances is not None:
6728
+ pulumi.set(__self__, "min_instances", min_instances)
6729
+ if target_cpu_utilization is not None:
6730
+ pulumi.set(__self__, "target_cpu_utilization", target_cpu_utilization)
6731
+ if target_memory_utilization is not None:
6732
+ pulumi.set(__self__, "target_memory_utilization", target_memory_utilization)
6733
+ if target_number_instances is not None:
6734
+ pulumi.set(__self__, "target_number_instances", target_number_instances)
6735
+
6736
+ @property
6737
+ @pulumi.getter(name="cooldownMinutes")
6738
+ def cooldown_minutes(self) -> Optional[int]:
6739
+ """
6740
+ The cooldown duration between scaling events for the Droplet Autoscale pool.
6741
+ """
6742
+ return pulumi.get(self, "cooldown_minutes")
6743
+
6744
+ @property
6745
+ @pulumi.getter(name="maxInstances")
6746
+ def max_instances(self) -> Optional[int]:
6747
+ """
6748
+ The maximum number of instances to maintain in the Droplet Autoscale pool.
6749
+ """
6750
+ return pulumi.get(self, "max_instances")
6751
+
6752
+ @property
6753
+ @pulumi.getter(name="minInstances")
6754
+ def min_instances(self) -> Optional[int]:
6755
+ """
6756
+ The minimum number of instances to maintain in the Droplet Autoscale pool.
6757
+ """
6758
+ return pulumi.get(self, "min_instances")
6759
+
6760
+ @property
6761
+ @pulumi.getter(name="targetCpuUtilization")
6762
+ def target_cpu_utilization(self) -> Optional[float]:
6763
+ """
6764
+ The target average CPU load (in range `[0, 1]`) to maintain in the Droplet Autoscale pool.
6765
+ """
6766
+ return pulumi.get(self, "target_cpu_utilization")
6767
+
6768
+ @property
6769
+ @pulumi.getter(name="targetMemoryUtilization")
6770
+ def target_memory_utilization(self) -> Optional[float]:
6771
+ """
6772
+ The target average Memory load (in range `[0, 1]`) to maintain in the Droplet Autoscale
6773
+ pool.
6774
+ """
6775
+ return pulumi.get(self, "target_memory_utilization")
6776
+
6777
+ @property
6778
+ @pulumi.getter(name="targetNumberInstances")
6779
+ def target_number_instances(self) -> Optional[int]:
6780
+ """
6781
+ The static number of instances to maintain in the pool Droplet Autoscale pool. This
6782
+ argument cannot be used with any other config options.
6783
+ """
6784
+ return pulumi.get(self, "target_number_instances")
6785
+
6786
+
6787
+ @pulumi.output_type
6788
+ class DropletAutoscaleCurrentUtilization(dict):
6789
+ def __init__(__self__, *,
6790
+ cpu: Optional[float] = None,
6791
+ memory: Optional[float] = None):
6792
+ """
6793
+ :param float cpu: Average CPU utilization
6794
+ :param float memory: Average Memory utilization
6795
+ """
6796
+ if cpu is not None:
6797
+ pulumi.set(__self__, "cpu", cpu)
6798
+ if memory is not None:
6799
+ pulumi.set(__self__, "memory", memory)
6800
+
6801
+ @property
6802
+ @pulumi.getter
6803
+ def cpu(self) -> Optional[float]:
6804
+ """
6805
+ Average CPU utilization
6806
+ """
6807
+ return pulumi.get(self, "cpu")
6808
+
6809
+ @property
6810
+ @pulumi.getter
6811
+ def memory(self) -> Optional[float]:
6812
+ """
6813
+ Average Memory utilization
6814
+ """
6815
+ return pulumi.get(self, "memory")
6816
+
6817
+
6818
+ @pulumi.output_type
6819
+ class DropletAutoscaleDropletTemplate(dict):
6820
+ @staticmethod
6821
+ def __key_warning(key: str):
6822
+ suggest = None
6823
+ if key == "sshKeys":
6824
+ suggest = "ssh_keys"
6825
+ elif key == "projectId":
6826
+ suggest = "project_id"
6827
+ elif key == "userData":
6828
+ suggest = "user_data"
6829
+ elif key == "vpcUuid":
6830
+ suggest = "vpc_uuid"
6831
+ elif key == "withDropletAgent":
6832
+ suggest = "with_droplet_agent"
6833
+
6834
+ if suggest:
6835
+ pulumi.log.warn(f"Key '{key}' not found in DropletAutoscaleDropletTemplate. Access the value via the '{suggest}' property getter instead.")
6836
+
6837
+ def __getitem__(self, key: str) -> Any:
6838
+ DropletAutoscaleDropletTemplate.__key_warning(key)
6839
+ return super().__getitem__(key)
6840
+
6841
+ def get(self, key: str, default = None) -> Any:
6842
+ DropletAutoscaleDropletTemplate.__key_warning(key)
6843
+ return super().get(key, default)
6844
+
6845
+ def __init__(__self__, *,
6846
+ image: str,
6847
+ region: str,
6848
+ size: str,
6849
+ ssh_keys: Sequence[str],
6850
+ ipv6: Optional[bool] = None,
6851
+ project_id: Optional[str] = None,
6852
+ tags: Optional[Sequence[str]] = None,
6853
+ user_data: Optional[str] = None,
6854
+ vpc_uuid: Optional[str] = None,
6855
+ with_droplet_agent: Optional[bool] = None):
6856
+ """
6857
+ :param str image: Image slug of the Droplet Autoscale pool underlying resource(s).
6858
+ :param str region: Region slug of the Droplet Autoscale pool underlying resource(s).
6859
+ :param str size: Size slug of the Droplet Autoscale pool underlying resource(s).
6860
+ :param Sequence[str] ssh_keys: SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
6861
+ :param bool ipv6: Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
6862
+ :param str project_id: Project UUID to create the Droplet Autoscale pool underlying resource(s).
6863
+ :param Sequence[str] tags: List of tags to add to the Droplet Autoscale pool underlying resource(s).
6864
+ :param str user_data: Custom user data that can be added to the Droplet Autoscale pool underlying resource(s). This can be a
6865
+ cloud init script that user may configure to setup their application workload.
6866
+ :param str vpc_uuid: VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred
6867
+ from the specified `region` (default VPC).
6868
+ :param bool with_droplet_agent: Boolean flag to enable metric agent on the Droplet Autoscale pool underlying resource(s). The
6869
+ metric agent enables collecting resource utilization metrics, which allows making resource based scaling decisions.
6870
+ """
6871
+ pulumi.set(__self__, "image", image)
6872
+ pulumi.set(__self__, "region", region)
6873
+ pulumi.set(__self__, "size", size)
6874
+ pulumi.set(__self__, "ssh_keys", ssh_keys)
6875
+ if ipv6 is not None:
6876
+ pulumi.set(__self__, "ipv6", ipv6)
6877
+ if project_id is not None:
6878
+ pulumi.set(__self__, "project_id", project_id)
6879
+ if tags is not None:
6880
+ pulumi.set(__self__, "tags", tags)
6881
+ if user_data is not None:
6882
+ pulumi.set(__self__, "user_data", user_data)
6883
+ if vpc_uuid is not None:
6884
+ pulumi.set(__self__, "vpc_uuid", vpc_uuid)
6885
+ if with_droplet_agent is not None:
6886
+ pulumi.set(__self__, "with_droplet_agent", with_droplet_agent)
6887
+
6888
+ @property
6889
+ @pulumi.getter
6890
+ def image(self) -> str:
6891
+ """
6892
+ Image slug of the Droplet Autoscale pool underlying resource(s).
6893
+ """
6894
+ return pulumi.get(self, "image")
6895
+
6896
+ @property
6897
+ @pulumi.getter
6898
+ def region(self) -> str:
6899
+ """
6900
+ Region slug of the Droplet Autoscale pool underlying resource(s).
6901
+ """
6902
+ return pulumi.get(self, "region")
6903
+
6904
+ @property
6905
+ @pulumi.getter
6906
+ def size(self) -> str:
6907
+ """
6908
+ Size slug of the Droplet Autoscale pool underlying resource(s).
6909
+ """
6910
+ return pulumi.get(self, "size")
6911
+
6912
+ @property
6913
+ @pulumi.getter(name="sshKeys")
6914
+ def ssh_keys(self) -> Sequence[str]:
6915
+ """
6916
+ SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
6917
+ """
6918
+ return pulumi.get(self, "ssh_keys")
6919
+
6920
+ @property
6921
+ @pulumi.getter
6922
+ def ipv6(self) -> Optional[bool]:
6923
+ """
6924
+ Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
6925
+ """
6926
+ return pulumi.get(self, "ipv6")
6927
+
6928
+ @property
6929
+ @pulumi.getter(name="projectId")
6930
+ def project_id(self) -> Optional[str]:
6931
+ """
6932
+ Project UUID to create the Droplet Autoscale pool underlying resource(s).
6933
+ """
6934
+ return pulumi.get(self, "project_id")
6935
+
6936
+ @property
6937
+ @pulumi.getter
6938
+ def tags(self) -> Optional[Sequence[str]]:
6939
+ """
6940
+ List of tags to add to the Droplet Autoscale pool underlying resource(s).
6941
+ """
6942
+ return pulumi.get(self, "tags")
6943
+
6944
+ @property
6945
+ @pulumi.getter(name="userData")
6946
+ def user_data(self) -> Optional[str]:
6947
+ """
6948
+ Custom user data that can be added to the Droplet Autoscale pool underlying resource(s). This can be a
6949
+ cloud init script that user may configure to setup their application workload.
6950
+ """
6951
+ return pulumi.get(self, "user_data")
6952
+
6953
+ @property
6954
+ @pulumi.getter(name="vpcUuid")
6955
+ def vpc_uuid(self) -> Optional[str]:
6956
+ """
6957
+ VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred
6958
+ from the specified `region` (default VPC).
6959
+ """
6960
+ return pulumi.get(self, "vpc_uuid")
6961
+
6962
+ @property
6963
+ @pulumi.getter(name="withDropletAgent")
6964
+ def with_droplet_agent(self) -> Optional[bool]:
6965
+ """
6966
+ Boolean flag to enable metric agent on the Droplet Autoscale pool underlying resource(s). The
6967
+ metric agent enables collecting resource utilization metrics, which allows making resource based scaling decisions.
6968
+ """
6969
+ return pulumi.get(self, "with_droplet_agent")
6970
+
6971
+
6671
6972
  @pulumi.output_type
6672
6973
  class DropletBackupPolicy(dict):
6673
6974
  def __init__(__self__, *,
@@ -13476,6 +13777,225 @@ class GetDomainsSortResult(dict):
13476
13777
  return pulumi.get(self, "direction")
13477
13778
 
13478
13779
 
13780
+ @pulumi.output_type
13781
+ class GetDropletAutoscaleConfigResult(dict):
13782
+ def __init__(__self__, *,
13783
+ cooldown_minutes: int,
13784
+ max_instances: int,
13785
+ min_instances: int,
13786
+ target_cpu_utilization: float,
13787
+ target_memory_utilization: float,
13788
+ target_number_instances: int):
13789
+ """
13790
+ :param int cooldown_minutes: Cooldown duration
13791
+ :param int max_instances: Max number of members
13792
+ :param int min_instances: Min number of members
13793
+ :param float target_cpu_utilization: CPU target threshold
13794
+ :param float target_memory_utilization: Memory target threshold
13795
+ :param int target_number_instances: Target number of members
13796
+ """
13797
+ pulumi.set(__self__, "cooldown_minutes", cooldown_minutes)
13798
+ pulumi.set(__self__, "max_instances", max_instances)
13799
+ pulumi.set(__self__, "min_instances", min_instances)
13800
+ pulumi.set(__self__, "target_cpu_utilization", target_cpu_utilization)
13801
+ pulumi.set(__self__, "target_memory_utilization", target_memory_utilization)
13802
+ pulumi.set(__self__, "target_number_instances", target_number_instances)
13803
+
13804
+ @property
13805
+ @pulumi.getter(name="cooldownMinutes")
13806
+ def cooldown_minutes(self) -> int:
13807
+ """
13808
+ Cooldown duration
13809
+ """
13810
+ return pulumi.get(self, "cooldown_minutes")
13811
+
13812
+ @property
13813
+ @pulumi.getter(name="maxInstances")
13814
+ def max_instances(self) -> int:
13815
+ """
13816
+ Max number of members
13817
+ """
13818
+ return pulumi.get(self, "max_instances")
13819
+
13820
+ @property
13821
+ @pulumi.getter(name="minInstances")
13822
+ def min_instances(self) -> int:
13823
+ """
13824
+ Min number of members
13825
+ """
13826
+ return pulumi.get(self, "min_instances")
13827
+
13828
+ @property
13829
+ @pulumi.getter(name="targetCpuUtilization")
13830
+ def target_cpu_utilization(self) -> float:
13831
+ """
13832
+ CPU target threshold
13833
+ """
13834
+ return pulumi.get(self, "target_cpu_utilization")
13835
+
13836
+ @property
13837
+ @pulumi.getter(name="targetMemoryUtilization")
13838
+ def target_memory_utilization(self) -> float:
13839
+ """
13840
+ Memory target threshold
13841
+ """
13842
+ return pulumi.get(self, "target_memory_utilization")
13843
+
13844
+ @property
13845
+ @pulumi.getter(name="targetNumberInstances")
13846
+ def target_number_instances(self) -> int:
13847
+ """
13848
+ Target number of members
13849
+ """
13850
+ return pulumi.get(self, "target_number_instances")
13851
+
13852
+
13853
+ @pulumi.output_type
13854
+ class GetDropletAutoscaleCurrentUtilizationResult(dict):
13855
+ def __init__(__self__, *,
13856
+ cpu: float,
13857
+ memory: float):
13858
+ """
13859
+ :param float cpu: Average CPU utilization
13860
+ :param float memory: Average Memory utilization
13861
+ """
13862
+ pulumi.set(__self__, "cpu", cpu)
13863
+ pulumi.set(__self__, "memory", memory)
13864
+
13865
+ @property
13866
+ @pulumi.getter
13867
+ def cpu(self) -> float:
13868
+ """
13869
+ Average CPU utilization
13870
+ """
13871
+ return pulumi.get(self, "cpu")
13872
+
13873
+ @property
13874
+ @pulumi.getter
13875
+ def memory(self) -> float:
13876
+ """
13877
+ Average Memory utilization
13878
+ """
13879
+ return pulumi.get(self, "memory")
13880
+
13881
+
13882
+ @pulumi.output_type
13883
+ class GetDropletAutoscaleDropletTemplateResult(dict):
13884
+ def __init__(__self__, *,
13885
+ image: str,
13886
+ ipv6: bool,
13887
+ project_id: str,
13888
+ region: str,
13889
+ size: str,
13890
+ ssh_keys: Sequence[str],
13891
+ tags: Sequence[str],
13892
+ user_data: str,
13893
+ vpc_uuid: str,
13894
+ with_droplet_agent: bool):
13895
+ """
13896
+ :param str image: Droplet image
13897
+ :param bool ipv6: Enable droplet IPv6
13898
+ :param str project_id: Droplet project ID
13899
+ :param str region: Droplet region
13900
+ :param str size: Droplet size
13901
+ :param Sequence[str] ssh_keys: Droplet SSH keys
13902
+ :param Sequence[str] tags: Droplet tags
13903
+ :param str user_data: Droplet user data
13904
+ :param str vpc_uuid: Droplet VPC UUID
13905
+ :param bool with_droplet_agent: Enable droplet agent
13906
+ """
13907
+ pulumi.set(__self__, "image", image)
13908
+ pulumi.set(__self__, "ipv6", ipv6)
13909
+ pulumi.set(__self__, "project_id", project_id)
13910
+ pulumi.set(__self__, "region", region)
13911
+ pulumi.set(__self__, "size", size)
13912
+ pulumi.set(__self__, "ssh_keys", ssh_keys)
13913
+ pulumi.set(__self__, "tags", tags)
13914
+ pulumi.set(__self__, "user_data", user_data)
13915
+ pulumi.set(__self__, "vpc_uuid", vpc_uuid)
13916
+ pulumi.set(__self__, "with_droplet_agent", with_droplet_agent)
13917
+
13918
+ @property
13919
+ @pulumi.getter
13920
+ def image(self) -> str:
13921
+ """
13922
+ Droplet image
13923
+ """
13924
+ return pulumi.get(self, "image")
13925
+
13926
+ @property
13927
+ @pulumi.getter
13928
+ def ipv6(self) -> bool:
13929
+ """
13930
+ Enable droplet IPv6
13931
+ """
13932
+ return pulumi.get(self, "ipv6")
13933
+
13934
+ @property
13935
+ @pulumi.getter(name="projectId")
13936
+ def project_id(self) -> str:
13937
+ """
13938
+ Droplet project ID
13939
+ """
13940
+ return pulumi.get(self, "project_id")
13941
+
13942
+ @property
13943
+ @pulumi.getter
13944
+ def region(self) -> str:
13945
+ """
13946
+ Droplet region
13947
+ """
13948
+ return pulumi.get(self, "region")
13949
+
13950
+ @property
13951
+ @pulumi.getter
13952
+ def size(self) -> str:
13953
+ """
13954
+ Droplet size
13955
+ """
13956
+ return pulumi.get(self, "size")
13957
+
13958
+ @property
13959
+ @pulumi.getter(name="sshKeys")
13960
+ def ssh_keys(self) -> Sequence[str]:
13961
+ """
13962
+ Droplet SSH keys
13963
+ """
13964
+ return pulumi.get(self, "ssh_keys")
13965
+
13966
+ @property
13967
+ @pulumi.getter
13968
+ def tags(self) -> Sequence[str]:
13969
+ """
13970
+ Droplet tags
13971
+ """
13972
+ return pulumi.get(self, "tags")
13973
+
13974
+ @property
13975
+ @pulumi.getter(name="userData")
13976
+ def user_data(self) -> str:
13977
+ """
13978
+ Droplet user data
13979
+ """
13980
+ return pulumi.get(self, "user_data")
13981
+
13982
+ @property
13983
+ @pulumi.getter(name="vpcUuid")
13984
+ def vpc_uuid(self) -> str:
13985
+ """
13986
+ Droplet VPC UUID
13987
+ """
13988
+ return pulumi.get(self, "vpc_uuid")
13989
+
13990
+ @property
13991
+ @pulumi.getter(name="withDropletAgent")
13992
+ def with_droplet_agent(self) -> bool:
13993
+ """
13994
+ Enable droplet agent
13995
+ """
13996
+ return pulumi.get(self, "with_droplet_agent")
13997
+
13998
+
13479
13999
  @pulumi.output_type
13480
14000
  class GetDropletsDropletResult(dict):
13481
14001
  def __init__(__self__, *,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "digitalocean",
4
- "version": "4.37.0-alpha.1733982058"
4
+ "version": "4.37.0-alpha.1734099763"
5
5
  }