File Coverage

blib/lib/Paws/EC2/RequestSpotInstances.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::EC2::RequestSpotInstances;
3 1     1   452 use Moose;
  1     1   3  
  1         7  
  1         404  
  1         2  
  1         5  
4             has AvailabilityZoneGroup => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'availabilityZoneGroup' );
5             has BlockDurationMinutes => (is => 'ro', isa => 'Int', traits => ['NameInRequest'], request_name => 'blockDurationMinutes' );
6             has ClientToken => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'clientToken' );
7             has DryRun => (is => 'ro', isa => 'Bool', traits => ['NameInRequest'], request_name => 'dryRun' );
8             has InstanceCount => (is => 'ro', isa => 'Int', traits => ['NameInRequest'], request_name => 'instanceCount' );
9             has InstanceInterruptionBehavior => (is => 'ro', isa => 'Str');
10             has LaunchGroup => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'launchGroup' );
11             has LaunchSpecification => (is => 'ro', isa => 'Paws::EC2::RequestSpotLaunchSpecification');
12             has SpotPrice => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'spotPrice' , required => 1);
13             has Type => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'type' );
14             has ValidFrom => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'validFrom' );
15             has ValidUntil => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'validUntil' );
16              
17 1     1   6642 use MooseX::ClassAttribute;
  1     1   2  
  1         9  
  1         5718  
  1         2  
  1         7  
18              
19             class_has _api_call => (isa => 'Str', is => 'ro', default => 'RequestSpotInstances');
20             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::EC2::RequestSpotInstancesResult');
21             class_has _result_key => (isa => 'Str', is => 'ro');
22             1;
23              
24             ### main pod documentation begin ###
25              
26             =head1 NAME
27              
28             Paws::EC2::RequestSpotInstances - Arguments for method RequestSpotInstances on Paws::EC2
29              
30             =head1 DESCRIPTION
31              
32             This class represents the parameters used for calling the method RequestSpotInstances on the
33             Amazon Elastic Compute Cloud service. Use the attributes of this class
34             as arguments to method RequestSpotInstances.
35              
36             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to RequestSpotInstances.
37              
38             As an example:
39              
40             $service_obj->RequestSpotInstances(Att1 => $value1, Att2 => $value2, ...);
41              
42             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
43              
44             =head1 ATTRIBUTES
45              
46              
47             =head2 AvailabilityZoneGroup => Str
48              
49             The user-specified name for a logical grouping of bids.
50              
51             When you specify an Availability Zone group in a Spot Instance request,
52             all Spot instances in the request are launched in the same Availability
53             Zone. Instance proximity is maintained with this parameter, but the
54             choice of Availability Zone is not. The group applies only to bids for
55             Spot Instances of the same instance type. Any additional Spot instance
56             requests that are specified with the same Availability Zone group name
57             are launched in that same Availability Zone, as long as at least one
58             instance from the group is still active.
59              
60             If there is no active instance running in the Availability Zone group
61             that you specify for a new Spot instance request (all instances are
62             terminated, the bid is expired, or the bid falls below current market),
63             then Amazon EC2 launches the instance in any Availability Zone where
64             the constraint can be met. Consequently, the subsequent set of Spot
65             instances could be placed in a different zone from the original
66             request, even if you specified the same Availability Zone group.
67              
68             Default: Instances are launched in any available Availability Zone.
69              
70              
71              
72             =head2 BlockDurationMinutes => Int
73              
74             The required duration for the Spot instances (also known as Spot
75             blocks), in minutes. This value must be a multiple of 60 (60, 120, 180,
76             240, 300, or 360).
77              
78             The duration period starts as soon as your Spot instance receives its
79             instance ID. At the end of the duration period, Amazon EC2 marks the
80             Spot instance for termination and provides a Spot instance termination
81             notice, which gives the instance a two-minute warning before it
82             terminates.
83              
84             Note that you can't specify an Availability Zone group or a launch
85             group if you specify a duration.
86              
87              
88              
89             =head2 ClientToken => Str
90              
91             Unique, case-sensitive identifier that you provide to ensure the
92             idempotency of the request. For more information, see How to Ensure
93             Idempotency in the I<Amazon Elastic Compute Cloud User Guide>.
94              
95              
96              
97             =head2 DryRun => Bool
98              
99             Checks whether you have the required permissions for the action,
100             without actually making the request, and provides an error response. If
101             you have the required permissions, the error response is
102             C<DryRunOperation>. Otherwise, it is C<UnauthorizedOperation>.
103              
104              
105              
106             =head2 InstanceCount => Int
107              
108             The maximum number of Spot instances to launch.
109              
110             Default: 1
111              
112              
113              
114             =head2 InstanceInterruptionBehavior => Str
115              
116             Indicates whether a Spot instance stops or terminates when it is
117             interrupted.
118              
119             Valid values are: C<"stop">, C<"terminate">
120              
121             =head2 LaunchGroup => Str
122              
123             The instance launch group. Launch groups are Spot instances that launch
124             together and terminate together.
125              
126             Default: Instances are launched and terminated individually
127              
128              
129              
130             =head2 LaunchSpecification => L<Paws::EC2::RequestSpotLaunchSpecification>
131              
132             The launch specification.
133              
134              
135              
136             =head2 B<REQUIRED> SpotPrice => Str
137              
138             The maximum hourly price (bid) for any Spot instance launched to
139             fulfill the request.
140              
141              
142              
143             =head2 Type => Str
144              
145             The Spot instance request type.
146              
147             Default: C<one-time>
148              
149             Valid values are: C<"one-time">, C<"persistent">
150              
151             =head2 ValidFrom => Str
152              
153             The start date of the request. If this is a one-time request, the
154             request becomes active at this date and time and remains active until
155             all instances launch, the request expires, or the request is canceled.
156             If the request is persistent, the request becomes active at this date
157             and time and remains active until it expires or is canceled.
158              
159             Default: The request is effective indefinitely.
160              
161              
162              
163             =head2 ValidUntil => Str
164              
165             The end date of the request. If this is a one-time request, the request
166             remains active until all instances launch, the request is canceled, or
167             this date is reached. If the request is persistent, it remains active
168             until it is canceled or this date and time is reached.
169              
170             Default: The request is effective indefinitely.
171              
172              
173              
174              
175             =head1 SEE ALSO
176              
177             This class forms part of L<Paws>, documenting arguments for method RequestSpotInstances in L<Paws::EC2>
178              
179             =head1 BUGS and CONTRIBUTIONS
180              
181             The source code is located here: https://github.com/pplu/aws-sdk-perl
182              
183             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
184              
185             =cut
186