castai.RebalancingSchedule
Create RebalancingSchedule Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new RebalancingSchedule(name: string, args: RebalancingScheduleArgs, opts?: CustomResourceOptions);@overload
def RebalancingSchedule(resource_name: str,
args: RebalancingScheduleArgs,
opts: Optional[ResourceOptions] = None)
@overload
def RebalancingSchedule(resource_name: str,
opts: Optional[ResourceOptions] = None,
launch_configuration: Optional[_rebalancing.RebalancingScheduleLaunchConfigurationArgs] = None,
schedule: Optional[_rebalancing.RebalancingScheduleScheduleArgs] = None,
trigger_conditions: Optional[_rebalancing.RebalancingScheduleTriggerConditionsArgs] = None,
name: Optional[str] = None)func NewRebalancingSchedule(ctx *Context, name string, args RebalancingScheduleArgs, opts ...ResourceOption) (*RebalancingSchedule, error)public RebalancingSchedule(string name, RebalancingScheduleArgs args, CustomResourceOptions? opts = null)
public RebalancingSchedule(String name, RebalancingScheduleArgs args)
public RebalancingSchedule(String name, RebalancingScheduleArgs args, CustomResourceOptions options)
type: castai:rebalancing:RebalancingSchedule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args RebalancingScheduleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args RebalancingScheduleArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args RebalancingScheduleArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args RebalancingScheduleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args RebalancingScheduleArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
RebalancingSchedule Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The RebalancingSchedule resource accepts the following input properties:
- launch
Configuration Property Map - schedule Property Map
- trigger
Conditions Property Map - name String
- Name of the schedule.
Outputs
All input properties are implicitly available as output properties. Additionally, the RebalancingSchedule resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing RebalancingSchedule Resource
Get an existing RebalancingSchedule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: RebalancingScheduleState, opts?: CustomResourceOptions): RebalancingSchedule@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
launch_configuration: Optional[_rebalancing.RebalancingScheduleLaunchConfigurationArgs] = None,
name: Optional[str] = None,
schedule: Optional[_rebalancing.RebalancingScheduleScheduleArgs] = None,
trigger_conditions: Optional[_rebalancing.RebalancingScheduleTriggerConditionsArgs] = None) -> RebalancingSchedulefunc GetRebalancingSchedule(ctx *Context, name string, id IDInput, state *RebalancingScheduleState, opts ...ResourceOption) (*RebalancingSchedule, error)public static RebalancingSchedule Get(string name, Input<string> id, RebalancingScheduleState? state, CustomResourceOptions? opts = null)public static RebalancingSchedule get(String name, Output<String> id, RebalancingScheduleState state, CustomResourceOptions options)resources: _: type: castai:rebalancing:RebalancingSchedule get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- launch
Configuration Property Map - name String
- Name of the schedule.
- schedule Property Map
- trigger
Conditions Property Map
Supporting Types
RebalancingScheduleLaunchConfiguration, RebalancingScheduleLaunchConfigurationArgs
- Aggressive
Mode bool - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- Aggressive
Mode Pulumi.Config Cast AI. Rebalancing. Inputs. Rebalancing Schedule Launch Configuration Aggressive Mode Config - Advanced configuration for aggressive rebalancing mode.
- Execution
Conditions Pulumi.Cast AI. Rebalancing. Inputs. Rebalancing Schedule Launch Configuration Execution Conditions - Keep
Drain boolTimeout Nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- Node
Ttl intSeconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- Num
Targeted intNodes - Maximum number of nodes that will be selected for rebalancing.
- Rebalancing
Min intNodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- Selector string
- Node selector in JSON format.
- Target
Node stringSelection Algorithm - Defines the algorithm used to select the target nodes for rebalancing.
- Aggressive
Mode bool - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- Aggressive
Mode RebalancingConfig Schedule Launch Configuration Aggressive Mode Config - Advanced configuration for aggressive rebalancing mode.
- Execution
Conditions RebalancingSchedule Launch Configuration Execution Conditions - Keep
Drain boolTimeout Nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- Node
Ttl intSeconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- Num
Targeted intNodes - Maximum number of nodes that will be selected for rebalancing.
- Rebalancing
Min intNodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- Selector string
- Node selector in JSON format.
- Target
Node stringSelection Algorithm - Defines the algorithm used to select the target nodes for rebalancing.
- aggressive
Mode Boolean - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- aggressive
Mode RebalancingConfig Schedule Launch Configuration Aggressive Mode Config - Advanced configuration for aggressive rebalancing mode.
- execution
Conditions RebalancingSchedule Launch Configuration Execution Conditions - keep
Drain BooleanTimeout Nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- node
Ttl IntegerSeconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- num
Targeted IntegerNodes - Maximum number of nodes that will be selected for rebalancing.
- rebalancing
Min IntegerNodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- selector String
- Node selector in JSON format.
- target
Node StringSelection Algorithm - Defines the algorithm used to select the target nodes for rebalancing.
- aggressive
Mode boolean - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- aggressive
Mode rebalancingConfig Rebalancing Schedule Launch Configuration Aggressive Mode Config - Advanced configuration for aggressive rebalancing mode.
- execution
Conditions rebalancingRebalancing Schedule Launch Configuration Execution Conditions - keep
Drain booleanTimeout Nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- node
Ttl numberSeconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- num
Targeted numberNodes - Maximum number of nodes that will be selected for rebalancing.
- rebalancing
Min numberNodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- selector string
- Node selector in JSON format.
- target
Node stringSelection Algorithm - Defines the algorithm used to select the target nodes for rebalancing.
- aggressive_
mode bool - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- aggressive_
mode_ rebalancing.config Rebalancing Schedule Launch Configuration Aggressive Mode Config - Advanced configuration for aggressive rebalancing mode.
- execution_
conditions rebalancing.Rebalancing Schedule Launch Configuration Execution Conditions - keep_
drain_ booltimeout_ nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- node_
ttl_ intseconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- num_
targeted_ intnodes - Maximum number of nodes that will be selected for rebalancing.
- rebalancing_
min_ intnodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- selector str
- Node selector in JSON format.
- target_
node_ strselection_ algorithm - Defines the algorithm used to select the target nodes for rebalancing.
- aggressive
Mode Boolean - When enabled rebalancing will also consider problematic pods (pods without controller, job pods, pods with removal-disabled annotation) as not-problematic.
- aggressive
Mode Property MapConfig - Advanced configuration for aggressive rebalancing mode.
- execution
Conditions Property Map - keep
Drain BooleanTimeout Nodes - Defines whether the nodes that failed to get drained until a predefined timeout, will be kept with a rebalancing.cast.ai/status=drain-failed annotation instead of forcefully drained.
- node
Ttl NumberSeconds - Specifies amount of time since node creation before the node is allowed to be considered for automated rebalancing.
- num
Targeted NumberNodes - Maximum number of nodes that will be selected for rebalancing.
- rebalancing
Min NumberNodes - Minimum number of nodes that should be kept in the cluster after rebalancing.
- selector String
- Node selector in JSON format.
- target
Node StringSelection Algorithm - Defines the algorithm used to select the target nodes for rebalancing.
RebalancingScheduleLaunchConfigurationAggressiveModeConfig, RebalancingScheduleLaunchConfigurationAggressiveModeConfigArgs
- Ignore
Local boolPersistent Volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- Ignore
Problem boolJob Pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- Ignore
Problem boolPods Without Controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- Ignore
Problem boolRemoval Disabled Pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
- Ignore
Local boolPersistent Volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- Ignore
Problem boolJob Pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- Ignore
Problem boolPods Without Controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- Ignore
Problem boolRemoval Disabled Pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
- ignore
Local BooleanPersistent Volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- ignore
Problem BooleanJob Pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- ignore
Problem BooleanPods Without Controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- ignore
Problem BooleanRemoval Disabled Pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
- ignore
Local booleanPersistent Volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- ignore
Problem booleanJob Pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- ignore
Problem booleanPods Without Controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- ignore
Problem booleanRemoval Disabled Pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
- ignore_
local_ boolpersistent_ volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- ignore_
problem_ booljob_ pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- ignore_
problem_ boolpods_ without_ controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- ignore_
problem_ boolremoval_ disabled_ pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
- ignore
Local BooleanPersistent Volumes - Rebalance workloads that use local-path Persistent Volumes. THIS WILL RESULT IN DATA LOSS.
- ignore
Problem BooleanJob Pods - Pods spawned by Jobs or CronJobs will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, pods spawned by Jobs or CronJobs will be terminated if the Rebalancer picks a node that runs them. As such, they are likely to lose their progress.
- ignore
Problem BooleanPods Without Controller - Pods that don't have a controller (bare pods) will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods might not restart, since they have no controller to do it.
- ignore
Problem BooleanRemoval Disabled Pods - Pods that are marked with "removal disabled" will not prevent the Rebalancer from deleting a node on which they run. WARNING: When true, such pods will be evicted and disrupted.
RebalancingScheduleLaunchConfigurationExecutionConditions, RebalancingScheduleLaunchConfigurationExecutionConditionsArgs
- Enabled bool
- Enables or disables the execution conditions.
- Achieved
Savings intPercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
- Enabled bool
- Enables or disables the execution conditions.
- Achieved
Savings intPercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
- enabled Boolean
- Enables or disables the execution conditions.
- achieved
Savings IntegerPercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
- enabled boolean
- Enables or disables the execution conditions.
- achieved
Savings numberPercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
- enabled bool
- Enables or disables the execution conditions.
- achieved_
savings_ intpercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
- enabled Boolean
- Enables or disables the execution conditions.
- achieved
Savings NumberPercentage - The percentage of the predicted savings that must be achieved in order to fully execute the plan.If the savings are not achieved after creating the new nodes, the plan will fail and delete the created nodes.
RebalancingScheduleSchedule, RebalancingScheduleScheduleArgs
- Cron string
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
- Cron string
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
- cron String
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
- cron string
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
- cron str
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
- cron String
Cron expression defining when the schedule should trigger.
The
cronexpression can optionally include theCRON_TZvariable at the beginning to specify the timezone in which the schedule should be interpreted.Example:
CRON_TZ=America/New_York 0 12 * * ?In the example above, the
CRON_TZvariable is set to "America/New_York" indicating that the cron expression should be interpreted in the Eastern Time (ET) timezone.To retrieve a list of available timezone values, you can use the following API endpoint:
GET https://api.cast.ai/v1/time-zones
When using the
CRON_TZvariable, ensure that the specified timezone is valid and supported by checking the list of available timezones from the API endpoint. If theCRON_TZvariable is not specified, the cron expression will be interpreted in the UTC timezone.
RebalancingScheduleTriggerConditions, RebalancingScheduleTriggerConditionsArgs
- Savings
Percentage double - Defines the minimum percentage of savings expected.
- Ignore
Savings bool - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
- Savings
Percentage float64 - Defines the minimum percentage of savings expected.
- Ignore
Savings bool - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
- savings
Percentage Double - Defines the minimum percentage of savings expected.
- ignore
Savings Boolean - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
- savings
Percentage number - Defines the minimum percentage of savings expected.
- ignore
Savings boolean - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
- savings_
percentage float - Defines the minimum percentage of savings expected.
- ignore_
savings bool - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
- savings
Percentage Number - Defines the minimum percentage of savings expected.
- ignore
Savings Boolean - If true, the savings percentage will be ignored and the rebalancing will be triggered regardless of the savings percentage.
Package Details
- Repository
- castai castai/pulumi-castai
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
castaiTerraform Provider.
