Class: Ansible::Ruby::Modules::Spotinst_aws_elastigroup
- Inherits:
-
Base
- Object
- Ansible::Ruby::Models::Base
- Base
- Ansible::Ruby::Modules::Spotinst_aws_elastigroup
- Defined in:
- lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb
Overview
Can create, update, or delete Spotinst AWS Elastigroups Launch configuration is part of the elastigroup configuration, so no additional modules are necessary for handling the launch configuration. You will have to have a credentials file in this location - <home>/.spotinst/credentials The credentials file must contain a row that looks like this token = <YOUR TOKEN> Full documentation available at help.spotinst.com/hc/en-us/articles/115003530285-Ansible-
Instance Method Summary collapse
-
#account_id ⇒ Object?
(String) Optional parameter that allows to set an account-id inside the module configuration By default this is retrieved from the credentials path.
-
#availability_vs_cost ⇒ :availabilityOriented, ...
(String) The strategy orientation.
-
#availability_zones ⇒ Object
(List of Objects) a list of hash/dictionaries of Availability Zones that are configured in the elastigroup; ‘[“key”:“value”]’; keys allowed are name (String), subnet_id (String), placement_group_name (String),.
-
#block_device_mappings ⇒ Object?
(List of Objects) a list of hash/dictionaries of Block Device Mappings for elastigroup instances; You can specify virtual devices and EBS volumes.; ‘[“key”:“value”]’; keys allowed are device_name (List of Strings), virtual_name (String), no_device (String), ebs (Object, expects the following keys- delete_on_termination(Boolean), encrypted(Boolean), iops (Integer), snapshot_id(Integer), volume_type(String), volume_size(Integer)).
-
#chef ⇒ Object?
(Object) The Chef integration configuration.; Expects the following keys - chef_server (String), organization (String), user (String), pem_key (String), chef_version (String).
-
#credentials_path ⇒ Object?
(String) Optional parameter that allows to set a non-default credentials path.
-
#down_scaling_policies ⇒ Object?
(List of Objects) a list of hash/dictionaries of scaling policies to configure in the elastigroup; ‘[“key”:“value”]’; keys allowed are - policy_name (String, required), namespace (String, required), metric_name (String, required), dimensions ((List of Objects), Keys allowed are name (String, required) and value (String)), statistic (String, required), evaluation_periods (String, required), period (String, required), threshold (String, required), cooldown (String, required), unit (String, required), operator (String, required), action_type (String, required), adjustment (String), max_target_capacity (String), target (String), maximum (String), minimum (String).
-
#draining_timeout ⇒ Object?
(Integer) Time for instance to be drained from incoming requests and deregistered from ELB before termination.
-
#ebs_optimized ⇒ Object?
(Boolean) Enable EBS optimization for supported instances which are not enabled by default.; Note - additional charges will be applied.
-
#ebs_volume_pool ⇒ Object?
(List of Objects) a list of hash/dictionaries of EBS devices to reattach to the elastigroup when available; ‘[“key”:“value”]’; keys allowed are - volume_ids (List of Strings), device_name (String).
-
#ecs ⇒ Object?
(Object) The ECS integration configuration.; Expects the following key - cluster_name (String).
-
#elastic_ips ⇒ Object?
(List of Strings) List of ElasticIps Allocation Ids (Example C(eipalloc-9d4e16f8)) to associate to the group instances.
-
#fallback_to_od ⇒ Object?
(Boolean) In case of no spots available, Elastigroup will launch an On-demand instance instead.
-
#health_check_grace_period ⇒ Integer?
(Integer) The amount of time, in seconds, after the instance has launched to start and check its health.
-
#health_check_type ⇒ :ELB, ...
(String) The service to use for the health check.
-
#health_check_unhealthy_duration_before_replacement ⇒ Object?
(Integer) Minimal mount of time instance should be unhealthy for us to consider it unhealthy.
-
#iam_role_arn ⇒ Object?
(String) The instance profile iamRole arn,Only use iam_role_arn, or iam_role_name.
-
#iam_role_name ⇒ Object?
(String) The instance profile iamRole name,Only use iam_role_arn, or iam_role_name.
-
#id ⇒ Object?
(String) The group id if it already exists and you want to update, or delete it.
-
#ignore_changes ⇒ :image_id, ...
(List of Strings) list of fields on which changes should be ignored when updating.
-
#image_id ⇒ Object
(String) The image Id used to launch the instance.; In case of conflict between Instance type and image type, an error will be returned.
-
#key_pair ⇒ Object
(String) Specify a Key Pair to attach to the instances.
-
#kubernetes ⇒ Object?
(Object) The Kubernetes integration configuration.
-
#lifetime_period ⇒ Object?
(String) lifetime period.
-
#load_balancers ⇒ Object?
(List of Strings) List of classic ELB names.
-
#max_size ⇒ Object
(Integer) The upper limit number of instances that you can scale up to.
-
#mesosphere ⇒ Object?
(Object) The Mesosphere integration configuration.
-
#min_size ⇒ Object
(Integer) The lower limit number of instances that you can scale down to.
-
#monitoring ⇒ Object
(Boolean) Describes whether instance Enhanced Monitoring is enabled.
-
#name ⇒ String
(String) Unique name for elastigroup to be created, updated or deleted.
-
#network_interfaces ⇒ Object?
(List of Objects) a list of hash/dictionaries of network interfaces to add to the elastigroup; ‘[“key”:“value”]’; keys allowed are - description (String), device_index (Integer), secondary_private_ip_address_count (Integer), associate_public_ip_address (Boolean), delete_on_termination (Boolean), groups (List of Strings), network_interface_id (String), private_ip_address (String), subnet_id (String), associate_ipv6_address (Boolean), private_ip_addresses (List of Objects, Keys are privateIpAddress (String, required) and primary (Boolean)).
-
#on_demand_count ⇒ Object?
(Integer) Required if risk is not set,Number of on demand instances to launch.
-
#on_demand_instance_type ⇒ Object
(String) On-demand instance type that will be provisioned.
-
#opsworks ⇒ Object?
(Object) The elastigroup OpsWorks integration configration.; Expects the following key - layer_id (String).
-
#persistence ⇒ Object?
(Object) The Stateful elastigroup configration.; Accepts the following keys - should_persist_root_device (Boolean), should_persist_block_devices (Boolean), should_persist_private_ip (Boolean).
-
#product ⇒ :"Linux/UNIX", ...
(String) Operation system type._.
-
#rancher ⇒ Object?
(Object) The Rancher integration configuration.; Expects the following keys - access_key (String), secret_key (String), master_host (String).
-
#right_scale ⇒ Object?
(Object) The Rightscale integration configuration.; Expects the following keys - account_id (String), refresh_token (String).
-
#risk ⇒ Object?
(Integer) required if on demand is not set.
-
#roll_config ⇒ Object?
(Object) Roll configuration.; If you would like the group to roll after updating, please use this feature.
-
#scheduled_tasks ⇒ Object?
(List of Objects) a list of hash/dictionaries of scheduled tasks to configure in the elastigroup; ‘[“key”:“value”]’; keys allowed are - adjustment (Integer), scale_target_capacity (Integer), scale_min_capacity (Integer), scale_max_capacity (Integer), adjustment_percentage (Integer), batch_size_percentage (Integer), cron_expression (String), frequency (String), grace_period (Integer), task_type (String, required), is_enabled (Boolean).
-
#security_group_ids ⇒ Object
(List of Strings) One or more security group IDs.
-
#shutdown_script ⇒ Object?
(String) The Base64-encoded shutdown script that executes prior to instance termination.
-
#signals ⇒ Object?
(List of Objects) a list of hash/dictionaries of signals to configure in the elastigroup; keys allowed are - name (String, required), timeout (Integer).
-
#spin_up_time ⇒ Object?
(Integer) spin up time, in seconds, for the instance.
-
#spot_instance_types ⇒ Object
(List of Strings) Spot instance type that will be provisioned.
-
#state ⇒ :present, ...
(String) create or delete the elastigroup.
-
#tags ⇒ Object?
(List of tagKey:tagValue paris) a list of tags to configure in the elastigroup.
-
#target ⇒ Object
(Integer) The number of instances to launch.
-
#target_group_arns ⇒ Object?
(List of Strings) List of target group arns instances should be registered to.
-
#target_tracking_policies ⇒ Object?
(List of Objects) a list of hash/dictionaries of target tracking policies to configure in the elastigroup; ‘[“key”:“value”]’; keys allowed are - policy_name (String, required), namespace (String, required), source (String, required), metric_name (String, required), statistic (String, required), unit (String, required), cooldown (String, required), target (String, required).
-
#tenancy ⇒ :default, ...
(String) dedicated vs shared tenancy.
-
#terminate_at_end_of_billing_hour ⇒ Object?
(Boolean) terminate at the end of billing hour.
-
#uniqueness_by ⇒ :id, ...
(String) If your group names are not unique, you may use this feature to update or delete a specific group.
-
#unit ⇒ :instance, :weight
(String) The capacity unit to launch instances by.
-
#up_scaling_policies ⇒ Object?
(List of Objects) a list of hash/dictionaries of scaling policies to configure in the elastigroup; ‘[“key”:“value”]’; keys allowed are - policy_name (String, required), namespace (String, required), metric_name (String, required), dimensions (List of Objects, Keys allowed are name (String, required) and value (String)), statistic (String, required) evaluation_periods (String, required), period (String, required), threshold (String, required), cooldown (String, required), unit (String, required), operator (String, required), action_type (String, required), adjustment (String), min_target_capacity (String), target (String), maximum (String), minimum (String).
-
#user_data ⇒ Object?
(String) Base64-encoded MIME user data.
-
#utilize_reserved_instances ⇒ Object?
(Boolean) In case of any available Reserved Instances, Elastigroup will utilize your reservations before purchasing Spot instances.
-
#wait_for_instances ⇒ Object?
(Boolean) Whether or not the elastigroup creation / update actions should wait for the instances to spin.
-
#wait_timeout ⇒ Object?
(Integer) How long the module should wait for instances before failing the action.; Only works if wait_for_instances is True.
Methods inherited from Base
Methods inherited from Ansible::Ruby::Models::Base
attr_option, attr_options, attribute, #initialize, remove_existing_validations, #to_h, validates
Constructor Details
This class inherits a constructor from Ansible::Ruby::Models::Base
Instance Method Details
#account_id ⇒ Object?
15 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 15 attribute :account_id |
#availability_vs_cost ⇒ :availabilityOriented, ...
18 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 18 attribute :availability_vs_cost |
#availability_zones ⇒ Object
22 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 22 attribute :availability_zones |
#block_device_mappings ⇒ Object?
26 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 26 attribute :block_device_mappings |
#chef ⇒ Object?
29 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 29 attribute :chef |
#credentials_path ⇒ Object?
12 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 12 attribute :credentials_path |
#down_scaling_policies ⇒ Object?
190 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 190 attribute :down_scaling_policies |
#draining_timeout ⇒ Object?
32 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 32 attribute :draining_timeout |
#ebs_optimized ⇒ Object?
35 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 35 attribute :ebs_optimized |
#ebs_volume_pool ⇒ Object?
38 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 38 attribute :ebs_volume_pool |
#ecs ⇒ Object?
41 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 41 attribute :ecs |
#elastic_ips ⇒ Object?
44 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 44 attribute :elastic_ips |
#fallback_to_od ⇒ Object?
47 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 47 attribute :fallback_to_od |
#health_check_grace_period ⇒ Integer?
50 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 50 attribute :health_check_grace_period |
#health_check_type ⇒ :ELB, ...
57 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 57 attribute :health_check_type |
#health_check_unhealthy_duration_before_replacement ⇒ Object?
54 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 54 attribute :health_check_unhealthy_duration_before_replacement |
#iam_role_arn ⇒ Object?
64 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 64 attribute :iam_role_arn |
#iam_role_name ⇒ Object?
61 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 61 attribute :iam_role_name |
#id ⇒ Object?
67 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 67 attribute :id |
#ignore_changes ⇒ :image_id, ...
70 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 70 attribute :ignore_changes |
#image_id ⇒ Object
74 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 74 attribute :image_id |
#key_pair ⇒ Object
78 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 78 attribute :key_pair |
#kubernetes ⇒ Object?
82 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 82 attribute :kubernetes |
#lifetime_period ⇒ Object?
85 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 85 attribute :lifetime_period |
#load_balancers ⇒ Object?
88 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 88 attribute :load_balancers |
#max_size ⇒ Object
91 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 91 attribute :max_size |
#mesosphere ⇒ Object?
95 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 95 attribute :mesosphere |
#min_size ⇒ Object
98 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 98 attribute :min_size |
#monitoring ⇒ Object
102 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 102 attribute :monitoring |
#name ⇒ String
106 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 106 attribute :name |
#network_interfaces ⇒ Object?
110 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 110 attribute :network_interfaces |
#on_demand_count ⇒ Object?
113 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 113 attribute :on_demand_count |
#on_demand_instance_type ⇒ Object
116 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 116 attribute :on_demand_instance_type |
#opsworks ⇒ Object?
120 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 120 attribute :opsworks |
#persistence ⇒ Object?
123 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 123 attribute :persistence |
#product ⇒ :"Linux/UNIX", ...
126 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 126 attribute :product |
#rancher ⇒ Object?
130 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 130 attribute :rancher |
#right_scale ⇒ Object?
133 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 133 attribute :right_scale |
#risk ⇒ Object?
136 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 136 attribute :risk |
#roll_config ⇒ Object?
139 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 139 attribute :roll_config |
#scheduled_tasks ⇒ Object?
142 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 142 attribute :scheduled_tasks |
#security_group_ids ⇒ Object
145 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 145 attribute :security_group_ids |
#shutdown_script ⇒ Object?
149 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 149 attribute :shutdown_script |
#signals ⇒ Object?
152 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 152 attribute :signals |
#spin_up_time ⇒ Object?
155 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 155 attribute :spin_up_time |
#spot_instance_types ⇒ Object
158 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 158 attribute :spot_instance_types |
#state ⇒ :present, ...
162 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 162 attribute :state |
#tags ⇒ Object?
166 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 166 attribute :tags |
#target ⇒ Object
169 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 169 attribute :target |
#target_group_arns ⇒ Object?
173 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 173 attribute :target_group_arns |
#target_tracking_policies ⇒ Object?
193 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 193 attribute :target_tracking_policies |
#tenancy ⇒ :default, ...
176 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 176 attribute :tenancy |
#terminate_at_end_of_billing_hour ⇒ Object?
180 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 180 attribute :terminate_at_end_of_billing_hour |
#uniqueness_by ⇒ :id, ...
196 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 196 attribute :uniqueness_by |
#unit ⇒ :instance, :weight
183 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 183 attribute :unit |
#up_scaling_policies ⇒ Object?
187 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 187 attribute :up_scaling_policies |
#user_data ⇒ Object?
200 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 200 attribute :user_data |
#utilize_reserved_instances ⇒ Object?
203 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 203 attribute :utilize_reserved_instances |
#wait_for_instances ⇒ Object?
206 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 206 attribute :wait_for_instances |
#wait_timeout ⇒ Object?
209 |
# File 'lib/ansible/ruby/modules/generated/cloud/spotinst/spotinst_aws_elastigroup.rb', line 209 attribute :wait_timeout |