diff --git a/patches/0001-fork.patch b/patches/0001-docs-fixups.patch similarity index 62% rename from patches/0001-fork.patch rename to patches/0001-docs-fixups.patch index 49949709..6fc65977 100644 --- a/patches/0001-fork.patch +++ b/patches/0001-docs-fixups.patch @@ -1,63 +1,12 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: aq17 -Date: Thu, 25 May 2023 13:42:29 -0700 -Subject: [PATCH] fork +From: Ian Wahbe +Date: Thu, 25 Jan 2024 12:16:15 -0800 +Subject: [PATCH] docs fixups +This patch was carried over from the original fork. -diff --git a/CHANGELOG.md b/CHANGELOG.md -index bf5fb1e0..092b4400 100644 ---- a/CHANGELOG.md -+++ b/CHANGELOG.md -@@ -637,7 +637,7 @@ BUG FIXES: - ## 1.53.0 (July 15, 2021) - - ENHANCEMENTS: --* resource/spotinst_ocean_aks: added support for `managed_service_identity` -+* resource/spotinst_ocean_aks: added support for `managed_service_identity` - - ## 1.52.0 (July 7, 2021) - -@@ -676,19 +676,19 @@ BUG FIXES: - ## 1.48.0 (June 10, 2021) - - ENHANCEMENTS: --* resource/spotinst_ocean_aks: added support for `resource_group_name` -+* resource/spotinst_ocean_aks: added support for `resource_group_name` - * resource/spotinst_ocean_aks: added support for `custom_data` --* resource/spotinst_ocean_aks: added support for `vm_sizes` --* resource/spotinst_ocean_aks: added support for `os_disk` --* resource/spotinst_ocean_aks: added support for `image` --* resource/spotinst_ocean_aks: added support for `strategy` --* resource/spotinst_ocean_aks: added support for `health` --* resource/spotinst_ocean_aks: added support for `network` --* resource/spotinst_ocean_aks: added support for `extension` --* resource/spotinst_ocean_aks: added support for `load_balancer` -+* resource/spotinst_ocean_aks: added support for `vm_sizes` -+* resource/spotinst_ocean_aks: added support for `os_disk` -+* resource/spotinst_ocean_aks: added support for `image` -+* resource/spotinst_ocean_aks: added support for `strategy` -+* resource/spotinst_ocean_aks: added support for `health` -+* resource/spotinst_ocean_aks: added support for `network` -+* resource/spotinst_ocean_aks: added support for `extension` -+* resource/spotinst_ocean_aks: added support for `load_balancer` - * resource/spotinst_ocean_aks: added support for `autoscaler` - * resource/spotinst_ocean_aks: added support for `tag` -- -+ - ## 1.47.0 (June 6, 2021) - - ENHANCEMENTS: -@@ -737,7 +737,7 @@ BUG FIXES: - ## 1.40.0 (April 25, 2021) - - BUG FIXES: --* resource/spotinst_ocean_ecs: resolved error with update `capacity` fields to 0 -+* resource/spotinst_ocean_ecs: resolved error with update `capacity` fields to 0 - - ## 1.39.0 (April 20, 2021) - diff --git a/docs/resources/elastigroup_aws.md b/docs/resources/elastigroup_aws.md -index 66029fdb..56e6582c 100644 +index 8ab39067..9bebc203 100644 --- a/docs/resources/elastigroup_aws.md +++ b/docs/resources/elastigroup_aws.md @@ -17,7 +17,7 @@ Provides a Spotinst AWS group resource. @@ -69,42 +18,6 @@ index 66029fdb..56e6582c 100644 product = "Linux/UNIX" max_size = 0 -@@ -157,7 +157,7 @@ The following arguments are supported: - - * `name` - (Required) The group name. - * `description` - (Optional) The group description. --* `product` - (Required) Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. -+* `product` - (Required) Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. - For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. - - * `availability_zones` - (Optional) List of Strings of availability zones. When this parameter is set, `subnet_ids` should be left unused. -@@ -170,7 +170,7 @@ Note: When this parameter is set, `availability_zones` should be left unused. - * `region` - (Optional) The AWS region your group will be created in. - Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones). - --* `preferred_availability_zones` - The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. -+* `preferred_availability_zones` - The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. - Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. - - * `max_size` - (Optional, Required if using scaling policies) The maximum number of instances the group should have at any time. -@@ -218,7 +218,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. - * `cpu_credits` - (Optional) Controls how T3 instances are launched. Valid values: `standard`, `unlimited`. - * `fallback_to_ondemand` - (Required) In a case of no Spot instances available, Elastigroup will launch on-demand instances instead. - * `wait_for_capacity` - (Optional) Minimum number of instances in a 'HEALTHY' status that is required before continuing. This is ignored when updating with blue/green deployment. Cannot exceed `desired_capacity`. --* `wait_for_capacity_timeout` - (Optional) Time (seconds) to wait for instances to report a 'HEALTHY' status. Useful for plans with multiple dependencies that take some time to initialize. Leave undefined or set to `0` to indicate no wait. This is ignored when updating with blue/green deployment. -+* `wait_for_capacity_timeout` - (Optional) Time (seconds) to wait for instances to report a 'HEALTHY' status. Useful for plans with multiple dependencies that take some time to initialize. Leave undefined or set to `0` to indicate no wait. This is ignored when updating with blue/green deployment. - * `orientation` - (Required, Default: `balanced`) Select a prediction strategy. Valid values: `balanced`, `costOriented`, `equalAzDistribution`, `availabilityOriented`. You can read more in our documentation. - * `spot_percentage` - (Optional; Required if not using `ondemand_count`) The percentage of Spot instances that would spin up from the `desired_capacity` number. - * `ondemand_count` - (Optional; Required if not using `spot_percentage`) Number of on demand instances to launch in the group. All other instances will be spot instances. When this parameter is set the `spot_percentage` parameter is being ignored. -@@ -235,7 +235,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. - - * `tags` - (Optional) A key/value mapping of tags to assign to the resource. - * `elastic_ips` - (Optional) A list of [AWS Elastic IP](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) allocation IDs to associate to the group instances. -- -+ - * `revert_to_spot` - (Optional) Hold settings for strategy correction – replacing On-Demand for Spot instances. Supported Values: `"never"`, `"always"`, `"timeWindow"` - * `perform_at` - (Required) In the event of a fallback to On-Demand instances, select the time period to revert back to Spot. Supported Arguments – always (default), timeWindow, never. For timeWindow or never to be valid the group must have availabilityOriented OR persistence defined. - * `time_windows` - (Optional) Specify a list of time windows for to execute revertToSpot strategy. Time window format: `ddd:hh:mm-ddd:hh:mm`. Example: `Mon:03:00-Wed:02:30` @@ -251,34 +251,32 @@ Note: Elastigroup can be configured with either imageId or images, but not both. * `s3` - (Optional) Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. * `id` - (Required) The identifier of The S3 data integration to export the logs to. @@ -166,67 +79,7 @@ index 66029fdb..56e6582c 100644 `scaling_up_policy` supports the following: -@@ -454,17 +450,17 @@ Usage: - statistic = "average" - unit = "" - cooldown = 60 -- -+ - dimensions { - name = "name-1" - value = "value-1" - } -- -+ - threshold = 10 - operator = "gt" - evaluation_periods = 10 - period = 60 -- -+ - step_adjustments { - threshold = 50 - action { -@@ -472,25 +468,25 @@ Usage: - min_target_capacity = "3" - } - } -- -+ - // === MIN TARGET =================== - action_type = "setMinTarget" - min_target_capacity = 1 - // ================================== -- -+ - // === ADJUSTMENT =================== - # action_type = "adjustment" - # action_type = "percentageAdjustment" - # adjustment = "MAX(5,10)" - // ================================== -- -+ - // === UPDATE CAPACITY ============== - # action_type = "updateCapacity" - # minimum = 0 - # maximum = 10 - # target = 5 - // ================================== -- -+ - } - ``` - -@@ -519,7 +515,7 @@ Usage: - * `name` - (Required) The expression name. - * `metrics` - (Optional) Array of objects (Metric config) - * `metric_name` - (Required) The name of the source metric. -- * `name` - (Required) The expression name. -+ * `name` - (Required) The expression name. - * `name_space` - (Required, default: `AWS/EC2`) The namespace for the alarm's associated metric. - * `statistic` - (Optional) The metric statistics to return. Valid values: `"average"`, `"sum"`, `"sampleCount"`, `"maximum"`, `"minimum"`, `"percentile"`. - * `extended_statistic` - (Optional) Percentile statistic. Valid values: `"p0.1"` - `"p100"`. -@@ -544,8 +540,7 @@ Usage: +@@ -548,8 +544,7 @@ Usage: } ``` @@ -236,18 +89,7 @@ index 66029fdb..56e6582c 100644 Each of the `network_interface` attributes controls a portion of the AWS Instance's "Elastic Network Interfaces". It's a good idea to familiarize yourself with [AWS's Elastic Network -@@ -564,8 +559,8 @@ to understand the implications of using these attributes. - Usage: - - ```hcl -- network_interface { -- network_interface_id = "" -+ network_interface { -+ network_interface_id = "" - device_index = 1 - description = "nic description in here" - private_ip_address = "1.1.1.1" -@@ -575,8 +570,7 @@ Usage: +@@ -579,8 +574,7 @@ Usage: } ``` @@ -257,41 +99,7 @@ index 66029fdb..56e6582c 100644 Each of the `*_block_device` attributes controls a portion of the AWS Instance's "Block Device Mapping". It's a good idea to familiarize yourself with [AWS's Block Device -@@ -601,8 +595,8 @@ Usage: - - ```hcl - ebs_block_device { -- device_name = "/dev/sdb" -- snapshot_id = "" -+ device_name = "/dev/sdb" -+ snapshot_id = "" - volume_type = "gp2" - volume_size = 8 - iops = 1 -@@ -610,10 +604,10 @@ Usage: - encrypted = false - kms_key_id = "kms-key-01" - } -- -+ - ebs_block_device { -- device_name = "/dev/sdc" -- snapshot_id = "" -+ device_name = "/dev/sdc" -+ snapshot_id = "" - volume_type = "gp3" - volume_size = 8 - iops = 1 -@@ -629,7 +623,7 @@ Each `ephemeral_block_device` supports the following: - * `device_name` - (Required) The name of the block device to mount on the instance. - * `virtual_name` - (Required) The [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) - (e.g. `"ephemeral0"`). -- -+ - Usage: - - ```hcl -@@ -639,8 +633,7 @@ Usage: +@@ -643,8 +637,7 @@ Usage: } ``` @@ -301,7 +109,7 @@ index 66029fdb..56e6582c 100644 We support instance persistence via the following configurations. all values are boolean. For more information on instance persistence please see: [Stateful configuration](https://docs.spot.io/elastigroup/features/stateful-instance/stateful-instances) -@@ -661,15 +654,14 @@ Usage: +@@ -665,15 +658,14 @@ Usage: private_ips = ["1.1.1.1", "2.2.2.2"] ``` @@ -319,7 +127,7 @@ index 66029fdb..56e6582c 100644 Usage: ```hcl -@@ -681,8 +673,7 @@ Usage: +@@ -685,8 +677,7 @@ Usage: } ``` @@ -329,7 +137,7 @@ index 66029fdb..56e6582c 100644 * `stateful_instance_action` - (Optional) * `stateful_instance_id` - (Required) String, Stateful Instance ID on which the action should be performed. -@@ -702,8 +693,7 @@ Usage: +@@ -706,8 +697,7 @@ Usage: } ``` @@ -339,7 +147,7 @@ index 66029fdb..56e6582c 100644 * `health_check_type` - (Optional) The service that will perform health checks for the instance. Supported values : `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"CUSTOM"`, `"K8S_NODE"`, `"MLB"`, `"EC2"`, `"MULTAI_TARGET_SET"`, `"MLB_RUNTIME"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`. * `health_check_grace_period` - (Optional) The amount of time, in seconds, after the instance has launched to starts and check its health -@@ -712,13 +702,12 @@ Usage: +@@ -716,13 +706,12 @@ Usage: Usage: ```hcl @@ -355,211 +163,7 @@ index 66029fdb..56e6582c 100644 * `integration_rancher` - (Optional) Describes the [Rancher](http://rancherlabs.com/) integration. -@@ -758,23 +747,23 @@ Usage: - Usage: - - ```hcl -- integration_ecs { -+ integration_ecs { - cluster_name = "ecs-cluster" - autoscale_is_enabled = false - autoscale_cooldown = 300 - autoscale_scale_down_non_service_tasks = false -- -+ - autoscale_headroom { - cpu_per_unit = 1024 - memory_per_unit = 512 - num_of_units = 2 - } -- -+ - autoscale_down { - evaluation_periods = 300 - max_scale_down_percentage = 70 - } -- -+ - autoscale_attributes { - key = "test.ecs.key" - value = "test.ecs.value" -@@ -803,7 +792,7 @@ Usage: - integration_codedeploy { - cleanup_on_failure = false - terminate_instance_on_failure = false -- -+ - deployment_groups { - application_name = "my-app" - deployment_group_name = "my-group" -@@ -828,7 +817,7 @@ Usage: - integration_route53 { - - # Option 1: Use A records. -- domains { -+ domains { - hosted_zone_id = "zone-id" - spotinst_acct_id = "act-123456" - record_set_type = "a" -@@ -840,7 +829,7 @@ Usage: - } - - # Option 2: Use CNAME records. -- domains { -+ domains { - hosted_zone_id = "zone-id" - spotinst_acct_id = "act-123456" - record_set_type = "cname" -@@ -875,17 +864,17 @@ integration_docker_swarm { - master_port = 2376 - autoscale_is_enabled = true - autoscale_cooldown = 180 -- -+ - autoscale_headroom { - cpu_per_unit = 2048 - memory_per_unit = 2048 - num_of_units = 1 - } -- -+ - autoscale_down { - evaluation_periods = 3 - max_scale_down_percentage = 30 -- } -+ } - } - ``` - -@@ -913,35 +902,35 @@ Usage: - integration_kubernetes { - integration_mode = "pod" - cluster_identifier = "my-identifier.ek8s.com" -- -+ - // === SAAS =================== - # integration_mode = "saas" - # api_server = "https://api.my-identifier.ek8s.com/api/v1/namespaces/kube-system/services/..." - # token = "top-secret" - // ============================ -- -+ - autoscale_is_enabled = false - autoscale_is_auto_config = false - autoscale_cooldown = 300 -- -+ - autoscale_headroom { - cpu_per_unit = 1024 - memory_per_unit = 512 - num_of_units = 1 - } -- -+ - autoscale_down { - evaluation_periods = 300 - max_scale_down_percentage = 50 - } -- -+ - autoscale_labels { - key = "test.k8s.key" - value = "test.k8s.value" - } - } - ``` -- -+ - * `integration_nomad` - (Optional) Describes the [Nomad](https://www.nomadproject.io/) integration. - - * `master_host` - (Required) The URL for the Nomad master host. -@@ -966,27 +955,27 @@ Usage: - acl_token = "top-secret" - autoscale_is_enabled = false - autoscale_cooldown = 300 -- -+ - autoscale_headroom { - cpu_per_unit = 1024 - memory_per_unit = 512 - num_of_units = 2 - } -- -+ - autoscale_down { - evaluation_periods = 300 - } -- -+ - autoscale_constraints { - key = "test.nomad.key" - value = "test.nomad.value" - } - } - ``` -- -+ - * `integration_mesosphere` - (Optional) Describes the [Mesosphere](https://mesosphere.com/) integration. -- -- * `api_server` - (Optional) The public IP of the DC/OS Master. -+ -+ * `api_server` - (Optional) The public IP of the DC/OS Master. - - Usage: - -@@ -997,7 +986,7 @@ Usage: - ``` - - * `integration_multai_runtime` - (Optional) Describes the [Multai Runtime](https://spotinst.com/) integration. -- -+ - * `deployment_id` - (Optional) The deployment id you want to get - - Usage: -@@ -1007,12 +996,12 @@ Usage: - deployment_id = "" - } - ``` -- -+ - * `integration_gitlab` - (Optional) Describes the [Gitlab](https://api.spotinst.com/integration-docs/gitlab/) integration. -- -- * `runner` - (Optional) Settings for Gitlab runner. -+ -+ * `runner` - (Optional) Settings for Gitlab runner. - * `is_enabled` - (Optional, Default: `false`) Specifies whether the integration is enabled. -- -+ - Usage: - - ```hcl -@@ -1024,21 +1013,21 @@ Usage: - ``` - - * `integration_beanstalk` - (Optional) Describes the [Beanstalk](https://api.spotinst.com/provisioning-ci-cd-sdk/provisioning-tools/terraform/resources/terraform-v-2/elastic-beanstalk/) integration. -- -+ - * `deployment_preferences` - (Optional) Preferences when performing a roll - * `automatic_roll` - (Required) Should roll perform automatically - * `batch_size_percentage` - (Required) Percent size of each batch - * `grace_period` - (Required) Amount of time to wait between batches - * `strategy` - (Optional) Strategy parameters - * `action` - (Required) Action to take -- * `should_drain_instances` - (Required) Bool value if to wait to drain instance -- -+ * `should_drain_instances` - (Required) Bool value if to wait to drain instance -+ - * `managed_actions` - (Optional) Managed Actions parameters - * `platform_update` - (Optional) Platform Update parameters - * `perform_at` - (Required) Actions to perform (options: timeWindow, never) - * `time_window` - (Required) Time Window for when action occurs ex. Mon:23:50-Tue:00:20 - * `update_level` - (Required) - Level to update -- -+ - Usage: - - ```hcl -@@ -1065,8 +1054,7 @@ Usage: +@@ -1069,8 +1058,7 @@ Usage: } ``` @@ -569,24 +173,6 @@ index 66029fdb..56e6582c 100644 * `update_policy` - (Optional) -@@ -1082,7 +1070,7 @@ Usage: - * `strategy` - (Optional) Strategy parameters - * `action` - (Required) Action to take. Valid values: `REPLACE_SERVER`, `RESTART_SERVER`. - * `should_drain_instances` - (Optional) Specify whether to drain incoming TCP connections before terminating a server. -- * `batch_min_healthy_percentage` - (Optional, Default `50`) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the deployment will fail. Range `1` - `100`. -+ * `batch_min_healthy_percentage` - (Optional, Default `50`) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the deployment will fail. Range `1` - `100`. - * `on_failure` - (Optional) Set detach options to the deployment. - * `action_type` - (Required) Sets the action that will take place, Accepted values are: `DETACH_OLD`, `DETACH_NEW`. - * `should_handle_all_batches` - (Optional, Default: `false`) Indicator if the action should apply to all batches of the deployment or only the latest batch. -@@ -1116,7 +1104,7 @@ Usage: - } - } - ``` -- -+ - ## Attributes Reference - - The following attributes are exported: diff --git a/docs/resources/elastigroup_aws_beanstalk.md b/docs/resources/elastigroup_aws_beanstalk.md index caf128e0..277fa01a 100644 --- a/docs/resources/elastigroup_aws_beanstalk.md @@ -604,93 +190,9 @@ index caf128e0..277fa01a 100644 Each `scheduled_task` supports the following: diff --git a/docs/resources/elastigroup_azure.md b/docs/resources/elastigroup_azure.md -index e938a4c2..9e15a3fa 100644 +index e938a4c2..f54acd4c 100644 --- a/docs/resources/elastigroup_azure.md +++ b/docs/resources/elastigroup_azure.md -@@ -32,22 +32,22 @@ resource "spotinst_elastigroup_azure_v3" "test_azure_group" { - - // --- LAUNCH SPEC --------------------------------------------------- - custom_data = "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=" -- -+ - managed_service_identity { - resource_group_name = "MC_ocean-westus-dev_ocean-westus-dev-aks_westus" - name = "ocean-westus-dev-aks-agentpool" - } -- -+ - tags { - key = "key1" - value = "value1" - } -- -+ - tags { - key = "key2" - value = "value2" - } -- -+ - // --- IMAGE --------------------------------------------------------- - image { - marketplace { -@@ -113,7 +113,7 @@ The following arguments are supported: - * `managed_service_identity` - (Optional) List of Managed Service Identity objects. - * `resource_group_name` - (Required) Name of the Azure Resource Group where the Managed Service Identity is located. - * `name` - (Required) Name of the Managed Service Identity. -- -+ - * `tags` - (Optional) Key-Value pairs for VMs in the Elastigroup. - * `key` - (Required) Tag Key for Vms in Elastigroup. - * `value` - (Required) Tag Value for Vms in Elastigroup. -@@ -124,7 +124,7 @@ The following arguments are supported: - ## Strategy - * `spot_percentage` - (Optional) Percentage of Spot-VMs to maintain. Required if `on_demand_count` is not specified. - * `on_demand_count` - (Optional) Number of On-Demand VMs to maintain. Required if `spot_percentage` is not specified. --* `fallback_to_on_demand` - -+* `fallback_to_on_demand` - - * `draining_timeout` - (Optional, Default `120`) Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation. - - -@@ -134,7 +134,7 @@ The following arguments are supported: - * `publisher` - (Optional) Image publisher. Required if resource_group_name is not specified. - * `offer` - (Optional) Name of the image to use. Required if publisher is specified. - * `sku` - (Optional) Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified. -- * `version` - -+ * `version` - - * `resource_group_name` - (Optional) Name of Resource Group for custom image. Required if publisher not specified. - * `image_name` - (Optional) Name of the custom image. Required if resource_group_name is specified. - -@@ -148,14 +148,14 @@ The following arguments are supported: - version = "latest" - } - } -- -+ - // custom image - image { - custom { - image_name = "customImage" - resource_group_name = "resourceGroup" - } -- } -+ } - ``` - - -@@ -164,10 +164,10 @@ The following arguments are supported: - * `network` - (Required) Defines the Virtual Network and Subnet for your Elastigroup. - * `virtual_network_name` - (Required) Name of Vnet. - * `resource_group_name` - (Required) Vnet Resource Group Name. -- * `network_interfaces` - -+ * `network_interfaces` - - * `subnet_name` - (Required) ID of subnet. - * `assign_public_up` - (Optional, Default: `false`) Assign a public IP to each VM in the Elastigroup. -- * `is_primary` - -+ * `is_primary` - - * `additional_ip_configs` - (Optional) Array of additional IP configuration objects. - * `name` - (Required) The IP configuration name. - * `private_ip_version` - (Optional) Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ip configuration is IPv4 or IPv6. Valid values: `IPv4`, `IPv6`. @@ -198,8 +198,7 @@ The following arguments are supported: } ``` @@ -701,12 +203,6 @@ index e938a4c2..9e15a3fa 100644 * `login` - (Required) Describes the login configuration. * `user_name` - (Required) Set admin access for accessing your VMs. -@@ -216,4 +215,4 @@ The following arguments are supported: - - - -- -+ diff --git a/docs/resources/elastigroup_gcp.md b/docs/resources/elastigroup_gcp.md index 2c44b088..328c3ec4 100644 --- a/docs/resources/elastigroup_gcp.md @@ -1078,73 +574,9 @@ index 05d783c0..7cd006b9 100644 ```hcl termination_policies { diff --git a/docs/resources/ocean_aws.md b/docs/resources/ocean_aws.md -index e6554080..1b5a5188 100644 +index 8dd743db..7e1c0dc4 100644 --- a/docs/resources/ocean_aws.md +++ b/docs/resources/ocean_aws.md -@@ -46,7 +46,7 @@ resource "spotinst_ocean_aws" "example" { - subnet_ids = ["subnet-123456789"] - - // region INSTANCE-TYPES -- -+ - //whitelist = ["t1.micro", "m1.small"] - //blacklist = ["t1.micro", "m1.small"] - filters { -@@ -68,11 +68,11 @@ resource "spotinst_ocean_aws" "example" { - min_network_performance = 2 - min_vcpu = 2 - root_device_types = ["ebs"] -- virtualization_types = ["hvm"] -+ virtualization_types = ["hvm"] - } - } -- -- -+ -+ - - // region LAUNCH CONFIGURATION - image_id = "ami-123456" -@@ -95,13 +95,13 @@ resource "spotinst_ocean_aws" "example" { - name = "example" - type = "CLASSIC" - } -- -+ - resource_tag_specification { - should_tag_volumes = true - } - // endregion - -- // region STRATEGY -+ // region STRATEGY - fallback_to_ondemand = true - draining_timeout = 120 - utilize_reserved_instances = false -@@ -118,12 +118,12 @@ resource "spotinst_ocean_aws" "example" { - key = "fakeKey" - value = "fakeValue" - } -- -+ - instance_metadata_options { - http_tokens = "required" - http_put_response_hop_limit = 10 - } -- -+ - block_device_mappings { - device_name = "/dev/xvda" - ebs { -@@ -144,7 +144,7 @@ resource "spotinst_ocean_aws" "example" { - } - } - } -- -+ - logging { - export { - s3 { @@ -293,13 +293,12 @@ autoscaler { max_vcpu = 1024 max_memory_gib = 1500 @@ -1161,22 +593,6 @@ index e6554080..1b5a5188 100644 * `update_policy` - (Optional) * `should_roll` - (Required) Enables the roll. -@@ -335,13 +334,13 @@ update_policy { - * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. - * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). - * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). -- -+ - ```hcl - scheduled_task { - shutdown_hours { - is_enabled = true - time_windows = [ -- "Fri:15:30-Sat:13:30", -+ "Fri:15:30-Sat:13:30", - "Sun:15:30-Mon:13:30", - ] - } diff --git a/docs/resources/ocean_ecs.md b/docs/resources/ocean_ecs.md index 176b4a51..41d4612a 100644 --- a/docs/resources/ocean_ecs.md @@ -1373,7 +789,7 @@ index 91266c3a..2aa41f11 100644 * `autoscaler` - (Optional) The Ocean Kubernetes Autoscaler object. * `is_enabled` - (Optional, Default: `true`) Enable the Ocean Kubernetes Autoscaler. diff --git a/docs/resources/stateful_node_aws.md b/docs/resources/stateful_node_aws.md -index b40131ae..a57aa329 100644 +index b40131ae..a0796f88 100644 --- a/docs/resources/stateful_node_aws.md +++ b/docs/resources/stateful_node_aws.md @@ -16,7 +16,7 @@ Provides a Spotinst AWS ManagedInstance resource. @@ -1476,34 +892,6 @@ index b40131ae..a57aa329 100644 * `integration_route53` - (Optional) Describes the [Route53](https://aws.amazon.com/documentation/route53/?id=docs_gateway) integration. * `domains` - (Required) Route 53 Domain configurations. * `hosted_zone_id` - (Required) The Route 53 Hosted Zone Id for the registered Domain. -@@ -278,11 +273,11 @@ Usage: - integration_route53 { - - # Option 1: Use A records. -- domains { -+ domains { - hosted_zone_id = "zone-id" - spotinst_acct_id = "act-123456" - record_set_type = "a" -- -+ - record_sets { - name = "foo.example.com" - use_public_ip = true -@@ -290,11 +285,11 @@ integration_route53 { - } - - # Option 2: Use CNAME records. -- domains { -+ domains { - hosted_zone_id = "zone-id" - spotinst_acct_id = "act-123456" - record_set_type = "cname" -- -+ - record_sets { - name = "foo.example.com" - use_public_dns = true @@ -303,8 +298,7 @@ integration_route53 { } ``` @@ -1514,12 +902,3 @@ index b40131ae..a57aa329 100644 * `managed_instance_action` - (Optional) * `type` - (Required) String, Action type. Supported action types: `pause`, `resume`, `recycle`. -@@ -312,7 +306,7 @@ integration_route53 { - Usage: - - ```hcl --managed_instance_action { -+managed_instance_action { - type = "pause" - } - ``` diff --git a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json index e5ee21f4..27cfcc90 100644 --- a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json @@ -1367,7 +1367,31 @@ } }, "tasks": { - "maxItemsOne": false + "maxItemsOne": false, + "elem": { + "fields": { + "parameters": { + "maxItemsOne": true, + "elem": { + "fields": { + "ami_auto_update": { + "maxItemsOne": true, + "elem": { + "fields": { + "ami_auto_update_cluster_roll": { + "maxItemsOne": true + } + } + } + }, + "parameters_cluster_roll": { + "maxItemsOne": true + } + } + } + } + } + } } } } @@ -2935,6 +2959,25 @@ "isEnabled": "is_enabled", "taskType": "task_type" }, + "spotinst:aws/OceanScheduledTaskTaskParameters:OceanScheduledTaskTaskParameters": { + "amiAutoUpdate": "ami_auto_update", + "parametersClusterRoll": "parameters_cluster_roll" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdate:OceanScheduledTaskTaskParametersAmiAutoUpdate": { + "amiAutoUpdateClusterRoll": "ami_auto_update_cluster_roll", + "applyRoll": "apply_roll", + "minorVersion": "minor_version" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll:OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll": { + "batchMinHealthyPercentage": "batch_min_healthy_percentage", + "batchSizePercentage": "batch_size_percentage", + "respectPdb": "respect_pdb" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersParametersClusterRoll:OceanScheduledTaskTaskParametersParametersClusterRoll": { + "batchMinHealthyPercentage": "batch_min_healthy_percentage", + "batchSizePercentage": "batch_size_percentage", + "respectPdb": "respect_pdb" + }, "spotinst:aws/OceanUpdatePolicy:OceanUpdatePolicy": { "autoApplyTags": "auto_apply_tags", "conditionedRoll": "conditioned_roll", diff --git a/provider/cmd/pulumi-resource-spotinst/schema.json b/provider/cmd/pulumi-resource-spotinst/schema.json index 093d490e..7c733ec6 100644 --- a/provider/cmd/pulumi-resource-spotinst/schema.json +++ b/provider/cmd/pulumi-resource-spotinst/schema.json @@ -643,7 +643,7 @@ "properties": { "apiServer": { "type": "string", - "description": "The public IP of the DC/OS Master.\n\nUsage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + "description": "The public IP of the DC/OS Master. \n\nUsage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" }, "autoscaleCooldown": { "type": "integer", @@ -736,7 +736,7 @@ "properties": { "apiServer": { "type": "string", - "description": "The public IP of the DC/OS Master.\n\nUsage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + "description": "The public IP of the DC/OS Master. \n\nUsage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" } }, "type": "object", @@ -3967,6 +3967,9 @@ "isEnabled": { "type": "boolean" }, + "parameters": { + "$ref": "#/types/spotinst:aws/OceanScheduledTaskTaskParameters:OceanScheduledTaskTaskParameters" + }, "taskType": { "type": "string" } @@ -3978,6 +3981,68 @@ "taskType" ] }, + "spotinst:aws/OceanScheduledTaskTaskParameters:OceanScheduledTaskTaskParameters": { + "properties": { + "amiAutoUpdate": { + "$ref": "#/types/spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdate:OceanScheduledTaskTaskParametersAmiAutoUpdate" + }, + "parametersClusterRoll": { + "$ref": "#/types/spotinst:aws/OceanScheduledTaskTaskParametersParametersClusterRoll:OceanScheduledTaskTaskParametersParametersClusterRoll" + } + }, + "type": "object" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdate:OceanScheduledTaskTaskParametersAmiAutoUpdate": { + "properties": { + "amiAutoUpdateClusterRoll": { + "$ref": "#/types/spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll:OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll" + }, + "applyRoll": { + "type": "boolean" + }, + "minorVersion": { + "type": "boolean" + }, + "patch": { + "type": "boolean" + } + }, + "type": "object" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll:OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll": { + "properties": { + "batchMinHealthyPercentage": { + "type": "integer" + }, + "batchSizePercentage": { + "type": "integer" + }, + "comment": { + "type": "string" + }, + "respectPdb": { + "type": "boolean" + } + }, + "type": "object" + }, + "spotinst:aws/OceanScheduledTaskTaskParametersParametersClusterRoll:OceanScheduledTaskTaskParametersParametersClusterRoll": { + "properties": { + "batchMinHealthyPercentage": { + "type": "integer" + }, + "batchSizePercentage": { + "type": "integer" + }, + "comment": { + "type": "string" + }, + "respectPdb": { + "type": "boolean" + } + }, + "type": "object" + }, "spotinst:aws/OceanTag:OceanTag": { "properties": { "key": { @@ -9574,7 +9639,7 @@ "items": { "type": "string" }, - "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs.\nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" + "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. \nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" }, "privateIps": { "type": "array", @@ -9585,7 +9650,7 @@ }, "product": { "type": "string", - "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`.\nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" + "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`. \nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" }, "region": { "type": "string", @@ -9990,7 +10055,7 @@ "items": { "type": "string" }, - "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs.\nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" + "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. \nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" }, "privateIps": { "type": "array", @@ -10001,7 +10066,7 @@ }, "product": { "type": "string", - "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`.\nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" + "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`. \nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" }, "region": { "type": "string", @@ -10402,7 +10467,7 @@ "items": { "type": "string" }, - "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs.\nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" + "description": "The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. \nNote: Must be a sublist of `availability_zones` and `orientation` value must not be `\"equalAzDistribution\"`.\n" }, "privateIps": { "type": "array", @@ -10413,7 +10478,7 @@ }, "product": { "type": "string", - "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`.\nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" + "description": "Operation system type. Valid values: `\"Linux/UNIX\"`, `\"SUSE Linux\"`, `\"Windows\"`. \nFor EC2 Classic instances: `\"Linux/UNIX (Amazon VPC)\"`, `\"SUSE Linux (Amazon VPC)\"`, `\"Windows (Amazon VPC)\"`.\n" }, "region": { "type": "string", @@ -12007,7 +12072,7 @@ } }, "spotinst:aws/ocean:Ocean": { - "description": "## Auto Scaler\n\n* `autoscaler` - (Optional) Describes the Ocean Kubernetes Auto Scaler.\n * `autoscale_is_enabled` - (Optional, Default: `true`) Enable the Ocean Kubernetes Auto Scaler.\n * `autoscale_is_auto_config` - (Optional, Default: `true`) Automatically configure and optimize headroom resources.\n * `autoscale_cooldown` - (Optional, Default: `null`) Cooldown period between scaling actions.\n * `auto_headroom_percentage` - (Optional) Set the auto headroom percentage (a number in the range [0, 200]) which controls the percentage of headroom from the cluster. Relevant only when `autoscale_is_auto_config` toggled on.\n * `enable_automatic_and_manual_headroom` - (Optional, Default: `false`) enables automatic and manual headroom to work in parallel. When set to false, automatic headroom overrides all other headroom definitions manually configured, whether they are at cluster or VNG level.\n * `autoscale_headroom` - (Optional) Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.\n * `cpu_per_unit` - (Optional) Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.\n * `gpu_per_unit` - (Optional) Optionally configure the number of GPUs to allocate the headroom.\n * `memory_per_unit` - (Optional) Optionally configure the amount of memory (MB) to allocate the headroom.\n * `num_of_units` - (Optional) The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.\n * `autoscale_down` - (Optional) Auto Scaling scale down operations.\n * `max_scale_down_percentage` - (Optional) Would represent the maximum % to scale-down. Number between 1-100.\n * `resource_limits` - (Optional) Optionally set upper and lower bounds on the resource usage of the cluster.\n * `max_vcpu` - (Optional) The maximum cpu in vCPU units that can be allocated to the cluster.\n * `max_memory_gib` - (Optional) The maximum memory in GiB units that can be allocated to the cluster.\n * `extended_resource_definitions` - (Optional) List of Ocean extended resource definitions to use in this cluster.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n### Update Policy\n\n* `update_policy` - (Optional)\n * `should_roll` - (Required) Enables the roll.\n * `conditioned_roll` - (Optional, Default: false) Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).\n * `conditioned_roll_params` - (Optional) A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the `conditioned_roll` parameter is set to true. (Valid values: `\"subnet_ids\"`,`\"whitelist\"`,`\"blacklist\"`,`\"user_data\"`,`\"image_id\"`,`\"security_groups\"`,`\"key_name\"`,`\"iam_instance_profile\"`,`\"associate_public_ip_address\"`,`\"load_balancers\"`,`\"instance_metadata_options\"`,`\"ebs_optimized\"`,`\"root_volume_size\"`) \n * `auto_apply_tags` - (Optional, Default: false) will update instance tags on the fly without rolling the cluster.\n * `roll_config` - (Required) While used, you can control whether the group should perform a deployment after an update to the configuration.\n * `batch_size_percentage` - (Required) Sets the percentage of the instances to deploy in each batch.\n * `launch_spec_ids` - (Optional) List of virtual node group identifiers to be rolled.\n * `batch_min_healthy_percentage` - (Optional) Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.\n * `respect_pdb` - (Optional, Default: false) During the roll, if the parameter is set to True we honor PDB during the instance replacement.\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"scheduled-task\"\u003e\u003c/a\u003e\n## Scheduled Task\n\n* `scheduled_task` - (Optional) Set scheduling object.\n * `shutdown_hours` - (Optional) Set shutdown hours for cluster object.\n * `is_enabled` - (Optional) Toggle the shutdown hours task. (Example: `true`).\n * `time_windows` - (Required) Set time windows for shutdown hours. Specify a list of `timeWindows` with at least one time window Each string is in the format of: `ddd:hh:mm-ddd:hh:mm` where `ddd` = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, `hh` = hour 24 = 0 -23, `mm` = minute = 0 - 59. Time windows should not overlap. Required if `cluster.scheduling.isEnabled` is `true`. (Example: `Fri:15:30-Wed:14:30`).\n * `tasks` - (Optional) The scheduling tasks for the cluster.\n * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object.\n * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`).\n * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"attributes-reference\"\u003e\u003c/a\u003e\n\n\n## Import\n\nClusters can be imported using the Ocean `id`, e.g., hcl\n\n```sh\n $ pulumi import spotinst:aws/ocean:Ocean this o-12345678\n```\n\n ", + "description": "## Auto Scaler\n\n* `autoscaler` - (Optional) Describes the Ocean Kubernetes Auto Scaler.\n * `autoscale_is_enabled` - (Optional, Default: `true`) Enable the Ocean Kubernetes Auto Scaler.\n * `autoscale_is_auto_config` - (Optional, Default: `true`) Automatically configure and optimize headroom resources.\n * `autoscale_cooldown` - (Optional, Default: `null`) Cooldown period between scaling actions.\n * `auto_headroom_percentage` - (Optional) Set the auto headroom percentage (a number in the range [0, 200]) which controls the percentage of headroom from the cluster. Relevant only when `autoscale_is_auto_config` toggled on.\n * `enable_automatic_and_manual_headroom` - (Optional, Default: `false`) enables automatic and manual headroom to work in parallel. When set to false, automatic headroom overrides all other headroom definitions manually configured, whether they are at cluster or VNG level.\n * `autoscale_headroom` - (Optional) Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.\n * `cpu_per_unit` - (Optional) Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.\n * `gpu_per_unit` - (Optional) Optionally configure the number of GPUs to allocate the headroom.\n * `memory_per_unit` - (Optional) Optionally configure the amount of memory (MB) to allocate the headroom.\n * `num_of_units` - (Optional) The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.\n * `autoscale_down` - (Optional) Auto Scaling scale down operations.\n * `max_scale_down_percentage` - (Optional) Would represent the maximum % to scale-down. Number between 1-100.\n * `resource_limits` - (Optional) Optionally set upper and lower bounds on the resource usage of the cluster.\n * `max_vcpu` - (Optional) The maximum cpu in vCPU units that can be allocated to the cluster.\n * `max_memory_gib` - (Optional) The maximum memory in GiB units that can be allocated to the cluster.\n * `extended_resource_definitions` - (Optional) List of Ocean extended resource definitions to use in this cluster.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n### Update Policy\n\n* `update_policy` - (Optional)\n * `should_roll` - (Required) Enables the roll.\n * `conditioned_roll` - (Optional, Default: false) Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).\n * `conditioned_roll_params` - (Optional) A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the `conditioned_roll` parameter is set to true. (Valid values: `\"subnet_ids\"`,`\"whitelist\"`,`\"blacklist\"`,`\"user_data\"`,`\"image_id\"`,`\"security_groups\"`,`\"key_name\"`,`\"iam_instance_profile\"`,`\"associate_public_ip_address\"`,`\"load_balancers\"`,`\"instance_metadata_options\"`,`\"ebs_optimized\"`,`\"root_volume_size\"`) \n * `auto_apply_tags` - (Optional, Default: false) will update instance tags on the fly without rolling the cluster.\n * `roll_config` - (Required) While used, you can control whether the group should perform a deployment after an update to the configuration.\n * `batch_size_percentage` - (Required) Sets the percentage of the instances to deploy in each batch.\n * `launch_spec_ids` - (Optional) List of virtual node group identifiers to be rolled.\n * `batch_min_healthy_percentage` - (Optional) Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.\n * `respect_pdb` - (Optional, Default: false) During the roll, if the parameter is set to True we honor PDB during the instance replacement.\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"scheduled-task\"\u003e\u003c/a\u003e\n## Scheduled Task\n\n* `scheduled_task` - (Optional) Set scheduling object.\n * `shutdown_hours` - (Optional) Set shutdown hours for cluster object.\n * `is_enabled` - (Optional) Toggle the shutdown hours task. (Example: `true`).\n * `time_windows` - (Required) Set time windows for shutdown hours. Specify a list of `timeWindows` with at least one time window Each string is in the format of: `ddd:hh:mm-ddd:hh:mm` where `ddd` = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, `hh` = hour 24 = 0 -23, `mm` = minute = 0 - 59. Time windows should not overlap. Required if `cluster.scheduling.isEnabled` is `true`. (Example: `Fri:15:30-Wed:14:30`).\n * `tasks` - (Optional) The scheduling tasks for the cluster.\n * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object.\n * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`).\n * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`).\n * `parameters` - (Optional) This filed will be compatible to the `task_type` field. If `task_type` is defined as `clusterRoll`, user cluster roll object in parameters.\n * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object\n * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered\n * `clusterRoll` - (Optional) Set clusterRoll object\n * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.\n * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100.\n * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars\n * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement.\n * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either \"patch\" or \"minorVersion\" must be true.\n * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either \"patch\" or \"minorVersion\" must be true.\n * `clusterRoll` - (Optional) Set clusterRoll object\n * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.\n * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100.\n * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars\n * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"attributes-reference\"\u003e\u003c/a\u003e\n\n\n## Import\n\nClusters can be imported using the Ocean `id`, e.g., hcl\n\n```sh\n $ pulumi import spotinst:aws/ocean:Ocean this o-12345678\n```\n\n ", "properties": { "associateIpv6Address": { "type": "boolean", @@ -13185,7 +13250,7 @@ } }, "spotinst:azure/elastigroup:Elastigroup": { - "description": "Provides a Spotinst elastigroup Azure resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.ElastigroupAzureV3;\nimport com.pulumi.spotinst.ElastigroupAzureV3Args;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3ImageArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3LoginArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3ManagedServiceIdentityArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testAzureGroup = new ElastigroupAzureV3(\"testAzureGroup\", ElastigroupAzureV3Args.builder() \n .customData(\"IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=\")\n .desiredCapacity(1)\n .drainingTimeout(300)\n .fallbackToOnDemand(true)\n .images(ElastigroupAzureV3ImageArgs.builder()\n .marketplaces(ElastigroupAzureV3ImageMarketplaceArgs.builder()\n .offer(\"UbuntuServer\")\n .publisher(\"Canonical\")\n .sku(\"18.04-LTS\")\n .version(\"latest\")\n .build())\n .build())\n .login(ElastigroupAzureV3LoginArgs.builder()\n .sshPublicKey(\"33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==\")\n .userName(\"admin\")\n .build())\n .managedServiceIdentities(ElastigroupAzureV3ManagedServiceIdentityArgs.builder()\n .name(\"ocean-westus-dev-aks-agentpool\")\n .resourceGroupName(\"MC_ocean-westus-dev_ocean-westus-dev-aks_westus\")\n .build())\n .maxSize(1)\n .minSize(0)\n .network(ElastigroupAzureV3NetworkArgs.builder()\n .networkInterfaces(ElastigroupAzureV3NetworkNetworkInterfaceArgs.builder()\n .additionalIpConfigs(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs.builder()\n .privateIPVersion(\"IPv4\")\n .name(\"SecondaryIPConfig\")\n .build())\n .applicationSecurityGroup(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .assignPublicIp(false)\n .isPrimary(true)\n .subnetName(\"default\")\n .build())\n .resourceGroupName(\"ResourceGroup\")\n .virtualNetworkName(\"VirtualNetworkName\")\n .build())\n .odSizes( \n \"standard_a1_v1\",\n \"standard_a1_v2\")\n .os(\"Linux\")\n .region(\"eastus\")\n .resourceGroupName(\"spotinst-azure\")\n .spotPercentage(65)\n .spotSizes( \n \"standard_a1_v1\",\n \"standard_a1_v2\")\n .tags( \n ElastigroupAzureV3TagArgs.builder()\n .key(\"key1\")\n .value(\"value1\")\n .build(),\n ElastigroupAzureV3TagArgs.builder()\n .key(\"key2\")\n .value(\"value2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testAzureGroup:\n type: spotinst:ElastigroupAzureV3\n properties:\n # --- LAUNCH SPEC ---------------------------------------------------\n customData: IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=\n desiredCapacity: 1\n drainingTimeout: 300\n fallbackToOnDemand: true\n # --- IMAGE ---------------------------------------------------------\n images:\n - marketplaces:\n - offer: UbuntuServer\n publisher: Canonical\n sku: 18.04-LTS\n version: latest\n # --- LOGIN ---------------------------------------------------------\n login:\n sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==\n userName: admin\n managedServiceIdentities:\n - name: ocean-westus-dev-aks-agentpool\n resourceGroupName: MC_ocean-westus-dev_ocean-westus-dev-aks_westus\n maxSize: 1\n # --- CAPACITY ------------------------------------------------------\n minSize: 0\n # --- NETWORK -------------------------------------------------------\n network:\n networkInterfaces:\n - additionalIpConfigs:\n - PrivateIPVersion: IPv4\n name: SecondaryIPConfig\n applicationSecurityGroup:\n - name: ApplicationSecurityGroupName\n resourceGroupName: ResourceGroup\n assignPublicIp: false\n isPrimary: true\n subnetName: default\n resourceGroupName: ResourceGroup\n virtualNetworkName: VirtualNetworkName\n # --- INSTANCE TYPES ------------------------------------------------\n odSizes:\n - standard_a1_v1\n - standard_a1_v2\n os: Linux\n region: eastus\n resourceGroupName: spotinst-azure\n # --- STRATEGY ------------------------------------------------------\n # //on_demand_count = 1\n spotPercentage: 65\n spotSizes:\n - standard_a1_v1\n - standard_a1_v2\n tags:\n - key: key1\n value: value1\n - key: key2\n value: value2\n```\n{{% /example %}}\n{{% /examples %}}\n## Strategy\n\n* `spot_percentage` - (Optional) Percentage of Spot-VMs to maintain. Required if `on_demand_count` is not specified.\n* `on_demand_count` - (Optional) Number of On-Demand VMs to maintain. Required if `spot_percentage` is not specified.\n* `fallback_to_on_demand` -\n* `draining_timeout` - (Optional, Default `120`) Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.\n\n\u003ca id=\"image\"\u003e\u003c/a\u003e\n## Image\n\n* `image` - (Required) Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.\n * `publisher` - (Optional) Image publisher. Required if resource_group_name is not specified.\n * `offer` - (Optional) Name of the image to use. Required if publisher is specified.\n * `sku` - (Optional) Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.\n * `version` -\n * `resource_group_name` - (Optional) Name of Resource Group for custom image. Required if publisher not specified.\n * `image_name` - (Optional) Name of the custom image. Required if resource_group_name is specified.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"network\"\u003e\u003c/a\u003e\n## Network\n\n* `network` - (Required) Defines the Virtual Network and Subnet for your Elastigroup.\n * `virtual_network_name` - (Required) Name of Vnet.\n * `resource_group_name` - (Required) Vnet Resource Group Name.\n * `network_interfaces` -\n * `subnet_name` - (Required) ID of subnet.\n * `assign_public_up` - (Optional, Default: `false`) Assign a public IP to each VM in the Elastigroup.\n * `is_primary` -\n * `additional_ip_configs` - (Optional) Array of additional IP configuration objects.\n * `name` - (Required) The IP configuration name.\n * `private_ip_version` - (Optional) Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ip configuration is IPv4 or IPv6. Valid values: `IPv4`, `IPv6`.\n * `application_security_group` - (Optional) - List of Application Security Groups that will be associated to the primary ip configuration of the network interface.\n * `name` - (Required) - The name of the Application Security group.\n * `resource_group_name` - (Required) - The resource group of the Application Security Group.\n }\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n### Login\n\n* `login` - (Required) Describes the login configuration.\n * `user_name` - (Required) Set admin access for accessing your VMs.\n * `ssh_public_key` - (Optional) SSH for admin access to Linux VMs. Required for Linux OS types.\n * `password` - (Optional) Password for admin access to Windows VMs. Required for Windows OS types.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n", + "description": "Provides a Spotinst elastigroup Azure resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.ElastigroupAzureV3;\nimport com.pulumi.spotinst.ElastigroupAzureV3Args;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3ImageArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3LoginArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3ManagedServiceIdentityArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkArgs;\nimport com.pulumi.spotinst.inputs.ElastigroupAzureV3TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testAzureGroup = new ElastigroupAzureV3(\"testAzureGroup\", ElastigroupAzureV3Args.builder() \n .customData(\"IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=\")\n .desiredCapacity(1)\n .drainingTimeout(300)\n .fallbackToOnDemand(true)\n .images(ElastigroupAzureV3ImageArgs.builder()\n .marketplaces(ElastigroupAzureV3ImageMarketplaceArgs.builder()\n .offer(\"UbuntuServer\")\n .publisher(\"Canonical\")\n .sku(\"18.04-LTS\")\n .version(\"latest\")\n .build())\n .build())\n .login(ElastigroupAzureV3LoginArgs.builder()\n .sshPublicKey(\"33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==\")\n .userName(\"admin\")\n .build())\n .managedServiceIdentities(ElastigroupAzureV3ManagedServiceIdentityArgs.builder()\n .name(\"ocean-westus-dev-aks-agentpool\")\n .resourceGroupName(\"MC_ocean-westus-dev_ocean-westus-dev-aks_westus\")\n .build())\n .maxSize(1)\n .minSize(0)\n .network(ElastigroupAzureV3NetworkArgs.builder()\n .networkInterfaces(ElastigroupAzureV3NetworkNetworkInterfaceArgs.builder()\n .additionalIpConfigs(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs.builder()\n .privateIPVersion(\"IPv4\")\n .name(\"SecondaryIPConfig\")\n .build())\n .applicationSecurityGroup(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .assignPublicIp(false)\n .isPrimary(true)\n .subnetName(\"default\")\n .build())\n .resourceGroupName(\"ResourceGroup\")\n .virtualNetworkName(\"VirtualNetworkName\")\n .build())\n .odSizes( \n \"standard_a1_v1\",\n \"standard_a1_v2\")\n .os(\"Linux\")\n .region(\"eastus\")\n .resourceGroupName(\"spotinst-azure\")\n .spotPercentage(65)\n .spotSizes( \n \"standard_a1_v1\",\n \"standard_a1_v2\")\n .tags( \n ElastigroupAzureV3TagArgs.builder()\n .key(\"key1\")\n .value(\"value1\")\n .build(),\n ElastigroupAzureV3TagArgs.builder()\n .key(\"key2\")\n .value(\"value2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testAzureGroup:\n type: spotinst:ElastigroupAzureV3\n properties:\n # --- LAUNCH SPEC ---------------------------------------------------\n customData: IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=\n desiredCapacity: 1\n drainingTimeout: 300\n fallbackToOnDemand: true\n # --- IMAGE ---------------------------------------------------------\n images:\n - marketplaces:\n - offer: UbuntuServer\n publisher: Canonical\n sku: 18.04-LTS\n version: latest\n # --- LOGIN ---------------------------------------------------------\n login:\n sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==\n userName: admin\n managedServiceIdentities:\n - name: ocean-westus-dev-aks-agentpool\n resourceGroupName: MC_ocean-westus-dev_ocean-westus-dev-aks_westus\n maxSize: 1\n # --- CAPACITY ------------------------------------------------------\n minSize: 0\n # --- NETWORK -------------------------------------------------------\n network:\n networkInterfaces:\n - additionalIpConfigs:\n - PrivateIPVersion: IPv4\n name: SecondaryIPConfig\n applicationSecurityGroup:\n - name: ApplicationSecurityGroupName\n resourceGroupName: ResourceGroup\n assignPublicIp: false\n isPrimary: true\n subnetName: default\n resourceGroupName: ResourceGroup\n virtualNetworkName: VirtualNetworkName\n # --- INSTANCE TYPES ------------------------------------------------\n odSizes:\n - standard_a1_v1\n - standard_a1_v2\n os: Linux\n region: eastus\n resourceGroupName: spotinst-azure\n # --- STRATEGY ------------------------------------------------------\n # //on_demand_count = 1\n spotPercentage: 65\n spotSizes:\n - standard_a1_v1\n - standard_a1_v2\n tags:\n - key: key1\n value: value1\n - key: key2\n value: value2\n```\n{{% /example %}}\n{{% /examples %}}\n## Strategy\n\n* `spot_percentage` - (Optional) Percentage of Spot-VMs to maintain. Required if `on_demand_count` is not specified.\n* `on_demand_count` - (Optional) Number of On-Demand VMs to maintain. Required if `spot_percentage` is not specified.\n* `fallback_to_on_demand` - \n* `draining_timeout` - (Optional, Default `120`) Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.\n\n\u003ca id=\"image\"\u003e\u003c/a\u003e\n## Image\n\n* `image` - (Required) Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.\n * `publisher` - (Optional) Image publisher. Required if resource_group_name is not specified.\n * `offer` - (Optional) Name of the image to use. Required if publisher is specified.\n * `sku` - (Optional) Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.\n * `version` - \n * `resource_group_name` - (Optional) Name of Resource Group for custom image. Required if publisher not specified.\n * `image_name` - (Optional) Name of the custom image. Required if resource_group_name is specified.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n\u003ca id=\"network\"\u003e\u003c/a\u003e\n## Network\n\n* `network` - (Required) Defines the Virtual Network and Subnet for your Elastigroup.\n * `virtual_network_name` - (Required) Name of Vnet.\n * `resource_group_name` - (Required) Vnet Resource Group Name.\n * `network_interfaces` - \n * `subnet_name` - (Required) ID of subnet.\n * `assign_public_up` - (Optional, Default: `false`) Assign a public IP to each VM in the Elastigroup.\n * `is_primary` - \n * `additional_ip_configs` - (Optional) Array of additional IP configuration objects.\n * `name` - (Required) The IP configuration name.\n * `private_ip_version` - (Optional) Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ip configuration is IPv4 or IPv6. Valid values: `IPv4`, `IPv6`.\n * `application_security_group` - (Optional) - List of Application Security Groups that will be associated to the primary ip configuration of the network interface.\n * `name` - (Required) - The name of the Application Security group.\n * `resource_group_name` - (Required) - The resource group of the Application Security Group.\n }\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n### Login\n\n* `login` - (Required) Describes the login configuration.\n * `user_name` - (Required) Set admin access for accessing your VMs.\n * `ssh_public_key` - (Optional) SSH for admin access to Linux VMs. Required for Linux OS types.\n * `password` - (Optional) Password for admin access to Windows VMs. Required for Windows OS types.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n", "properties": { "customData": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index a4cb1c19..10599ff4 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -204,7 +204,7 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spotinst/spotinst-sdk-go v1.189.0 // indirect + github.com/spotinst/spotinst-sdk-go v1.191.0 // indirect github.com/stretchr/testify v1.8.4 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect diff --git a/provider/go.sum b/provider/go.sum index bf7746ba..1e95cc17 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2358,8 +2358,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spotinst/spotinst-sdk-go v1.189.0 h1:e1Vv+LDtem34KEvzpzxnQxBLZte7rW5owD8goX2xrTo= -github.com/spotinst/spotinst-sdk-go v1.189.0/go.mod h1:DP/y998hi551EWIR6t4mbohMMMKjp1IE0K+eJztaFGc= +github.com/spotinst/spotinst-sdk-go v1.191.0 h1:tXFrB5apruHJNmJ3PnPQexFhRJHwWA2WmtMMauIC8T4= +github.com/spotinst/spotinst-sdk-go v1.191.0/go.mod h1:DP/y998hi551EWIR6t4mbohMMMKjp1IE0K+eJztaFGc= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= diff --git a/sdk/dotnet/Aws/Elastigroup.cs b/sdk/dotnet/Aws/Elastigroup.cs index 8cf648f2..2db58fbb 100644 --- a/sdk/dotnet/Aws/Elastigroup.cs +++ b/sdk/dotnet/Aws/Elastigroup.cs @@ -334,7 +334,7 @@ public partial class Elastigroup : global::Pulumi.CustomResource public Output PlacementTenancy { get; private set; } = null!; /// - /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. /// Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. /// [Output("preferredAvailabilityZones")] @@ -359,7 +359,7 @@ public partial class Elastigroup : global::Pulumi.CustomResource public Output> PrivateIps { get; private set; } = null!; /// - /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. /// For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. /// [Output("product")] @@ -926,7 +926,7 @@ public InputList OnDemandTypes private InputList? _preferredAvailabilityZones; /// - /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. /// Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. /// public InputList PreferredAvailabilityZones @@ -960,7 +960,7 @@ public InputList PrivateIps } /// - /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. /// For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. /// [Input("product", required: true)] @@ -1561,7 +1561,7 @@ public InputList OnDemandTypes private InputList? _preferredAvailabilityZones; /// - /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + /// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. /// Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. /// public InputList PreferredAvailabilityZones @@ -1595,7 +1595,7 @@ public InputList PrivateIps } /// - /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + /// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. /// For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. /// [Input("product")] diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesArgs.cs index 84f6abd1..953ec59e 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupIntegrationKubernetesArgs : global::Pulumi.ResourceArgs { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesGetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesGetArgs.cs index 56504378..68a24bb5 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesGetArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationKubernetesGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupIntegrationKubernetesGetArgs : global::Pulumi.ResourceArgs { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereArgs.cs index 79ffd6cd..a3293e0a 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupIntegrationMesosphereArgs : global::Pulumi.ResourceArgs { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereGetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereGetArgs.cs index 6b632ce7..2c176f67 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereGetArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupIntegrationMesosphereGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupIntegrationMesosphereGetArgs : global::Pulumi.ResourceArgs { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskArgs.cs index 66bfe74d..8188fed7 100644 --- a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskArgs.cs +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskArgs.cs @@ -18,6 +18,9 @@ public sealed class OceanScheduledTaskTaskArgs : global::Pulumi.ResourceArgs [Input("isEnabled", required: true)] public Input IsEnabled { get; set; } = null!; + [Input("parameters")] + public Input? Parameters { get; set; } + [Input("taskType", required: true)] public Input TaskType { get; set; } = null!; diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskGetArgs.cs index cbdf6548..160a2318 100644 --- a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskGetArgs.cs +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskGetArgs.cs @@ -18,6 +18,9 @@ public sealed class OceanScheduledTaskTaskGetArgs : global::Pulumi.ResourceArgs [Input("isEnabled", required: true)] public Input IsEnabled { get; set; } = null!; + [Input("parameters")] + public Input? Parameters { get; set; } + [Input("taskType", required: true)] public Input TaskType { get; set; } = null!; diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.cs new file mode 100644 index 00000000..b841fa48 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs : global::Pulumi.ResourceArgs + { + [Input("batchMinHealthyPercentage")] + public Input? BatchMinHealthyPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("comment")] + public Input? Comment { get; set; } + + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs() + { + } + public static new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs Empty => new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs.cs new file mode 100644 index 00000000..25d43b7f --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs : global::Pulumi.ResourceArgs + { + [Input("batchMinHealthyPercentage")] + public Input? BatchMinHealthyPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("comment")] + public Input? Comment { get; set; } + + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs() + { + } + public static new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs Empty => new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.cs new file mode 100644 index 00000000..58ffd056 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdateArgs : global::Pulumi.ResourceArgs + { + [Input("amiAutoUpdateClusterRoll")] + public Input? AmiAutoUpdateClusterRoll { get; set; } + + [Input("applyRoll")] + public Input? ApplyRoll { get; set; } + + [Input("minorVersion")] + public Input? MinorVersion { get; set; } + + [Input("patch")] + public Input? Patch { get; set; } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateArgs() + { + } + public static new OceanScheduledTaskTaskParametersAmiAutoUpdateArgs Empty => new OceanScheduledTaskTaskParametersAmiAutoUpdateArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs.cs new file mode 100644 index 00000000..40273f0d --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs : global::Pulumi.ResourceArgs + { + [Input("amiAutoUpdateClusterRoll")] + public Input? AmiAutoUpdateClusterRoll { get; set; } + + [Input("applyRoll")] + public Input? ApplyRoll { get; set; } + + [Input("minorVersion")] + public Input? MinorVersion { get; set; } + + [Input("patch")] + public Input? Patch { get; set; } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs() + { + } + public static new OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs Empty => new OceanScheduledTaskTaskParametersAmiAutoUpdateGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersArgs.cs new file mode 100644 index 00000000..81ecb2e3 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersArgs : global::Pulumi.ResourceArgs + { + [Input("amiAutoUpdate")] + public Input? AmiAutoUpdate { get; set; } + + [Input("parametersClusterRoll")] + public Input? ParametersClusterRoll { get; set; } + + public OceanScheduledTaskTaskParametersArgs() + { + } + public static new OceanScheduledTaskTaskParametersArgs Empty => new OceanScheduledTaskTaskParametersArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersGetArgs.cs new file mode 100644 index 00000000..f740081c --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersGetArgs : global::Pulumi.ResourceArgs + { + [Input("amiAutoUpdate")] + public Input? AmiAutoUpdate { get; set; } + + [Input("parametersClusterRoll")] + public Input? ParametersClusterRoll { get; set; } + + public OceanScheduledTaskTaskParametersGetArgs() + { + } + public static new OceanScheduledTaskTaskParametersGetArgs Empty => new OceanScheduledTaskTaskParametersGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.cs new file mode 100644 index 00000000..ccc25d7e --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersParametersClusterRollArgs : global::Pulumi.ResourceArgs + { + [Input("batchMinHealthyPercentage")] + public Input? BatchMinHealthyPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("comment")] + public Input? Comment { get; set; } + + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + + public OceanScheduledTaskTaskParametersParametersClusterRollArgs() + { + } + public static new OceanScheduledTaskTaskParametersParametersClusterRollArgs Empty => new OceanScheduledTaskTaskParametersParametersClusterRollArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollGetArgs.cs new file mode 100644 index 00000000..807c9d91 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/OceanScheduledTaskTaskParametersParametersClusterRollGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Inputs +{ + + public sealed class OceanScheduledTaskTaskParametersParametersClusterRollGetArgs : global::Pulumi.ResourceArgs + { + [Input("batchMinHealthyPercentage")] + public Input? BatchMinHealthyPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("comment")] + public Input? Comment { get; set; } + + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + + public OceanScheduledTaskTaskParametersParametersClusterRollGetArgs() + { + } + public static new OceanScheduledTaskTaskParametersParametersClusterRollGetArgs Empty => new OceanScheduledTaskTaskParametersParametersClusterRollGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Ocean.cs b/sdk/dotnet/Aws/Ocean.cs index 79814889..b88caeb9 100644 --- a/sdk/dotnet/Aws/Ocean.cs +++ b/sdk/dotnet/Aws/Ocean.cs @@ -73,6 +73,21 @@ namespace Pulumi.SpotInst.Aws /// * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. /// * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). /// * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). + /// * `parameters` - (Optional) This filed will be compatible to the `task_type` field. If `task_type` is defined as `clusterRoll`, user cluster roll object in parameters. + /// * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object + /// * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered + /// * `clusterRoll` - (Optional) Set clusterRoll object + /// * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + /// * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + /// * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + /// * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. + /// * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. + /// * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. + /// * `clusterRoll` - (Optional) Set clusterRoll object + /// * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + /// * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + /// * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + /// * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. /// /// ```csharp /// using System.Collections.Generic; diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationKubernetes.cs b/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationKubernetes.cs index 4ceb1daa..d813ffaf 100644 --- a/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationKubernetes.cs +++ b/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationKubernetes.cs @@ -14,7 +14,7 @@ namespace Pulumi.SpotInst.Aws.Outputs public sealed class ElastigroupIntegrationKubernetes { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationMesosphere.cs b/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationMesosphere.cs index faab8b28..f95e74e3 100644 --- a/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationMesosphere.cs +++ b/sdk/dotnet/Aws/Outputs/ElastigroupIntegrationMesosphere.cs @@ -14,7 +14,7 @@ namespace Pulumi.SpotInst.Aws.Outputs public sealed class ElastigroupIntegrationMesosphere { /// - /// The public IP of the DC/OS Master. + /// The public IP of the DC/OS Master. /// /// Usage: /// diff --git a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTask.cs b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTask.cs index aec4d26b..62929a45 100644 --- a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTask.cs +++ b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTask.cs @@ -15,6 +15,7 @@ public sealed class OceanScheduledTaskTask { public readonly string CronExpression; public readonly bool IsEnabled; + public readonly Outputs.OceanScheduledTaskTaskParameters? Parameters; public readonly string TaskType; [OutputConstructor] @@ -23,10 +24,13 @@ private OceanScheduledTaskTask( bool isEnabled, + Outputs.OceanScheduledTaskTaskParameters? parameters, + string taskType) { CronExpression = cronExpression; IsEnabled = isEnabled; + Parameters = parameters; TaskType = taskType; } } diff --git a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParameters.cs b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParameters.cs new file mode 100644 index 00000000..5b114c6c --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParameters.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class OceanScheduledTaskTaskParameters + { + public readonly Outputs.OceanScheduledTaskTaskParametersAmiAutoUpdate? AmiAutoUpdate; + public readonly Outputs.OceanScheduledTaskTaskParametersParametersClusterRoll? ParametersClusterRoll; + + [OutputConstructor] + private OceanScheduledTaskTaskParameters( + Outputs.OceanScheduledTaskTaskParametersAmiAutoUpdate? amiAutoUpdate, + + Outputs.OceanScheduledTaskTaskParametersParametersClusterRoll? parametersClusterRoll) + { + AmiAutoUpdate = amiAutoUpdate; + ParametersClusterRoll = parametersClusterRoll; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.cs b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.cs new file mode 100644 index 00000000..2d58427c --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdate + { + public readonly Outputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll? AmiAutoUpdateClusterRoll; + public readonly bool? ApplyRoll; + public readonly bool? MinorVersion; + public readonly bool? Patch; + + [OutputConstructor] + private OceanScheduledTaskTaskParametersAmiAutoUpdate( + Outputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll? amiAutoUpdateClusterRoll, + + bool? applyRoll, + + bool? minorVersion, + + bool? patch) + { + AmiAutoUpdateClusterRoll = amiAutoUpdateClusterRoll; + ApplyRoll = applyRoll; + MinorVersion = minorVersion; + Patch = patch; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.cs b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.cs new file mode 100644 index 00000000..59ebd853 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll + { + public readonly int? BatchMinHealthyPercentage; + public readonly int? BatchSizePercentage; + public readonly string? Comment; + public readonly bool? RespectPdb; + + [OutputConstructor] + private OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll( + int? batchMinHealthyPercentage, + + int? batchSizePercentage, + + string? comment, + + bool? respectPdb) + { + BatchMinHealthyPercentage = batchMinHealthyPercentage; + BatchSizePercentage = batchSizePercentage; + Comment = comment; + RespectPdb = respectPdb; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.cs b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.cs new file mode 100644 index 00000000..83a7cacb --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class OceanScheduledTaskTaskParametersParametersClusterRoll + { + public readonly int? BatchMinHealthyPercentage; + public readonly int? BatchSizePercentage; + public readonly string? Comment; + public readonly bool? RespectPdb; + + [OutputConstructor] + private OceanScheduledTaskTaskParametersParametersClusterRoll( + int? batchMinHealthyPercentage, + + int? batchSizePercentage, + + string? comment, + + bool? respectPdb) + { + BatchMinHealthyPercentage = batchMinHealthyPercentage; + BatchSizePercentage = batchSizePercentage; + Comment = comment; + RespectPdb = respectPdb; + } + } +} diff --git a/sdk/go/spotinst/aws/ocean.go b/sdk/go/spotinst/aws/ocean.go index e6e24872..5d6caddd 100644 --- a/sdk/go/spotinst/aws/ocean.go +++ b/sdk/go/spotinst/aws/ocean.go @@ -90,6 +90,21 @@ import ( // - `isEnabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. // - `cronExpression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). // - `taskType` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). +// - `parameters` - (Optional) This filed will be compatible to the `taskType` field. If `taskType` is defined as `clusterRoll`, user cluster roll object in parameters. +// - `amiAutoUpdate` - (Optional) Set amiAutoUpdate object +// - `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered +// - `clusterRoll` - (Optional) Set clusterRoll object +// - `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. +// - `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. +// - `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars +// - `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. +// - `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. +// - `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. +// - `clusterRoll` - (Optional) Set clusterRoll object +// - `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. +// - `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. +// - `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars +// - `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. // // ```go // package main diff --git a/sdk/go/spotinst/aws/pulumiTypes.go b/sdk/go/spotinst/aws/pulumiTypes.go index bed7b41f..1bf7adb3 100644 --- a/sdk/go/spotinst/aws/pulumiTypes.go +++ b/sdk/go/spotinst/aws/pulumiTypes.go @@ -24626,9 +24626,10 @@ func (o OceanScheduledTaskShutdownHoursPtrOutput) TimeWindows() pulumi.StringArr } type OceanScheduledTaskTask struct { - CronExpression string `pulumi:"cronExpression"` - IsEnabled bool `pulumi:"isEnabled"` - TaskType string `pulumi:"taskType"` + CronExpression string `pulumi:"cronExpression"` + IsEnabled bool `pulumi:"isEnabled"` + Parameters *OceanScheduledTaskTaskParameters `pulumi:"parameters"` + TaskType string `pulumi:"taskType"` } // OceanScheduledTaskTaskInput is an input type that accepts OceanScheduledTaskTaskArgs and OceanScheduledTaskTaskOutput values. @@ -24643,9 +24644,10 @@ type OceanScheduledTaskTaskInput interface { } type OceanScheduledTaskTaskArgs struct { - CronExpression pulumi.StringInput `pulumi:"cronExpression"` - IsEnabled pulumi.BoolInput `pulumi:"isEnabled"` - TaskType pulumi.StringInput `pulumi:"taskType"` + CronExpression pulumi.StringInput `pulumi:"cronExpression"` + IsEnabled pulumi.BoolInput `pulumi:"isEnabled"` + Parameters OceanScheduledTaskTaskParametersPtrInput `pulumi:"parameters"` + TaskType pulumi.StringInput `pulumi:"taskType"` } func (OceanScheduledTaskTaskArgs) ElementType() reflect.Type { @@ -24707,6 +24709,10 @@ func (o OceanScheduledTaskTaskOutput) IsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v OceanScheduledTaskTask) bool { return v.IsEnabled }).(pulumi.BoolOutput) } +func (o OceanScheduledTaskTaskOutput) Parameters() OceanScheduledTaskTaskParametersPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTask) *OceanScheduledTaskTaskParameters { return v.Parameters }).(OceanScheduledTaskTaskParametersPtrOutput) +} + func (o OceanScheduledTaskTaskOutput) TaskType() pulumi.StringOutput { return o.ApplyT(func(v OceanScheduledTaskTask) string { return v.TaskType }).(pulumi.StringOutput) } @@ -24731,6 +24737,702 @@ func (o OceanScheduledTaskTaskArrayOutput) Index(i pulumi.IntInput) OceanSchedul }).(OceanScheduledTaskTaskOutput) } +type OceanScheduledTaskTaskParameters struct { + AmiAutoUpdate *OceanScheduledTaskTaskParametersAmiAutoUpdate `pulumi:"amiAutoUpdate"` + ParametersClusterRoll *OceanScheduledTaskTaskParametersParametersClusterRoll `pulumi:"parametersClusterRoll"` +} + +// OceanScheduledTaskTaskParametersInput is an input type that accepts OceanScheduledTaskTaskParametersArgs and OceanScheduledTaskTaskParametersOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersInput` via: +// +// OceanScheduledTaskTaskParametersArgs{...} +type OceanScheduledTaskTaskParametersInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersOutput() OceanScheduledTaskTaskParametersOutput + ToOceanScheduledTaskTaskParametersOutputWithContext(context.Context) OceanScheduledTaskTaskParametersOutput +} + +type OceanScheduledTaskTaskParametersArgs struct { + AmiAutoUpdate OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput `pulumi:"amiAutoUpdate"` + ParametersClusterRoll OceanScheduledTaskTaskParametersParametersClusterRollPtrInput `pulumi:"parametersClusterRoll"` +} + +func (OceanScheduledTaskTaskParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParameters)(nil)).Elem() +} + +func (i OceanScheduledTaskTaskParametersArgs) ToOceanScheduledTaskTaskParametersOutput() OceanScheduledTaskTaskParametersOutput { + return i.ToOceanScheduledTaskTaskParametersOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersArgs) ToOceanScheduledTaskTaskParametersOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersOutput) +} + +func (i OceanScheduledTaskTaskParametersArgs) ToOceanScheduledTaskTaskParametersPtrOutput() OceanScheduledTaskTaskParametersPtrOutput { + return i.ToOceanScheduledTaskTaskParametersPtrOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersArgs) ToOceanScheduledTaskTaskParametersPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersOutput).ToOceanScheduledTaskTaskParametersPtrOutputWithContext(ctx) +} + +// OceanScheduledTaskTaskParametersPtrInput is an input type that accepts OceanScheduledTaskTaskParametersArgs, OceanScheduledTaskTaskParametersPtr and OceanScheduledTaskTaskParametersPtrOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersPtrInput` via: +// +// OceanScheduledTaskTaskParametersArgs{...} +// +// or: +// +// nil +type OceanScheduledTaskTaskParametersPtrInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersPtrOutput() OceanScheduledTaskTaskParametersPtrOutput + ToOceanScheduledTaskTaskParametersPtrOutputWithContext(context.Context) OceanScheduledTaskTaskParametersPtrOutput +} + +type oceanScheduledTaskTaskParametersPtrType OceanScheduledTaskTaskParametersArgs + +func OceanScheduledTaskTaskParametersPtr(v *OceanScheduledTaskTaskParametersArgs) OceanScheduledTaskTaskParametersPtrInput { + return (*oceanScheduledTaskTaskParametersPtrType)(v) +} + +func (*oceanScheduledTaskTaskParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParameters)(nil)).Elem() +} + +func (i *oceanScheduledTaskTaskParametersPtrType) ToOceanScheduledTaskTaskParametersPtrOutput() OceanScheduledTaskTaskParametersPtrOutput { + return i.ToOceanScheduledTaskTaskParametersPtrOutputWithContext(context.Background()) +} + +func (i *oceanScheduledTaskTaskParametersPtrType) ToOceanScheduledTaskTaskParametersPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersPtrOutput) +} + +type OceanScheduledTaskTaskParametersOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParameters)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersOutput) ToOceanScheduledTaskTaskParametersOutput() OceanScheduledTaskTaskParametersOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersOutput) ToOceanScheduledTaskTaskParametersOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersOutput) ToOceanScheduledTaskTaskParametersPtrOutput() OceanScheduledTaskTaskParametersPtrOutput { + return o.ToOceanScheduledTaskTaskParametersPtrOutputWithContext(context.Background()) +} + +func (o OceanScheduledTaskTaskParametersOutput) ToOceanScheduledTaskTaskParametersPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OceanScheduledTaskTaskParameters) *OceanScheduledTaskTaskParameters { + return &v + }).(OceanScheduledTaskTaskParametersPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersOutput) AmiAutoUpdate() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParameters) *OceanScheduledTaskTaskParametersAmiAutoUpdate { + return v.AmiAutoUpdate + }).(OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) +} + +func (o OceanScheduledTaskTaskParametersOutput) ParametersClusterRoll() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParameters) *OceanScheduledTaskTaskParametersParametersClusterRoll { + return v.ParametersClusterRoll + }).(OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) +} + +type OceanScheduledTaskTaskParametersPtrOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParameters)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersPtrOutput) ToOceanScheduledTaskTaskParametersPtrOutput() OceanScheduledTaskTaskParametersPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersPtrOutput) ToOceanScheduledTaskTaskParametersPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersPtrOutput) Elem() OceanScheduledTaskTaskParametersOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParameters) OceanScheduledTaskTaskParameters { + if v != nil { + return *v + } + var ret OceanScheduledTaskTaskParameters + return ret + }).(OceanScheduledTaskTaskParametersOutput) +} + +func (o OceanScheduledTaskTaskParametersPtrOutput) AmiAutoUpdate() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParameters) *OceanScheduledTaskTaskParametersAmiAutoUpdate { + if v == nil { + return nil + } + return v.AmiAutoUpdate + }).(OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) +} + +func (o OceanScheduledTaskTaskParametersPtrOutput) ParametersClusterRoll() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParameters) *OceanScheduledTaskTaskParametersParametersClusterRoll { + if v == nil { + return nil + } + return v.ParametersClusterRoll + }).(OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdate struct { + AmiAutoUpdateClusterRoll *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll `pulumi:"amiAutoUpdateClusterRoll"` + ApplyRoll *bool `pulumi:"applyRoll"` + MinorVersion *bool `pulumi:"minorVersion"` + Patch *bool `pulumi:"patch"` +} + +// OceanScheduledTaskTaskParametersAmiAutoUpdateInput is an input type that accepts OceanScheduledTaskTaskParametersAmiAutoUpdateArgs and OceanScheduledTaskTaskParametersAmiAutoUpdateOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersAmiAutoUpdateInput` via: +// +// OceanScheduledTaskTaskParametersAmiAutoUpdateArgs{...} +type OceanScheduledTaskTaskParametersAmiAutoUpdateInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateOutput + ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutputWithContext(context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateOutput +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateArgs struct { + AmiAutoUpdateClusterRoll OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput `pulumi:"amiAutoUpdateClusterRoll"` + ApplyRoll pulumi.BoolPtrInput `pulumi:"applyRoll"` + MinorVersion pulumi.BoolPtrInput `pulumi:"minorVersion"` + Patch pulumi.BoolPtrInput `pulumi:"patch"` +} + +func (OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdate)(nil)).Elem() +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdateOutput).ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(ctx) +} + +// OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput is an input type that accepts OceanScheduledTaskTaskParametersAmiAutoUpdateArgs, OceanScheduledTaskTaskParametersAmiAutoUpdatePtr and OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput` via: +// +// OceanScheduledTaskTaskParametersAmiAutoUpdateArgs{...} +// +// or: +// +// nil +type OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput + ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput +} + +type oceanScheduledTaskTaskParametersAmiAutoUpdatePtrType OceanScheduledTaskTaskParametersAmiAutoUpdateArgs + +func OceanScheduledTaskTaskParametersAmiAutoUpdatePtr(v *OceanScheduledTaskTaskParametersAmiAutoUpdateArgs) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput { + return (*oceanScheduledTaskTaskParametersAmiAutoUpdatePtrType)(v) +} + +func (*oceanScheduledTaskTaskParametersAmiAutoUpdatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersAmiAutoUpdate)(nil)).Elem() +} + +func (i *oceanScheduledTaskTaskParametersAmiAutoUpdatePtrType) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(context.Background()) +} + +func (i *oceanScheduledTaskTaskParametersAmiAutoUpdatePtrType) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdate)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o.ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(context.Background()) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OceanScheduledTaskTaskParametersAmiAutoUpdate) *OceanScheduledTaskTaskParametersAmiAutoUpdate { + return &v + }).(OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) AmiAutoUpdateClusterRoll() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdate) *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + return v.AmiAutoUpdateClusterRoll + }).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) ApplyRoll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { return v.ApplyRoll }).(pulumi.BoolPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) MinorVersion() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { return v.MinorVersion }).(pulumi.BoolPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) Patch() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { return v.Patch }).(pulumi.BoolPtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersAmiAutoUpdate)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) Elem() OceanScheduledTaskTaskParametersAmiAutoUpdateOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdate) OceanScheduledTaskTaskParametersAmiAutoUpdate { + if v != nil { + return *v + } + var ret OceanScheduledTaskTaskParametersAmiAutoUpdate + return ret + }).(OceanScheduledTaskTaskParametersAmiAutoUpdateOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) AmiAutoUpdateClusterRoll() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdate) *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + if v == nil { + return nil + } + return v.AmiAutoUpdateClusterRoll + }).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) ApplyRoll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { + if v == nil { + return nil + } + return v.ApplyRoll + }).(pulumi.BoolPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) MinorVersion() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { + if v == nil { + return nil + } + return v.MinorVersion + }).(pulumi.BoolPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput) Patch() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdate) *bool { + if v == nil { + return nil + } + return v.Patch + }).(pulumi.BoolPtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll struct { + BatchMinHealthyPercentage *int `pulumi:"batchMinHealthyPercentage"` + BatchSizePercentage *int `pulumi:"batchSizePercentage"` + Comment *string `pulumi:"comment"` + RespectPdb *bool `pulumi:"respectPdb"` +} + +// OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollInput is an input type that accepts OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs and OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollInput` via: +// +// OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs{...} +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput + ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutputWithContext(context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs struct { + BatchMinHealthyPercentage pulumi.IntPtrInput `pulumi:"batchMinHealthyPercentage"` + BatchSizePercentage pulumi.IntPtrInput `pulumi:"batchSizePercentage"` + Comment pulumi.StringPtrInput `pulumi:"comment"` + RespectPdb pulumi.BoolPtrInput `pulumi:"respectPdb"` +} + +func (OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll)(nil)).Elem() +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput).ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(ctx) +} + +// OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput is an input type that accepts OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs, OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtr and OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput` via: +// +// OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs{...} +// +// or: +// +// nil +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput + ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput +} + +type oceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrType OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs + +func OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtr(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput { + return (*oceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrType)(v) +} + +func (*oceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll)(nil)).Elem() +} + +func (i *oceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrType) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return i.ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(context.Background()) +} + +func (i *oceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrType) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o.ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(context.Background()) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + return &v + }).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) BatchMinHealthyPercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *int { + return v.BatchMinHealthyPercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) BatchSizePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *int { + return v.BatchSizePercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *string { + return v.Comment + }).(pulumi.StringPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *bool { + return v.RespectPdb + }).(pulumi.BoolPtrOutput) +} + +type OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) ToOceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) Elem() OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + if v != nil { + return *v + } + var ret OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll + return ret + }).(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) BatchMinHealthyPercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *int { + if v == nil { + return nil + } + return v.BatchMinHealthyPercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) BatchSizePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *int { + if v == nil { + return nil + } + return v.BatchSizePercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *string { + if v == nil { + return nil + } + return v.Comment + }).(pulumi.StringPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll) *bool { + if v == nil { + return nil + } + return v.RespectPdb + }).(pulumi.BoolPtrOutput) +} + +type OceanScheduledTaskTaskParametersParametersClusterRoll struct { + BatchMinHealthyPercentage *int `pulumi:"batchMinHealthyPercentage"` + BatchSizePercentage *int `pulumi:"batchSizePercentage"` + Comment *string `pulumi:"comment"` + RespectPdb *bool `pulumi:"respectPdb"` +} + +// OceanScheduledTaskTaskParametersParametersClusterRollInput is an input type that accepts OceanScheduledTaskTaskParametersParametersClusterRollArgs and OceanScheduledTaskTaskParametersParametersClusterRollOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersParametersClusterRollInput` via: +// +// OceanScheduledTaskTaskParametersParametersClusterRollArgs{...} +type OceanScheduledTaskTaskParametersParametersClusterRollInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersParametersClusterRollOutput() OceanScheduledTaskTaskParametersParametersClusterRollOutput + ToOceanScheduledTaskTaskParametersParametersClusterRollOutputWithContext(context.Context) OceanScheduledTaskTaskParametersParametersClusterRollOutput +} + +type OceanScheduledTaskTaskParametersParametersClusterRollArgs struct { + BatchMinHealthyPercentage pulumi.IntPtrInput `pulumi:"batchMinHealthyPercentage"` + BatchSizePercentage pulumi.IntPtrInput `pulumi:"batchSizePercentage"` + Comment pulumi.StringPtrInput `pulumi:"comment"` + RespectPdb pulumi.BoolPtrInput `pulumi:"respectPdb"` +} + +func (OceanScheduledTaskTaskParametersParametersClusterRollArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersParametersClusterRoll)(nil)).Elem() +} + +func (i OceanScheduledTaskTaskParametersParametersClusterRollArgs) ToOceanScheduledTaskTaskParametersParametersClusterRollOutput() OceanScheduledTaskTaskParametersParametersClusterRollOutput { + return i.ToOceanScheduledTaskTaskParametersParametersClusterRollOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersParametersClusterRollArgs) ToOceanScheduledTaskTaskParametersParametersClusterRollOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersParametersClusterRollOutput) +} + +func (i OceanScheduledTaskTaskParametersParametersClusterRollArgs) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutput() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return i.ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(context.Background()) +} + +func (i OceanScheduledTaskTaskParametersParametersClusterRollArgs) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersParametersClusterRollOutput).ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(ctx) +} + +// OceanScheduledTaskTaskParametersParametersClusterRollPtrInput is an input type that accepts OceanScheduledTaskTaskParametersParametersClusterRollArgs, OceanScheduledTaskTaskParametersParametersClusterRollPtr and OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput values. +// You can construct a concrete instance of `OceanScheduledTaskTaskParametersParametersClusterRollPtrInput` via: +// +// OceanScheduledTaskTaskParametersParametersClusterRollArgs{...} +// +// or: +// +// nil +type OceanScheduledTaskTaskParametersParametersClusterRollPtrInput interface { + pulumi.Input + + ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutput() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput + ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(context.Context) OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput +} + +type oceanScheduledTaskTaskParametersParametersClusterRollPtrType OceanScheduledTaskTaskParametersParametersClusterRollArgs + +func OceanScheduledTaskTaskParametersParametersClusterRollPtr(v *OceanScheduledTaskTaskParametersParametersClusterRollArgs) OceanScheduledTaskTaskParametersParametersClusterRollPtrInput { + return (*oceanScheduledTaskTaskParametersParametersClusterRollPtrType)(v) +} + +func (*oceanScheduledTaskTaskParametersParametersClusterRollPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersParametersClusterRoll)(nil)).Elem() +} + +func (i *oceanScheduledTaskTaskParametersParametersClusterRollPtrType) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutput() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return i.ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(context.Background()) +} + +func (i *oceanScheduledTaskTaskParametersParametersClusterRollPtrType) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) +} + +type OceanScheduledTaskTaskParametersParametersClusterRollOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersParametersClusterRollOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OceanScheduledTaskTaskParametersParametersClusterRoll)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollOutput() OceanScheduledTaskTaskParametersParametersClusterRollOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutput() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o.ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(context.Background()) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OceanScheduledTaskTaskParametersParametersClusterRoll) *OceanScheduledTaskTaskParametersParametersClusterRoll { + return &v + }).(OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) BatchMinHealthyPercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersParametersClusterRoll) *int { return v.BatchMinHealthyPercentage }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) BatchSizePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersParametersClusterRoll) *int { return v.BatchSizePercentage }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersParametersClusterRoll) *string { return v.Comment }).(pulumi.StringPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanScheduledTaskTaskParametersParametersClusterRoll) *bool { return v.RespectPdb }).(pulumi.BoolPtrOutput) +} + +type OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput struct{ *pulumi.OutputState } + +func (OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OceanScheduledTaskTaskParametersParametersClusterRoll)(nil)).Elem() +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutput() OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) ToOceanScheduledTaskTaskParametersParametersClusterRollPtrOutputWithContext(ctx context.Context) OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput { + return o +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) Elem() OceanScheduledTaskTaskParametersParametersClusterRollOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersParametersClusterRoll) OceanScheduledTaskTaskParametersParametersClusterRoll { + if v != nil { + return *v + } + var ret OceanScheduledTaskTaskParametersParametersClusterRoll + return ret + }).(OceanScheduledTaskTaskParametersParametersClusterRollOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) BatchMinHealthyPercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersParametersClusterRoll) *int { + if v == nil { + return nil + } + return v.BatchMinHealthyPercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) BatchSizePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersParametersClusterRoll) *int { + if v == nil { + return nil + } + return v.BatchSizePercentage + }).(pulumi.IntPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersParametersClusterRoll) *string { + if v == nil { + return nil + } + return v.Comment + }).(pulumi.StringPtrOutput) +} + +func (o OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanScheduledTaskTaskParametersParametersClusterRoll) *bool { + if v == nil { + return nil + } + return v.RespectPdb + }).(pulumi.BoolPtrOutput) +} + type OceanTag struct { // The tag key. Key string `pulumi:"key"` @@ -25614,6 +26316,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskShutdownHoursPtrInput)(nil)).Elem(), OceanScheduledTaskShutdownHoursArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskInput)(nil)).Elem(), OceanScheduledTaskTaskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskArrayInput)(nil)).Elem(), OceanScheduledTaskTaskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersInput)(nil)).Elem(), OceanScheduledTaskTaskParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersPtrInput)(nil)).Elem(), OceanScheduledTaskTaskParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdateInput)(nil)).Elem(), OceanScheduledTaskTaskParametersAmiAutoUpdateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdatePtrInput)(nil)).Elem(), OceanScheduledTaskTaskParametersAmiAutoUpdateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollInput)(nil)).Elem(), OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrInput)(nil)).Elem(), OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersParametersClusterRollInput)(nil)).Elem(), OceanScheduledTaskTaskParametersParametersClusterRollArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OceanScheduledTaskTaskParametersParametersClusterRollPtrInput)(nil)).Elem(), OceanScheduledTaskTaskParametersParametersClusterRollArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OceanTagInput)(nil)).Elem(), OceanTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OceanTagArrayInput)(nil)).Elem(), OceanTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*OceanUpdatePolicyInput)(nil)).Elem(), OceanUpdatePolicyArgs{}) @@ -25930,6 +26640,14 @@ func init() { pulumi.RegisterOutputType(OceanScheduledTaskShutdownHoursPtrOutput{}) pulumi.RegisterOutputType(OceanScheduledTaskTaskOutput{}) pulumi.RegisterOutputType(OceanScheduledTaskTaskArrayOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersPtrOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersAmiAutoUpdateOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersAmiAutoUpdatePtrOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollPtrOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersParametersClusterRollOutput{}) + pulumi.RegisterOutputType(OceanScheduledTaskTaskParametersParametersClusterRollPtrOutput{}) pulumi.RegisterOutputType(OceanTagOutput{}) pulumi.RegisterOutputType(OceanTagArrayOutput{}) pulumi.RegisterOutputType(OceanUpdatePolicyOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/Ocean.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/Ocean.java index bf8916ff..fbc4c3f6 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/Ocean.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/Ocean.java @@ -117,6 +117,21 @@ * * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. * * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). * * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). + * * `parameters` - (Optional) This filed will be compatible to the `task_type` field. If `task_type` is defined as `clusterRoll`, user cluster roll object in parameters. + * * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object + * * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered + * * `clusterRoll` - (Optional) Set clusterRoll object + * * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. + * * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. + * * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. + * * `clusterRoll` - (Optional) Set clusterRoll object + * * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. * ```java * package generated_program; * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskArgs.java index 43352b2c..2d06adf6 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskArgs.java @@ -6,9 +6,12 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.aws.inputs.OceanScheduledTaskTaskParametersArgs; import java.lang.Boolean; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class OceanScheduledTaskTaskArgs extends com.pulumi.resources.ResourceArgs { @@ -29,6 +32,13 @@ public Output isEnabled() { return this.isEnabled; } + @Import(name="parameters") + private @Nullable Output parameters; + + public Optional> parameters() { + return Optional.ofNullable(this.parameters); + } + @Import(name="taskType", required=true) private Output taskType; @@ -41,6 +51,7 @@ private OceanScheduledTaskTaskArgs() {} private OceanScheduledTaskTaskArgs(OceanScheduledTaskTaskArgs $) { this.cronExpression = $.cronExpression; this.isEnabled = $.isEnabled; + this.parameters = $.parameters; this.taskType = $.taskType; } @@ -80,6 +91,15 @@ public Builder isEnabled(Boolean isEnabled) { return isEnabled(Output.of(isEnabled)); } + public Builder parameters(@Nullable Output parameters) { + $.parameters = parameters; + return this; + } + + public Builder parameters(OceanScheduledTaskTaskParametersArgs parameters) { + return parameters(Output.of(parameters)); + } + public Builder taskType(Output taskType) { $.taskType = taskType; return this; diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.java new file mode 100644 index 00000000..6e6c4538 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs extends com.pulumi.resources.ResourceArgs { + + public static final OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs Empty = new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs(); + + @Import(name="batchMinHealthyPercentage") + private @Nullable Output batchMinHealthyPercentage; + + public Optional> batchMinHealthyPercentage() { + return Optional.ofNullable(this.batchMinHealthyPercentage); + } + + @Import(name="batchSizePercentage") + private @Nullable Output batchSizePercentage; + + public Optional> batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + + @Import(name="comment") + private @Nullable Output comment; + + public Optional> comment() { + return Optional.ofNullable(this.comment); + } + + @Import(name="respectPdb") + private @Nullable Output respectPdb; + + public Optional> respectPdb() { + return Optional.ofNullable(this.respectPdb); + } + + private OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs() {} + + private OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs $) { + this.batchMinHealthyPercentage = $.batchMinHealthyPercentage; + this.batchSizePercentage = $.batchSizePercentage; + this.comment = $.comment; + this.respectPdb = $.respectPdb; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs $; + + public Builder() { + $ = new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs(); + } + + public Builder(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs defaults) { + $ = new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs(Objects.requireNonNull(defaults)); + } + + public Builder batchMinHealthyPercentage(@Nullable Output batchMinHealthyPercentage) { + $.batchMinHealthyPercentage = batchMinHealthyPercentage; + return this; + } + + public Builder batchMinHealthyPercentage(Integer batchMinHealthyPercentage) { + return batchMinHealthyPercentage(Output.of(batchMinHealthyPercentage)); + } + + public Builder batchSizePercentage(@Nullable Output batchSizePercentage) { + $.batchSizePercentage = batchSizePercentage; + return this; + } + + public Builder batchSizePercentage(Integer batchSizePercentage) { + return batchSizePercentage(Output.of(batchSizePercentage)); + } + + public Builder comment(@Nullable Output comment) { + $.comment = comment; + return this; + } + + public Builder comment(String comment) { + return comment(Output.of(comment)); + } + + public Builder respectPdb(@Nullable Output respectPdb) { + $.respectPdb = respectPdb; + return this; + } + + public Builder respectPdb(Boolean respectPdb) { + return respectPdb(Output.of(respectPdb)); + } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.java new file mode 100644 index 00000000..7d4fb1c8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersAmiAutoUpdateArgs.java @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.aws.inputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OceanScheduledTaskTaskParametersAmiAutoUpdateArgs extends com.pulumi.resources.ResourceArgs { + + public static final OceanScheduledTaskTaskParametersAmiAutoUpdateArgs Empty = new OceanScheduledTaskTaskParametersAmiAutoUpdateArgs(); + + @Import(name="amiAutoUpdateClusterRoll") + private @Nullable Output amiAutoUpdateClusterRoll; + + public Optional> amiAutoUpdateClusterRoll() { + return Optional.ofNullable(this.amiAutoUpdateClusterRoll); + } + + @Import(name="applyRoll") + private @Nullable Output applyRoll; + + public Optional> applyRoll() { + return Optional.ofNullable(this.applyRoll); + } + + @Import(name="minorVersion") + private @Nullable Output minorVersion; + + public Optional> minorVersion() { + return Optional.ofNullable(this.minorVersion); + } + + @Import(name="patch") + private @Nullable Output patch; + + public Optional> patch() { + return Optional.ofNullable(this.patch); + } + + private OceanScheduledTaskTaskParametersAmiAutoUpdateArgs() {} + + private OceanScheduledTaskTaskParametersAmiAutoUpdateArgs(OceanScheduledTaskTaskParametersAmiAutoUpdateArgs $) { + this.amiAutoUpdateClusterRoll = $.amiAutoUpdateClusterRoll; + this.applyRoll = $.applyRoll; + this.minorVersion = $.minorVersion; + this.patch = $.patch; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OceanScheduledTaskTaskParametersAmiAutoUpdateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OceanScheduledTaskTaskParametersAmiAutoUpdateArgs $; + + public Builder() { + $ = new OceanScheduledTaskTaskParametersAmiAutoUpdateArgs(); + } + + public Builder(OceanScheduledTaskTaskParametersAmiAutoUpdateArgs defaults) { + $ = new OceanScheduledTaskTaskParametersAmiAutoUpdateArgs(Objects.requireNonNull(defaults)); + } + + public Builder amiAutoUpdateClusterRoll(@Nullable Output amiAutoUpdateClusterRoll) { + $.amiAutoUpdateClusterRoll = amiAutoUpdateClusterRoll; + return this; + } + + public Builder amiAutoUpdateClusterRoll(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs amiAutoUpdateClusterRoll) { + return amiAutoUpdateClusterRoll(Output.of(amiAutoUpdateClusterRoll)); + } + + public Builder applyRoll(@Nullable Output applyRoll) { + $.applyRoll = applyRoll; + return this; + } + + public Builder applyRoll(Boolean applyRoll) { + return applyRoll(Output.of(applyRoll)); + } + + public Builder minorVersion(@Nullable Output minorVersion) { + $.minorVersion = minorVersion; + return this; + } + + public Builder minorVersion(Boolean minorVersion) { + return minorVersion(Output.of(minorVersion)); + } + + public Builder patch(@Nullable Output patch) { + $.patch = patch; + return this; + } + + public Builder patch(Boolean patch) { + return patch(Output.of(patch)); + } + + public OceanScheduledTaskTaskParametersAmiAutoUpdateArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersArgs.java new file mode 100644 index 00000000..13503bff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.aws.inputs.OceanScheduledTaskTaskParametersAmiAutoUpdateArgs; +import com.pulumi.spotinst.aws.inputs.OceanScheduledTaskTaskParametersParametersClusterRollArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OceanScheduledTaskTaskParametersArgs extends com.pulumi.resources.ResourceArgs { + + public static final OceanScheduledTaskTaskParametersArgs Empty = new OceanScheduledTaskTaskParametersArgs(); + + @Import(name="amiAutoUpdate") + private @Nullable Output amiAutoUpdate; + + public Optional> amiAutoUpdate() { + return Optional.ofNullable(this.amiAutoUpdate); + } + + @Import(name="parametersClusterRoll") + private @Nullable Output parametersClusterRoll; + + public Optional> parametersClusterRoll() { + return Optional.ofNullable(this.parametersClusterRoll); + } + + private OceanScheduledTaskTaskParametersArgs() {} + + private OceanScheduledTaskTaskParametersArgs(OceanScheduledTaskTaskParametersArgs $) { + this.amiAutoUpdate = $.amiAutoUpdate; + this.parametersClusterRoll = $.parametersClusterRoll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OceanScheduledTaskTaskParametersArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OceanScheduledTaskTaskParametersArgs $; + + public Builder() { + $ = new OceanScheduledTaskTaskParametersArgs(); + } + + public Builder(OceanScheduledTaskTaskParametersArgs defaults) { + $ = new OceanScheduledTaskTaskParametersArgs(Objects.requireNonNull(defaults)); + } + + public Builder amiAutoUpdate(@Nullable Output amiAutoUpdate) { + $.amiAutoUpdate = amiAutoUpdate; + return this; + } + + public Builder amiAutoUpdate(OceanScheduledTaskTaskParametersAmiAutoUpdateArgs amiAutoUpdate) { + return amiAutoUpdate(Output.of(amiAutoUpdate)); + } + + public Builder parametersClusterRoll(@Nullable Output parametersClusterRoll) { + $.parametersClusterRoll = parametersClusterRoll; + return this; + } + + public Builder parametersClusterRoll(OceanScheduledTaskTaskParametersParametersClusterRollArgs parametersClusterRoll) { + return parametersClusterRoll(Output.of(parametersClusterRoll)); + } + + public OceanScheduledTaskTaskParametersArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.java new file mode 100644 index 00000000..b589e743 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanScheduledTaskTaskParametersParametersClusterRollArgs.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OceanScheduledTaskTaskParametersParametersClusterRollArgs extends com.pulumi.resources.ResourceArgs { + + public static final OceanScheduledTaskTaskParametersParametersClusterRollArgs Empty = new OceanScheduledTaskTaskParametersParametersClusterRollArgs(); + + @Import(name="batchMinHealthyPercentage") + private @Nullable Output batchMinHealthyPercentage; + + public Optional> batchMinHealthyPercentage() { + return Optional.ofNullable(this.batchMinHealthyPercentage); + } + + @Import(name="batchSizePercentage") + private @Nullable Output batchSizePercentage; + + public Optional> batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + + @Import(name="comment") + private @Nullable Output comment; + + public Optional> comment() { + return Optional.ofNullable(this.comment); + } + + @Import(name="respectPdb") + private @Nullable Output respectPdb; + + public Optional> respectPdb() { + return Optional.ofNullable(this.respectPdb); + } + + private OceanScheduledTaskTaskParametersParametersClusterRollArgs() {} + + private OceanScheduledTaskTaskParametersParametersClusterRollArgs(OceanScheduledTaskTaskParametersParametersClusterRollArgs $) { + this.batchMinHealthyPercentage = $.batchMinHealthyPercentage; + this.batchSizePercentage = $.batchSizePercentage; + this.comment = $.comment; + this.respectPdb = $.respectPdb; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OceanScheduledTaskTaskParametersParametersClusterRollArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OceanScheduledTaskTaskParametersParametersClusterRollArgs $; + + public Builder() { + $ = new OceanScheduledTaskTaskParametersParametersClusterRollArgs(); + } + + public Builder(OceanScheduledTaskTaskParametersParametersClusterRollArgs defaults) { + $ = new OceanScheduledTaskTaskParametersParametersClusterRollArgs(Objects.requireNonNull(defaults)); + } + + public Builder batchMinHealthyPercentage(@Nullable Output batchMinHealthyPercentage) { + $.batchMinHealthyPercentage = batchMinHealthyPercentage; + return this; + } + + public Builder batchMinHealthyPercentage(Integer batchMinHealthyPercentage) { + return batchMinHealthyPercentage(Output.of(batchMinHealthyPercentage)); + } + + public Builder batchSizePercentage(@Nullable Output batchSizePercentage) { + $.batchSizePercentage = batchSizePercentage; + return this; + } + + public Builder batchSizePercentage(Integer batchSizePercentage) { + return batchSizePercentage(Output.of(batchSizePercentage)); + } + + public Builder comment(@Nullable Output comment) { + $.comment = comment; + return this; + } + + public Builder comment(String comment) { + return comment(Output.of(comment)); + } + + public Builder respectPdb(@Nullable Output respectPdb) { + $.respectPdb = respectPdb; + return this; + } + + public Builder respectPdb(Boolean respectPdb) { + return respectPdb(Output.of(respectPdb)); + } + + public OceanScheduledTaskTaskParametersParametersClusterRollArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTask.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTask.java index 1310373b..8369b143 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTask.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTask.java @@ -5,14 +5,18 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.aws.outputs.OceanScheduledTaskTaskParameters; import java.lang.Boolean; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class OceanScheduledTaskTask { private String cronExpression; private Boolean isEnabled; + private @Nullable OceanScheduledTaskTaskParameters parameters; private String taskType; private OceanScheduledTaskTask() {} @@ -22,6 +26,9 @@ public String cronExpression() { public Boolean isEnabled() { return this.isEnabled; } + public Optional parameters() { + return Optional.ofNullable(this.parameters); + } public String taskType() { return this.taskType; } @@ -37,12 +44,14 @@ public static Builder builder(OceanScheduledTaskTask defaults) { public static final class Builder { private String cronExpression; private Boolean isEnabled; + private @Nullable OceanScheduledTaskTaskParameters parameters; private String taskType; public Builder() {} public Builder(OceanScheduledTaskTask defaults) { Objects.requireNonNull(defaults); this.cronExpression = defaults.cronExpression; this.isEnabled = defaults.isEnabled; + this.parameters = defaults.parameters; this.taskType = defaults.taskType; } @@ -63,6 +72,12 @@ public Builder isEnabled(Boolean isEnabled) { return this; } @CustomType.Setter + public Builder parameters(@Nullable OceanScheduledTaskTaskParameters parameters) { + + this.parameters = parameters; + return this; + } + @CustomType.Setter public Builder taskType(String taskType) { if (taskType == null) { throw new MissingRequiredPropertyException("OceanScheduledTaskTask", "taskType"); @@ -74,6 +89,7 @@ public OceanScheduledTaskTask build() { final var _resultValue = new OceanScheduledTaskTask(); _resultValue.cronExpression = cronExpression; _resultValue.isEnabled = isEnabled; + _resultValue.parameters = parameters; _resultValue.taskType = taskType; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParameters.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParameters.java new file mode 100644 index 00000000..24477c95 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParameters.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.aws.outputs.OceanScheduledTaskTaskParametersAmiAutoUpdate; +import com.pulumi.spotinst.aws.outputs.OceanScheduledTaskTaskParametersParametersClusterRoll; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OceanScheduledTaskTaskParameters { + private @Nullable OceanScheduledTaskTaskParametersAmiAutoUpdate amiAutoUpdate; + private @Nullable OceanScheduledTaskTaskParametersParametersClusterRoll parametersClusterRoll; + + private OceanScheduledTaskTaskParameters() {} + public Optional amiAutoUpdate() { + return Optional.ofNullable(this.amiAutoUpdate); + } + public Optional parametersClusterRoll() { + return Optional.ofNullable(this.parametersClusterRoll); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OceanScheduledTaskTaskParameters defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable OceanScheduledTaskTaskParametersAmiAutoUpdate amiAutoUpdate; + private @Nullable OceanScheduledTaskTaskParametersParametersClusterRoll parametersClusterRoll; + public Builder() {} + public Builder(OceanScheduledTaskTaskParameters defaults) { + Objects.requireNonNull(defaults); + this.amiAutoUpdate = defaults.amiAutoUpdate; + this.parametersClusterRoll = defaults.parametersClusterRoll; + } + + @CustomType.Setter + public Builder amiAutoUpdate(@Nullable OceanScheduledTaskTaskParametersAmiAutoUpdate amiAutoUpdate) { + + this.amiAutoUpdate = amiAutoUpdate; + return this; + } + @CustomType.Setter + public Builder parametersClusterRoll(@Nullable OceanScheduledTaskTaskParametersParametersClusterRoll parametersClusterRoll) { + + this.parametersClusterRoll = parametersClusterRoll; + return this; + } + public OceanScheduledTaskTaskParameters build() { + final var _resultValue = new OceanScheduledTaskTaskParameters(); + _resultValue.amiAutoUpdate = amiAutoUpdate; + _resultValue.parametersClusterRoll = parametersClusterRoll; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.java new file mode 100644 index 00000000..f3e5c4cb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdate.java @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.aws.outputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OceanScheduledTaskTaskParametersAmiAutoUpdate { + private @Nullable OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll amiAutoUpdateClusterRoll; + private @Nullable Boolean applyRoll; + private @Nullable Boolean minorVersion; + private @Nullable Boolean patch; + + private OceanScheduledTaskTaskParametersAmiAutoUpdate() {} + public Optional amiAutoUpdateClusterRoll() { + return Optional.ofNullable(this.amiAutoUpdateClusterRoll); + } + public Optional applyRoll() { + return Optional.ofNullable(this.applyRoll); + } + public Optional minorVersion() { + return Optional.ofNullable(this.minorVersion); + } + public Optional patch() { + return Optional.ofNullable(this.patch); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OceanScheduledTaskTaskParametersAmiAutoUpdate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll amiAutoUpdateClusterRoll; + private @Nullable Boolean applyRoll; + private @Nullable Boolean minorVersion; + private @Nullable Boolean patch; + public Builder() {} + public Builder(OceanScheduledTaskTaskParametersAmiAutoUpdate defaults) { + Objects.requireNonNull(defaults); + this.amiAutoUpdateClusterRoll = defaults.amiAutoUpdateClusterRoll; + this.applyRoll = defaults.applyRoll; + this.minorVersion = defaults.minorVersion; + this.patch = defaults.patch; + } + + @CustomType.Setter + public Builder amiAutoUpdateClusterRoll(@Nullable OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll amiAutoUpdateClusterRoll) { + + this.amiAutoUpdateClusterRoll = amiAutoUpdateClusterRoll; + return this; + } + @CustomType.Setter + public Builder applyRoll(@Nullable Boolean applyRoll) { + + this.applyRoll = applyRoll; + return this; + } + @CustomType.Setter + public Builder minorVersion(@Nullable Boolean minorVersion) { + + this.minorVersion = minorVersion; + return this; + } + @CustomType.Setter + public Builder patch(@Nullable Boolean patch) { + + this.patch = patch; + return this; + } + public OceanScheduledTaskTaskParametersAmiAutoUpdate build() { + final var _resultValue = new OceanScheduledTaskTaskParametersAmiAutoUpdate(); + _resultValue.amiAutoUpdateClusterRoll = amiAutoUpdateClusterRoll; + _resultValue.applyRoll = applyRoll; + _resultValue.minorVersion = minorVersion; + _resultValue.patch = patch; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.java new file mode 100644 index 00000000..68256e85 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.java @@ -0,0 +1,90 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + private @Nullable Integer batchMinHealthyPercentage; + private @Nullable Integer batchSizePercentage; + private @Nullable String comment; + private @Nullable Boolean respectPdb; + + private OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll() {} + public Optional batchMinHealthyPercentage() { + return Optional.ofNullable(this.batchMinHealthyPercentage); + } + public Optional batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + public Optional comment() { + return Optional.ofNullable(this.comment); + } + public Optional respectPdb() { + return Optional.ofNullable(this.respectPdb); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer batchMinHealthyPercentage; + private @Nullable Integer batchSizePercentage; + private @Nullable String comment; + private @Nullable Boolean respectPdb; + public Builder() {} + public Builder(OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll defaults) { + Objects.requireNonNull(defaults); + this.batchMinHealthyPercentage = defaults.batchMinHealthyPercentage; + this.batchSizePercentage = defaults.batchSizePercentage; + this.comment = defaults.comment; + this.respectPdb = defaults.respectPdb; + } + + @CustomType.Setter + public Builder batchMinHealthyPercentage(@Nullable Integer batchMinHealthyPercentage) { + + this.batchMinHealthyPercentage = batchMinHealthyPercentage; + return this; + } + @CustomType.Setter + public Builder batchSizePercentage(@Nullable Integer batchSizePercentage) { + + this.batchSizePercentage = batchSizePercentage; + return this; + } + @CustomType.Setter + public Builder comment(@Nullable String comment) { + + this.comment = comment; + return this; + } + @CustomType.Setter + public Builder respectPdb(@Nullable Boolean respectPdb) { + + this.respectPdb = respectPdb; + return this; + } + public OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll build() { + final var _resultValue = new OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll(); + _resultValue.batchMinHealthyPercentage = batchMinHealthyPercentage; + _resultValue.batchSizePercentage = batchSizePercentage; + _resultValue.comment = comment; + _resultValue.respectPdb = respectPdb; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.java new file mode 100644 index 00000000..0d75eeb0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanScheduledTaskTaskParametersParametersClusterRoll.java @@ -0,0 +1,90 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OceanScheduledTaskTaskParametersParametersClusterRoll { + private @Nullable Integer batchMinHealthyPercentage; + private @Nullable Integer batchSizePercentage; + private @Nullable String comment; + private @Nullable Boolean respectPdb; + + private OceanScheduledTaskTaskParametersParametersClusterRoll() {} + public Optional batchMinHealthyPercentage() { + return Optional.ofNullable(this.batchMinHealthyPercentage); + } + public Optional batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + public Optional comment() { + return Optional.ofNullable(this.comment); + } + public Optional respectPdb() { + return Optional.ofNullable(this.respectPdb); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OceanScheduledTaskTaskParametersParametersClusterRoll defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer batchMinHealthyPercentage; + private @Nullable Integer batchSizePercentage; + private @Nullable String comment; + private @Nullable Boolean respectPdb; + public Builder() {} + public Builder(OceanScheduledTaskTaskParametersParametersClusterRoll defaults) { + Objects.requireNonNull(defaults); + this.batchMinHealthyPercentage = defaults.batchMinHealthyPercentage; + this.batchSizePercentage = defaults.batchSizePercentage; + this.comment = defaults.comment; + this.respectPdb = defaults.respectPdb; + } + + @CustomType.Setter + public Builder batchMinHealthyPercentage(@Nullable Integer batchMinHealthyPercentage) { + + this.batchMinHealthyPercentage = batchMinHealthyPercentage; + return this; + } + @CustomType.Setter + public Builder batchSizePercentage(@Nullable Integer batchSizePercentage) { + + this.batchSizePercentage = batchSizePercentage; + return this; + } + @CustomType.Setter + public Builder comment(@Nullable String comment) { + + this.comment = comment; + return this; + } + @CustomType.Setter + public Builder respectPdb(@Nullable Boolean respectPdb) { + + this.respectPdb = respectPdb; + return this; + } + public OceanScheduledTaskTaskParametersParametersClusterRoll build() { + final var _resultValue = new OceanScheduledTaskTaskParametersParametersClusterRoll(); + _resultValue.batchMinHealthyPercentage = batchMinHealthyPercentage; + _resultValue.batchSizePercentage = batchSizePercentage; + _resultValue.comment = comment; + _resultValue.respectPdb = respectPdb; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/aws/elastigroup.ts b/sdk/nodejs/aws/elastigroup.ts index 528c36f9..75a7890c 100644 --- a/sdk/nodejs/aws/elastigroup.ts +++ b/sdk/nodejs/aws/elastigroup.ts @@ -242,7 +242,7 @@ export class Elastigroup extends pulumi.CustomResource { */ public readonly placementTenancy!: pulumi.Output; /** - * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. * Note: Must be a sublist of `availabilityZones` and `orientation` value must not be `"equalAzDistribution"`. */ public readonly preferredAvailabilityZones!: pulumi.Output; @@ -257,7 +257,7 @@ export class Elastigroup extends pulumi.CustomResource { */ public readonly privateIps!: pulumi.Output; /** - * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. * For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. */ public readonly product!: pulumi.Output; @@ -743,7 +743,7 @@ export interface ElastigroupState { */ placementTenancy?: pulumi.Input; /** - * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. * Note: Must be a sublist of `availabilityZones` and `orientation` value must not be `"equalAzDistribution"`. */ preferredAvailabilityZones?: pulumi.Input[]>; @@ -758,7 +758,7 @@ export interface ElastigroupState { */ privateIps?: pulumi.Input[]>; /** - * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. * For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. */ product?: pulumi.Input; @@ -1044,7 +1044,7 @@ export interface ElastigroupArgs { */ placementTenancy?: pulumi.Input; /** - * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + * The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. * Note: Must be a sublist of `availabilityZones` and `orientation` value must not be `"equalAzDistribution"`. */ preferredAvailabilityZones?: pulumi.Input[]>; @@ -1059,7 +1059,7 @@ export interface ElastigroupArgs { */ privateIps?: pulumi.Input[]>; /** - * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + * Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. * For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. */ product: pulumi.Input; diff --git a/sdk/nodejs/aws/ocean.ts b/sdk/nodejs/aws/ocean.ts index 4b5453d1..e6c919d2 100644 --- a/sdk/nodejs/aws/ocean.ts +++ b/sdk/nodejs/aws/ocean.ts @@ -58,6 +58,21 @@ import * as utilities from "../utilities"; * * `isEnabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. * * `cronExpression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). * * `taskType` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). + * * `parameters` - (Optional) This filed will be compatible to the `taskType` field. If `taskType` is defined as `clusterRoll`, user cluster roll object in parameters. + * * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object + * * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered + * * `clusterRoll` - (Optional) Set clusterRoll object + * * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. + * * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. + * * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. + * * `clusterRoll` - (Optional) Set clusterRoll object + * * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 299885c8..862484a4 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -798,7 +798,7 @@ export namespace aws { export interface ElastigroupIntegrationKubernetes { /** - * The public IP of the DC/OS Master. + * The public IP of the DC/OS Master. * * Usage: * @@ -884,7 +884,7 @@ export namespace aws { export interface ElastigroupIntegrationMesosphere { /** - * The public IP of the DC/OS Master. + * The public IP of the DC/OS Master. * * Usage: * @@ -3157,9 +3157,36 @@ export namespace aws { export interface OceanScheduledTaskTask { cronExpression: pulumi.Input; isEnabled: pulumi.Input; + parameters?: pulumi.Input; taskType: pulumi.Input; } + export interface OceanScheduledTaskTaskParameters { + amiAutoUpdate?: pulumi.Input; + parametersClusterRoll?: pulumi.Input; + } + + export interface OceanScheduledTaskTaskParametersAmiAutoUpdate { + amiAutoUpdateClusterRoll?: pulumi.Input; + applyRoll?: pulumi.Input; + minorVersion?: pulumi.Input; + patch?: pulumi.Input; + } + + export interface OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + batchMinHealthyPercentage?: pulumi.Input; + batchSizePercentage?: pulumi.Input; + comment?: pulumi.Input; + respectPdb?: pulumi.Input; + } + + export interface OceanScheduledTaskTaskParametersParametersClusterRoll { + batchMinHealthyPercentage?: pulumi.Input; + batchSizePercentage?: pulumi.Input; + comment?: pulumi.Input; + respectPdb?: pulumi.Input; + } + export interface OceanTag { /** * The tag key. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7012d0dd..a63da26b 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -799,7 +799,7 @@ export namespace aws { export interface ElastigroupIntegrationKubernetes { /** - * The public IP of the DC/OS Master. + * The public IP of the DC/OS Master. * * Usage: * @@ -885,7 +885,7 @@ export namespace aws { export interface ElastigroupIntegrationMesosphere { /** - * The public IP of the DC/OS Master. + * The public IP of the DC/OS Master. * * Usage: * @@ -3158,9 +3158,36 @@ export namespace aws { export interface OceanScheduledTaskTask { cronExpression: string; isEnabled: boolean; + parameters?: outputs.aws.OceanScheduledTaskTaskParameters; taskType: string; } + export interface OceanScheduledTaskTaskParameters { + amiAutoUpdate?: outputs.aws.OceanScheduledTaskTaskParametersAmiAutoUpdate; + parametersClusterRoll?: outputs.aws.OceanScheduledTaskTaskParametersParametersClusterRoll; + } + + export interface OceanScheduledTaskTaskParametersAmiAutoUpdate { + amiAutoUpdateClusterRoll?: outputs.aws.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll; + applyRoll?: boolean; + minorVersion?: boolean; + patch?: boolean; + } + + export interface OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll { + batchMinHealthyPercentage?: number; + batchSizePercentage?: number; + comment?: string; + respectPdb?: boolean; + } + + export interface OceanScheduledTaskTaskParametersParametersClusterRoll { + batchMinHealthyPercentage?: number; + batchSizePercentage?: number; + comment?: string; + respectPdb?: boolean; + } + export interface OceanTag { /** * The tag key. diff --git a/sdk/python/pulumi_spotinst/aws/_inputs.py b/sdk/python/pulumi_spotinst/aws/_inputs.py index 695cf4e8..d7bd241c 100644 --- a/sdk/python/pulumi_spotinst/aws/_inputs.py +++ b/sdk/python/pulumi_spotinst/aws/_inputs.py @@ -165,6 +165,10 @@ 'OceanScheduledTaskArgs', 'OceanScheduledTaskShutdownHoursArgs', 'OceanScheduledTaskTaskArgs', + 'OceanScheduledTaskTaskParametersArgs', + 'OceanScheduledTaskTaskParametersAmiAutoUpdateArgs', + 'OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs', + 'OceanScheduledTaskTaskParametersParametersClusterRollArgs', 'OceanTagArgs', 'OceanUpdatePolicyArgs', 'OceanUpdatePolicyRollConfigArgs', @@ -1849,7 +1853,7 @@ def __init__(__self__, *, integration_mode: Optional[pulumi.Input[str]] = None, token: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] api_server: The public IP of the DC/OS Master. + :param pulumi.Input[str] api_server: The public IP of the DC/OS Master. Usage: @@ -1896,7 +1900,7 @@ def __init__(__self__, *, @pulumi.getter(name="apiServer") def api_server(self) -> Optional[pulumi.Input[str]]: """ - The public IP of the DC/OS Master. + The public IP of the DC/OS Master. Usage: @@ -2154,7 +2158,7 @@ class ElastigroupIntegrationMesosphereArgs: def __init__(__self__, *, api_server: pulumi.Input[str]): """ - :param pulumi.Input[str] api_server: The public IP of the DC/OS Master. + :param pulumi.Input[str] api_server: The public IP of the DC/OS Master. Usage: @@ -2168,7 +2172,7 @@ def __init__(__self__, *, @pulumi.getter(name="apiServer") def api_server(self) -> pulumi.Input[str]: """ - The public IP of the DC/OS Master. + The public IP of the DC/OS Master. Usage: @@ -11031,10 +11035,13 @@ class OceanScheduledTaskTaskArgs: def __init__(__self__, *, cron_expression: pulumi.Input[str], is_enabled: pulumi.Input[bool], - task_type: pulumi.Input[str]): + task_type: pulumi.Input[str], + parameters: Optional[pulumi.Input['OceanScheduledTaskTaskParametersArgs']] = None): pulumi.set(__self__, "cron_expression", cron_expression) pulumi.set(__self__, "is_enabled", is_enabled) pulumi.set(__self__, "task_type", task_type) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) @property @pulumi.getter(name="cronExpression") @@ -11063,6 +11070,203 @@ def task_type(self) -> pulumi.Input[str]: def task_type(self, value: pulumi.Input[str]): pulumi.set(self, "task_type", value) + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input['OceanScheduledTaskTaskParametersArgs']]: + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input['OceanScheduledTaskTaskParametersArgs']]): + pulumi.set(self, "parameters", value) + + +@pulumi.input_type +class OceanScheduledTaskTaskParametersArgs: + def __init__(__self__, *, + ami_auto_update: Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateArgs']] = None, + parameters_cluster_roll: Optional[pulumi.Input['OceanScheduledTaskTaskParametersParametersClusterRollArgs']] = None): + if ami_auto_update is not None: + pulumi.set(__self__, "ami_auto_update", ami_auto_update) + if parameters_cluster_roll is not None: + pulumi.set(__self__, "parameters_cluster_roll", parameters_cluster_roll) + + @property + @pulumi.getter(name="amiAutoUpdate") + def ami_auto_update(self) -> Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateArgs']]: + return pulumi.get(self, "ami_auto_update") + + @ami_auto_update.setter + def ami_auto_update(self, value: Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateArgs']]): + pulumi.set(self, "ami_auto_update", value) + + @property + @pulumi.getter(name="parametersClusterRoll") + def parameters_cluster_roll(self) -> Optional[pulumi.Input['OceanScheduledTaskTaskParametersParametersClusterRollArgs']]: + return pulumi.get(self, "parameters_cluster_roll") + + @parameters_cluster_roll.setter + def parameters_cluster_roll(self, value: Optional[pulumi.Input['OceanScheduledTaskTaskParametersParametersClusterRollArgs']]): + pulumi.set(self, "parameters_cluster_roll", value) + + +@pulumi.input_type +class OceanScheduledTaskTaskParametersAmiAutoUpdateArgs: + def __init__(__self__, *, + ami_auto_update_cluster_roll: Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs']] = None, + apply_roll: Optional[pulumi.Input[bool]] = None, + minor_version: Optional[pulumi.Input[bool]] = None, + patch: Optional[pulumi.Input[bool]] = None): + if ami_auto_update_cluster_roll is not None: + pulumi.set(__self__, "ami_auto_update_cluster_roll", ami_auto_update_cluster_roll) + if apply_roll is not None: + pulumi.set(__self__, "apply_roll", apply_roll) + if minor_version is not None: + pulumi.set(__self__, "minor_version", minor_version) + if patch is not None: + pulumi.set(__self__, "patch", patch) + + @property + @pulumi.getter(name="amiAutoUpdateClusterRoll") + def ami_auto_update_cluster_roll(self) -> Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs']]: + return pulumi.get(self, "ami_auto_update_cluster_roll") + + @ami_auto_update_cluster_roll.setter + def ami_auto_update_cluster_roll(self, value: Optional[pulumi.Input['OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs']]): + pulumi.set(self, "ami_auto_update_cluster_roll", value) + + @property + @pulumi.getter(name="applyRoll") + def apply_roll(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "apply_roll") + + @apply_roll.setter + def apply_roll(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "apply_roll", value) + + @property + @pulumi.getter(name="minorVersion") + def minor_version(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "minor_version") + + @minor_version.setter + def minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "minor_version", value) + + @property + @pulumi.getter + def patch(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "patch") + + @patch.setter + def patch(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "patch", value) + + +@pulumi.input_type +class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgs: + def __init__(__self__, *, + batch_min_healthy_percentage: Optional[pulumi.Input[int]] = None, + batch_size_percentage: Optional[pulumi.Input[int]] = None, + comment: Optional[pulumi.Input[str]] = None, + respect_pdb: Optional[pulumi.Input[bool]] = None): + if batch_min_healthy_percentage is not None: + pulumi.set(__self__, "batch_min_healthy_percentage", batch_min_healthy_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if comment is not None: + pulumi.set(__self__, "comment", comment) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) + + @property + @pulumi.getter(name="batchMinHealthyPercentage") + def batch_min_healthy_percentage(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "batch_min_healthy_percentage") + + @batch_min_healthy_percentage.setter + def batch_min_healthy_percentage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "batch_min_healthy_percentage", value) + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "batch_size_percentage") + + @batch_size_percentage.setter + def batch_size_percentage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "batch_size_percentage", value) + + @property + @pulumi.getter + def comment(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "comment") + + @comment.setter + def comment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "comment", value) + + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "respect_pdb") + + @respect_pdb.setter + def respect_pdb(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "respect_pdb", value) + + +@pulumi.input_type +class OceanScheduledTaskTaskParametersParametersClusterRollArgs: + def __init__(__self__, *, + batch_min_healthy_percentage: Optional[pulumi.Input[int]] = None, + batch_size_percentage: Optional[pulumi.Input[int]] = None, + comment: Optional[pulumi.Input[str]] = None, + respect_pdb: Optional[pulumi.Input[bool]] = None): + if batch_min_healthy_percentage is not None: + pulumi.set(__self__, "batch_min_healthy_percentage", batch_min_healthy_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if comment is not None: + pulumi.set(__self__, "comment", comment) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) + + @property + @pulumi.getter(name="batchMinHealthyPercentage") + def batch_min_healthy_percentage(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "batch_min_healthy_percentage") + + @batch_min_healthy_percentage.setter + def batch_min_healthy_percentage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "batch_min_healthy_percentage", value) + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "batch_size_percentage") + + @batch_size_percentage.setter + def batch_size_percentage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "batch_size_percentage", value) + + @property + @pulumi.getter + def comment(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "comment") + + @comment.setter + def comment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "comment", value) + + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "respect_pdb") + + @respect_pdb.setter + def respect_pdb(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "respect_pdb", value) + @pulumi.input_type class OceanTagArgs: diff --git a/sdk/python/pulumi_spotinst/aws/elastigroup.py b/sdk/python/pulumi_spotinst/aws/elastigroup.py index 612a4b36..c968738a 100644 --- a/sdk/python/pulumi_spotinst/aws/elastigroup.py +++ b/sdk/python/pulumi_spotinst/aws/elastigroup.py @@ -104,7 +104,7 @@ def __init__(__self__, *, The set of arguments for constructing a Elastigroup resource. :param pulumi.Input[bool] fallback_to_ondemand: In a case of no Spot instances available, Elastigroup will launch on-demand instances instead. :param pulumi.Input[str] orientation: Select a prediction strategy. Valid values: `balanced`, `costOriented`, `equalAzDistribution`, `availabilityOriented`. You can read more in our documentation. - :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: A list of associated security group IDS. :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of Strings of availability zones. When this parameter is set, `subnet_ids` should be left unused. @@ -156,7 +156,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] persist_private_ip: Boolean, should the instance maintain its private IP. :param pulumi.Input[bool] persist_root_device: Boolean, should the instance maintain its root device volumes. :param pulumi.Input[str] placement_tenancy: Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used. Valid values: "default", "dedicated" . - :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of Private IPs to associate to the group instances.(e.g. "172.1.1.0"). Please note: This setting will only apply if persistence.persist_private_ip is set to true. @@ -375,7 +375,7 @@ def orientation(self, value: pulumi.Input[str]): @pulumi.getter def product(self) -> pulumi.Input[str]: """ - Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. """ return pulumi.get(self, "product") @@ -1036,7 +1036,7 @@ def placement_tenancy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preferredAvailabilityZones") def preferred_availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. """ return pulumi.get(self, "preferred_availability_zones") @@ -1455,7 +1455,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] persist_private_ip: Boolean, should the instance maintain its private IP. :param pulumi.Input[bool] persist_root_device: Boolean, should the instance maintain its root device volumes. :param pulumi.Input[str] placement_tenancy: Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used. Valid values: "default", "dedicated" . - :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of Private IPs to associate to the group instances.(e.g. "172.1.1.0"). Please note: This setting will only apply if persistence.persist_private_ip is set to true. @@ -1464,7 +1464,7 @@ def __init__(__self__, *, ```python import pulumi ``` - :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. :param pulumi.Input[str] region: The AWS region your group will be created in. Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones). @@ -2317,7 +2317,7 @@ def placement_tenancy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preferredAvailabilityZones") def preferred_availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. """ return pulumi.get(self, "preferred_availability_zones") @@ -2348,7 +2348,7 @@ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter def product(self) -> Optional[pulumi.Input[str]]: """ - Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. """ return pulumi.get(self, "product") @@ -2767,7 +2767,7 @@ def __init__(__self__, :param pulumi.Input[bool] persist_private_ip: Boolean, should the instance maintain its private IP. :param pulumi.Input[bool] persist_root_device: Boolean, should the instance maintain its root device volumes. :param pulumi.Input[str] placement_tenancy: Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used. Valid values: "default", "dedicated" . - :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of Private IPs to associate to the group instances.(e.g. "172.1.1.0"). Please note: This setting will only apply if persistence.persist_private_ip is set to true. @@ -2776,7 +2776,7 @@ def __init__(__self__, ```python import pulumi ``` - :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. :param pulumi.Input[str] region: The AWS region your group will be created in. Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones). @@ -3157,7 +3157,7 @@ def get(resource_name: str, :param pulumi.Input[bool] persist_private_ip: Boolean, should the instance maintain its private IP. :param pulumi.Input[bool] persist_root_device: Boolean, should the instance maintain its root device volumes. :param pulumi.Input[str] placement_tenancy: Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used. Valid values: "default", "dedicated" . - :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of Private IPs to associate to the group instances.(e.g. "172.1.1.0"). Please note: This setting will only apply if persistence.persist_private_ip is set to true. @@ -3166,7 +3166,7 @@ def get(resource_name: str, ```python import pulumi ``` - :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + :param pulumi.Input[str] product: Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. :param pulumi.Input[str] region: The AWS region your group will be created in. Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones). @@ -3712,7 +3712,7 @@ def placement_tenancy(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="preferredAvailabilityZones") def preferred_availability_zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. + The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. """ return pulumi.get(self, "preferred_availability_zones") @@ -3735,7 +3735,7 @@ def private_ips(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def product(self) -> pulumi.Output[str]: """ - Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. + Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. """ return pulumi.get(self, "product") diff --git a/sdk/python/pulumi_spotinst/aws/ocean.py b/sdk/python/pulumi_spotinst/aws/ocean.py index 4fe339e1..e01a793f 100644 --- a/sdk/python/pulumi_spotinst/aws/ocean.py +++ b/sdk/python/pulumi_spotinst/aws/ocean.py @@ -1311,6 +1311,21 @@ def __init__(__self__, * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). + * `parameters` - (Optional) This filed will be compatible to the `task_type` field. If `task_type` is defined as `clusterRoll`, user cluster roll object in parameters. + * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object + * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered + * `clusterRoll` - (Optional) Set clusterRoll object + * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. + * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. + * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. + * `clusterRoll` - (Optional) Set clusterRoll object + * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. ```python import pulumi @@ -1422,6 +1437,21 @@ def __init__(__self__, * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). + * `parameters` - (Optional) This filed will be compatible to the `task_type` field. If `task_type` is defined as `clusterRoll`, user cluster roll object in parameters. + * `amiAutoUpdate` - (Optional) Set amiAutoUpdate object + * `applyRoll` - (Optional, Default:false) When the AMI is updated according to the configuration set, a cluster roll can be triggered + * `clusterRoll` - (Optional) Set clusterRoll object + * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. + * `minorVersion` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true. + * `patch` - (Optional, Default:false) When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true. + * `clusterRoll` - (Optional) Set clusterRoll object + * `batchMinHealthyPercentage` - (Optional, Default:50) Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. + * `batchSizePercentage` - (Optional) Value as a percent to set the size of a batch in a roll. Valid values are 0-100. + * `comment` - (Optional) Add a `comment` description for the roll. The `comment` is limited to 256 chars + * `respectPdb` - (Optional, Default:false) During the roll, if the parameter is set to true we honor PDB during the instance replacement. ```python import pulumi diff --git a/sdk/python/pulumi_spotinst/aws/outputs.py b/sdk/python/pulumi_spotinst/aws/outputs.py index 19093e11..636a6fd8 100644 --- a/sdk/python/pulumi_spotinst/aws/outputs.py +++ b/sdk/python/pulumi_spotinst/aws/outputs.py @@ -166,6 +166,10 @@ 'OceanScheduledTask', 'OceanScheduledTaskShutdownHours', 'OceanScheduledTaskTask', + 'OceanScheduledTaskTaskParameters', + 'OceanScheduledTaskTaskParametersAmiAutoUpdate', + 'OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll', + 'OceanScheduledTaskTaskParametersParametersClusterRoll', 'OceanTag', 'OceanUpdatePolicy', 'OceanUpdatePolicyRollConfig', @@ -2033,7 +2037,7 @@ def __init__(__self__, *, integration_mode: Optional[str] = None, token: Optional[str] = None): """ - :param str api_server: The public IP of the DC/OS Master. + :param str api_server: The public IP of the DC/OS Master. Usage: @@ -2080,7 +2084,7 @@ def __init__(__self__, *, @pulumi.getter(name="apiServer") def api_server(self) -> Optional[str]: """ - The public IP of the DC/OS Master. + The public IP of the DC/OS Master. Usage: @@ -2327,7 +2331,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, api_server: str): """ - :param str api_server: The public IP of the DC/OS Master. + :param str api_server: The public IP of the DC/OS Master. Usage: @@ -2341,7 +2345,7 @@ def __init__(__self__, *, @pulumi.getter(name="apiServer") def api_server(self) -> str: """ - The public IP of the DC/OS Master. + The public IP of the DC/OS Master. Usage: @@ -11081,10 +11085,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, cron_expression: str, is_enabled: bool, - task_type: str): + task_type: str, + parameters: Optional['outputs.OceanScheduledTaskTaskParameters'] = None): pulumi.set(__self__, "cron_expression", cron_expression) pulumi.set(__self__, "is_enabled", is_enabled) pulumi.set(__self__, "task_type", task_type) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) @property @pulumi.getter(name="cronExpression") @@ -11101,6 +11108,225 @@ def is_enabled(self) -> bool: def task_type(self) -> str: return pulumi.get(self, "task_type") + @property + @pulumi.getter + def parameters(self) -> Optional['outputs.OceanScheduledTaskTaskParameters']: + return pulumi.get(self, "parameters") + + +@pulumi.output_type +class OceanScheduledTaskTaskParameters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amiAutoUpdate": + suggest = "ami_auto_update" + elif key == "parametersClusterRoll": + suggest = "parameters_cluster_roll" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OceanScheduledTaskTaskParameters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OceanScheduledTaskTaskParameters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OceanScheduledTaskTaskParameters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ami_auto_update: Optional['outputs.OceanScheduledTaskTaskParametersAmiAutoUpdate'] = None, + parameters_cluster_roll: Optional['outputs.OceanScheduledTaskTaskParametersParametersClusterRoll'] = None): + if ami_auto_update is not None: + pulumi.set(__self__, "ami_auto_update", ami_auto_update) + if parameters_cluster_roll is not None: + pulumi.set(__self__, "parameters_cluster_roll", parameters_cluster_roll) + + @property + @pulumi.getter(name="amiAutoUpdate") + def ami_auto_update(self) -> Optional['outputs.OceanScheduledTaskTaskParametersAmiAutoUpdate']: + return pulumi.get(self, "ami_auto_update") + + @property + @pulumi.getter(name="parametersClusterRoll") + def parameters_cluster_roll(self) -> Optional['outputs.OceanScheduledTaskTaskParametersParametersClusterRoll']: + return pulumi.get(self, "parameters_cluster_roll") + + +@pulumi.output_type +class OceanScheduledTaskTaskParametersAmiAutoUpdate(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amiAutoUpdateClusterRoll": + suggest = "ami_auto_update_cluster_roll" + elif key == "applyRoll": + suggest = "apply_roll" + elif key == "minorVersion": + suggest = "minor_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OceanScheduledTaskTaskParametersAmiAutoUpdate. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OceanScheduledTaskTaskParametersAmiAutoUpdate.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OceanScheduledTaskTaskParametersAmiAutoUpdate.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ami_auto_update_cluster_roll: Optional['outputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll'] = None, + apply_roll: Optional[bool] = None, + minor_version: Optional[bool] = None, + patch: Optional[bool] = None): + if ami_auto_update_cluster_roll is not None: + pulumi.set(__self__, "ami_auto_update_cluster_roll", ami_auto_update_cluster_roll) + if apply_roll is not None: + pulumi.set(__self__, "apply_roll", apply_roll) + if minor_version is not None: + pulumi.set(__self__, "minor_version", minor_version) + if patch is not None: + pulumi.set(__self__, "patch", patch) + + @property + @pulumi.getter(name="amiAutoUpdateClusterRoll") + def ami_auto_update_cluster_roll(self) -> Optional['outputs.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll']: + return pulumi.get(self, "ami_auto_update_cluster_roll") + + @property + @pulumi.getter(name="applyRoll") + def apply_roll(self) -> Optional[bool]: + return pulumi.get(self, "apply_roll") + + @property + @pulumi.getter(name="minorVersion") + def minor_version(self) -> Optional[bool]: + return pulumi.get(self, "minor_version") + + @property + @pulumi.getter + def patch(self) -> Optional[bool]: + return pulumi.get(self, "patch") + + +@pulumi.output_type +class OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "batchMinHealthyPercentage": + suggest = "batch_min_healthy_percentage" + elif key == "batchSizePercentage": + suggest = "batch_size_percentage" + elif key == "respectPdb": + suggest = "respect_pdb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + batch_min_healthy_percentage: Optional[int] = None, + batch_size_percentage: Optional[int] = None, + comment: Optional[str] = None, + respect_pdb: Optional[bool] = None): + if batch_min_healthy_percentage is not None: + pulumi.set(__self__, "batch_min_healthy_percentage", batch_min_healthy_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if comment is not None: + pulumi.set(__self__, "comment", comment) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) + + @property + @pulumi.getter(name="batchMinHealthyPercentage") + def batch_min_healthy_percentage(self) -> Optional[int]: + return pulumi.get(self, "batch_min_healthy_percentage") + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[int]: + return pulumi.get(self, "batch_size_percentage") + + @property + @pulumi.getter + def comment(self) -> Optional[str]: + return pulumi.get(self, "comment") + + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[bool]: + return pulumi.get(self, "respect_pdb") + + +@pulumi.output_type +class OceanScheduledTaskTaskParametersParametersClusterRoll(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "batchMinHealthyPercentage": + suggest = "batch_min_healthy_percentage" + elif key == "batchSizePercentage": + suggest = "batch_size_percentage" + elif key == "respectPdb": + suggest = "respect_pdb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OceanScheduledTaskTaskParametersParametersClusterRoll. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OceanScheduledTaskTaskParametersParametersClusterRoll.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OceanScheduledTaskTaskParametersParametersClusterRoll.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + batch_min_healthy_percentage: Optional[int] = None, + batch_size_percentage: Optional[int] = None, + comment: Optional[str] = None, + respect_pdb: Optional[bool] = None): + if batch_min_healthy_percentage is not None: + pulumi.set(__self__, "batch_min_healthy_percentage", batch_min_healthy_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if comment is not None: + pulumi.set(__self__, "comment", comment) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) + + @property + @pulumi.getter(name="batchMinHealthyPercentage") + def batch_min_healthy_percentage(self) -> Optional[int]: + return pulumi.get(self, "batch_min_healthy_percentage") + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[int]: + return pulumi.get(self, "batch_size_percentage") + + @property + @pulumi.getter + def comment(self) -> Optional[str]: + return pulumi.get(self, "comment") + + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[bool]: + return pulumi.get(self, "respect_pdb") + @pulumi.output_type class OceanTag(dict): diff --git a/upstream b/upstream index 5cf0427d..5bc5f3f0 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 5cf0427dd63e92dd83790dd283c3140d18ab2db5 +Subproject commit 5bc5f3f03131a1b869c8310afe83a94d3966520f