aws-sdk-ec2 1.30.0 → 1.31.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2845,6 +2845,163 @@ module Aws::EC2
2845
2845
  include Aws::Structure
2846
2846
  end
2847
2847
 
2848
+ # @note When making an API call, you may pass CreateFleetRequest
2849
+ # data as a hash:
2850
+ #
2851
+ # {
2852
+ # dry_run: false,
2853
+ # client_token: "String",
2854
+ # spot_options: {
2855
+ # allocation_strategy: "lowest-price", # accepts lowest-price, diversified
2856
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
2857
+ # },
2858
+ # excess_capacity_termination_policy: "no-termination", # accepts no-termination, termination
2859
+ # launch_template_configs: [ # required
2860
+ # {
2861
+ # launch_template_specification: {
2862
+ # launch_template_id: "String",
2863
+ # launch_template_name: "LaunchTemplateName",
2864
+ # version: "String",
2865
+ # },
2866
+ # overrides: [
2867
+ # {
2868
+ # instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge
2869
+ # max_price: "String",
2870
+ # subnet_id: "String",
2871
+ # availability_zone: "String",
2872
+ # weighted_capacity: 1.0,
2873
+ # },
2874
+ # ],
2875
+ # },
2876
+ # ],
2877
+ # target_capacity_specification: { # required
2878
+ # total_target_capacity: 1, # required
2879
+ # on_demand_target_capacity: 1,
2880
+ # spot_target_capacity: 1,
2881
+ # default_target_capacity_type: "spot", # accepts spot, on-demand
2882
+ # },
2883
+ # terminate_instances_with_expiration: false,
2884
+ # type: "request", # accepts request, maintain
2885
+ # valid_from: Time.now,
2886
+ # valid_until: Time.now,
2887
+ # replace_unhealthy_instances: false,
2888
+ # tag_specifications: [
2889
+ # {
2890
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
2891
+ # tags: [
2892
+ # {
2893
+ # key: "String",
2894
+ # value: "String",
2895
+ # },
2896
+ # ],
2897
+ # },
2898
+ # ],
2899
+ # }
2900
+ #
2901
+ # @!attribute [rw] dry_run
2902
+ # Checks whether you have the required permissions for the action,
2903
+ # without actually making the request, and provides an error response.
2904
+ # If you have the required permissions, the error response is
2905
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2906
+ # @return [Boolean]
2907
+ #
2908
+ # @!attribute [rw] client_token
2909
+ # Unique, case-sensitive identifier you provide to ensure the
2910
+ # idempotency of the request. For more information, see [Ensuring
2911
+ # Idempotency][1].
2912
+ #
2913
+ #
2914
+ #
2915
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2916
+ # @return [String]
2917
+ #
2918
+ # @!attribute [rw] spot_options
2919
+ # Includes `SpotAllocationStrategy` and
2920
+ # `SpotInstanceInterruptionBehavior` inside this structure.
2921
+ # @return [Types::SpotOptionsRequest]
2922
+ #
2923
+ # @!attribute [rw] excess_capacity_termination_policy
2924
+ # Indicates whether running instances should be terminated if the
2925
+ # total target capacity of the EC2 Fleet is decreased below the
2926
+ # current size of the EC2 Fleet.
2927
+ # @return [String]
2928
+ #
2929
+ # @!attribute [rw] launch_template_configs
2930
+ # The configuration for the EC2 Fleet.
2931
+ # @return [Array<Types::FleetLaunchTemplateConfigRequest>]
2932
+ #
2933
+ # @!attribute [rw] target_capacity_specification
2934
+ # The `TotalTargetCapacity`, `OnDemandTargetCapacity`,
2935
+ # `SpotTargetCapacity`, and `DefaultCapacityType` structure.
2936
+ # @return [Types::TargetCapacitySpecificationRequest]
2937
+ #
2938
+ # @!attribute [rw] terminate_instances_with_expiration
2939
+ # Indicates whether running instances should be terminated when the
2940
+ # EC2 Fleet expires.
2941
+ # @return [Boolean]
2942
+ #
2943
+ # @!attribute [rw] type
2944
+ # The type of request. Indicates whether the EC2 Fleet only `requests`
2945
+ # the target capacity, or also attempts to `maintain` it. If you
2946
+ # request a certain target capacity, EC2 Fleet only places the
2947
+ # required requests. It does not attempt to replenish instances if
2948
+ # capacity is diminished, and does not submit requests in alternative
2949
+ # capacity pools if capacity is unavailable. To maintain a certain
2950
+ # target capacity, EC2 Fleet places the required requests to meet this
2951
+ # target capacity. It also automatically replenishes any interrupted
2952
+ # Spot Instances. Default: `maintain`.
2953
+ # @return [String]
2954
+ #
2955
+ # @!attribute [rw] valid_from
2956
+ # The start date and time of the request, in UTC format (for example,
2957
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). The default is to start
2958
+ # fulfilling the request immediately.
2959
+ # @return [Time]
2960
+ #
2961
+ # @!attribute [rw] valid_until
2962
+ # The end date and time of the request, in UTC format (for example,
2963
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). At this point, no new EC2 Fleet
2964
+ # requests are placed or able to fulfill the request. The default end
2965
+ # date is 7 days from the current date.
2966
+ # @return [Time]
2967
+ #
2968
+ # @!attribute [rw] replace_unhealthy_instances
2969
+ # Indicates whether EC2 Fleet should replace unhealthy instances.
2970
+ # @return [Boolean]
2971
+ #
2972
+ # @!attribute [rw] tag_specifications
2973
+ # The tags for an EC2 Fleet resource.
2974
+ # @return [Array<Types::TagSpecification>]
2975
+ #
2976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleetRequest AWS API Documentation
2977
+ #
2978
+ class CreateFleetRequest < Struct.new(
2979
+ :dry_run,
2980
+ :client_token,
2981
+ :spot_options,
2982
+ :excess_capacity_termination_policy,
2983
+ :launch_template_configs,
2984
+ :target_capacity_specification,
2985
+ :terminate_instances_with_expiration,
2986
+ :type,
2987
+ :valid_from,
2988
+ :valid_until,
2989
+ :replace_unhealthy_instances,
2990
+ :tag_specifications)
2991
+ include Aws::Structure
2992
+ end
2993
+
2994
+ # @!attribute [rw] fleet_id
2995
+ # The ID of the EC2 Fleet.
2996
+ # @return [String]
2997
+ #
2998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleetResult AWS API Documentation
2999
+ #
3000
+ class CreateFleetResult < Struct.new(
3001
+ :fleet_id)
3002
+ include Aws::Structure
3003
+ end
3004
+
2848
3005
  # Contains the parameters for CreateFlowLogs.
2849
3006
  #
2850
3007
  # @note When making an API call, you may pass CreateFlowLogsRequest
@@ -5393,6 +5550,115 @@ module Aws::EC2
5393
5550
  include Aws::Structure
5394
5551
  end
5395
5552
 
5553
+ # Describes an EC2 Fleet error.
5554
+ #
5555
+ # @!attribute [rw] code
5556
+ # The error code.
5557
+ # @return [String]
5558
+ #
5559
+ # @!attribute [rw] message
5560
+ # The description for the error code.
5561
+ # @return [String]
5562
+ #
5563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetError AWS API Documentation
5564
+ #
5565
+ class DeleteFleetError < Struct.new(
5566
+ :code,
5567
+ :message)
5568
+ include Aws::Structure
5569
+ end
5570
+
5571
+ # Describes an EC2 Fleet that was not successfully deleted.
5572
+ #
5573
+ # @!attribute [rw] error
5574
+ # The error.
5575
+ # @return [Types::DeleteFleetError]
5576
+ #
5577
+ # @!attribute [rw] fleet_id
5578
+ # The ID of the EC2 Fleet.
5579
+ # @return [String]
5580
+ #
5581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetErrorItem AWS API Documentation
5582
+ #
5583
+ class DeleteFleetErrorItem < Struct.new(
5584
+ :error,
5585
+ :fleet_id)
5586
+ include Aws::Structure
5587
+ end
5588
+
5589
+ # Describes an EC2 Fleet that was successfully deleted.
5590
+ #
5591
+ # @!attribute [rw] current_fleet_state
5592
+ # The current state of the EC2 Fleet.
5593
+ # @return [String]
5594
+ #
5595
+ # @!attribute [rw] previous_fleet_state
5596
+ # The previous state of the EC2 Fleet.
5597
+ # @return [String]
5598
+ #
5599
+ # @!attribute [rw] fleet_id
5600
+ # The ID of the EC2 Fleet.
5601
+ # @return [String]
5602
+ #
5603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetSuccessItem AWS API Documentation
5604
+ #
5605
+ class DeleteFleetSuccessItem < Struct.new(
5606
+ :current_fleet_state,
5607
+ :previous_fleet_state,
5608
+ :fleet_id)
5609
+ include Aws::Structure
5610
+ end
5611
+
5612
+ # @note When making an API call, you may pass DeleteFleetsRequest
5613
+ # data as a hash:
5614
+ #
5615
+ # {
5616
+ # dry_run: false,
5617
+ # fleet_ids: ["FleetIdentifier"], # required
5618
+ # terminate_instances: false, # required
5619
+ # }
5620
+ #
5621
+ # @!attribute [rw] dry_run
5622
+ # Checks whether you have the required permissions for the action,
5623
+ # without actually making the request, and provides an error response.
5624
+ # If you have the required permissions, the error response is
5625
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
5626
+ # @return [Boolean]
5627
+ #
5628
+ # @!attribute [rw] fleet_ids
5629
+ # The IDs of the EC2 Fleets.
5630
+ # @return [Array<String>]
5631
+ #
5632
+ # @!attribute [rw] terminate_instances
5633
+ # Indicates whether to terminate instances for an EC2 Fleet if it is
5634
+ # deleted successfully.
5635
+ # @return [Boolean]
5636
+ #
5637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetsRequest AWS API Documentation
5638
+ #
5639
+ class DeleteFleetsRequest < Struct.new(
5640
+ :dry_run,
5641
+ :fleet_ids,
5642
+ :terminate_instances)
5643
+ include Aws::Structure
5644
+ end
5645
+
5646
+ # @!attribute [rw] successful_fleet_deletions
5647
+ # Information about the EC2 Fleets that are successfully deleted.
5648
+ # @return [Array<Types::DeleteFleetSuccessItem>]
5649
+ #
5650
+ # @!attribute [rw] unsuccessful_fleet_deletions
5651
+ # Information about the EC2 Fleets that are not successfully deleted.
5652
+ # @return [Array<Types::DeleteFleetErrorItem>]
5653
+ #
5654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetsResult AWS API Documentation
5655
+ #
5656
+ class DeleteFleetsResult < Struct.new(
5657
+ :successful_fleet_deletions,
5658
+ :unsuccessful_fleet_deletions)
5659
+ include Aws::Structure
5660
+ end
5661
+
5396
5662
  # Contains the parameters for DeleteFlowLogs.
5397
5663
  #
5398
5664
  # @note When making an API call, you may pass DeleteFlowLogsRequest
@@ -7232,49 +7498,286 @@ module Aws::EC2
7232
7498
  # @return [Integer]
7233
7499
  #
7234
7500
  # @!attribute [rw] next_token
7235
- # The token to use to retrieve the next page of results. This value is
7236
- # `null` when there are no more results to return.
7501
+ # The token to use to retrieve the next page of results. This value is
7502
+ # `null` when there are no more results to return.
7503
+ # @return [String]
7504
+ #
7505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult AWS API Documentation
7506
+ #
7507
+ class DescribeElasticGpusResult < Struct.new(
7508
+ :elastic_gpu_set,
7509
+ :max_results,
7510
+ :next_token)
7511
+ include Aws::Structure
7512
+ end
7513
+
7514
+ # Contains the parameters for DescribeExportTasks.
7515
+ #
7516
+ # @note When making an API call, you may pass DescribeExportTasksRequest
7517
+ # data as a hash:
7518
+ #
7519
+ # {
7520
+ # export_task_ids: ["String"],
7521
+ # }
7522
+ #
7523
+ # @!attribute [rw] export_task_ids
7524
+ # One or more export task IDs.
7525
+ # @return [Array<String>]
7526
+ #
7527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest AWS API Documentation
7528
+ #
7529
+ class DescribeExportTasksRequest < Struct.new(
7530
+ :export_task_ids)
7531
+ include Aws::Structure
7532
+ end
7533
+
7534
+ # Contains the output for DescribeExportTasks.
7535
+ #
7536
+ # @!attribute [rw] export_tasks
7537
+ # Information about the export tasks.
7538
+ # @return [Array<Types::ExportTask>]
7539
+ #
7540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult AWS API Documentation
7541
+ #
7542
+ class DescribeExportTasksResult < Struct.new(
7543
+ :export_tasks)
7544
+ include Aws::Structure
7545
+ end
7546
+
7547
+ # @note When making an API call, you may pass DescribeFleetHistoryRequest
7548
+ # data as a hash:
7549
+ #
7550
+ # {
7551
+ # dry_run: false,
7552
+ # event_type: "instance-change", # accepts instance-change, fleet-change, service-error
7553
+ # max_results: 1,
7554
+ # next_token: "String",
7555
+ # fleet_id: "FleetIdentifier", # required
7556
+ # start_time: Time.now, # required
7557
+ # }
7558
+ #
7559
+ # @!attribute [rw] dry_run
7560
+ # Checks whether you have the required permissions for the action,
7561
+ # without actually making the request, and provides an error response.
7562
+ # If you have the required permissions, the error response is
7563
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7564
+ # @return [Boolean]
7565
+ #
7566
+ # @!attribute [rw] event_type
7567
+ # The type of events to describe. By default, all events are
7568
+ # described.
7569
+ # @return [String]
7570
+ #
7571
+ # @!attribute [rw] max_results
7572
+ # The maximum number of results to return in a single call. Specify a
7573
+ # value between 1 and 1000. The default value is 1000. To retrieve the
7574
+ # remaining results, make another call with the returned `NextToken`
7575
+ # value.
7576
+ # @return [Integer]
7577
+ #
7578
+ # @!attribute [rw] next_token
7579
+ # The token for the next set of results.
7580
+ # @return [String]
7581
+ #
7582
+ # @!attribute [rw] fleet_id
7583
+ # The ID of the EC2 Fleet.
7584
+ # @return [String]
7585
+ #
7586
+ # @!attribute [rw] start_time
7587
+ # The start date and time for the events, in UTC format (for example,
7588
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
7589
+ # @return [Time]
7590
+ #
7591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistoryRequest AWS API Documentation
7592
+ #
7593
+ class DescribeFleetHistoryRequest < Struct.new(
7594
+ :dry_run,
7595
+ :event_type,
7596
+ :max_results,
7597
+ :next_token,
7598
+ :fleet_id,
7599
+ :start_time)
7600
+ include Aws::Structure
7601
+ end
7602
+
7603
+ # @!attribute [rw] history_records
7604
+ # Information about the events in the history of the EC2 Fleet.
7605
+ # @return [Array<Types::HistoryRecordEntry>]
7606
+ #
7607
+ # @!attribute [rw] last_evaluated_time
7608
+ # The last date and time for the events, in UTC format (for example,
7609
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). All records up to this time
7610
+ # were retrieved.
7611
+ #
7612
+ # If `nextToken` indicates that there are more results, this value is
7613
+ # not present.
7614
+ # @return [Time]
7615
+ #
7616
+ # @!attribute [rw] next_token
7617
+ # The token for the next set of results.
7618
+ # @return [String]
7619
+ #
7620
+ # @!attribute [rw] fleet_id
7621
+ # The ID of the EC Fleet.
7622
+ # @return [String]
7623
+ #
7624
+ # @!attribute [rw] start_time
7625
+ # The start date and time for the events, in UTC format (for example,
7626
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
7627
+ # @return [Time]
7628
+ #
7629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistoryResult AWS API Documentation
7630
+ #
7631
+ class DescribeFleetHistoryResult < Struct.new(
7632
+ :history_records,
7633
+ :last_evaluated_time,
7634
+ :next_token,
7635
+ :fleet_id,
7636
+ :start_time)
7637
+ include Aws::Structure
7638
+ end
7639
+
7640
+ # @note When making an API call, you may pass DescribeFleetInstancesRequest
7641
+ # data as a hash:
7642
+ #
7643
+ # {
7644
+ # dry_run: false,
7645
+ # max_results: 1,
7646
+ # next_token: "String",
7647
+ # fleet_id: "FleetIdentifier", # required
7648
+ # filters: [
7649
+ # {
7650
+ # name: "String",
7651
+ # values: ["String"],
7652
+ # },
7653
+ # ],
7654
+ # }
7655
+ #
7656
+ # @!attribute [rw] dry_run
7657
+ # Checks whether you have the required permissions for the action,
7658
+ # without actually making the request, and provides an error response.
7659
+ # If you have the required permissions, the error response is
7660
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7661
+ # @return [Boolean]
7662
+ #
7663
+ # @!attribute [rw] max_results
7664
+ # The maximum number of results to return in a single call. Specify a
7665
+ # value between 1 and 1000. The default value is 1000. To retrieve the
7666
+ # remaining results, make another call with the returned `NextToken`
7667
+ # value.
7668
+ # @return [Integer]
7669
+ #
7670
+ # @!attribute [rw] next_token
7671
+ # The token for the next set of results.
7672
+ # @return [String]
7673
+ #
7674
+ # @!attribute [rw] fleet_id
7675
+ # The ID of the EC2 Fleet.
7676
+ # @return [String]
7677
+ #
7678
+ # @!attribute [rw] filters
7679
+ # One or more filters.
7680
+ # @return [Array<Types::Filter>]
7681
+ #
7682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstancesRequest AWS API Documentation
7683
+ #
7684
+ class DescribeFleetInstancesRequest < Struct.new(
7685
+ :dry_run,
7686
+ :max_results,
7687
+ :next_token,
7688
+ :fleet_id,
7689
+ :filters)
7690
+ include Aws::Structure
7691
+ end
7692
+
7693
+ # @!attribute [rw] active_instances
7694
+ # The running instances. This list is refreshed periodically and might
7695
+ # be out of date.
7696
+ # @return [Array<Types::ActiveInstance>]
7697
+ #
7698
+ # @!attribute [rw] next_token
7699
+ # The token for the next set of results.
7237
7700
  # @return [String]
7238
7701
  #
7239
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult AWS API Documentation
7702
+ # @!attribute [rw] fleet_id
7703
+ # The ID of the EC2 Fleet.
7704
+ # @return [String]
7240
7705
  #
7241
- class DescribeElasticGpusResult < Struct.new(
7242
- :elastic_gpu_set,
7243
- :max_results,
7244
- :next_token)
7706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstancesResult AWS API Documentation
7707
+ #
7708
+ class DescribeFleetInstancesResult < Struct.new(
7709
+ :active_instances,
7710
+ :next_token,
7711
+ :fleet_id)
7245
7712
  include Aws::Structure
7246
7713
  end
7247
7714
 
7248
- # Contains the parameters for DescribeExportTasks.
7249
- #
7250
- # @note When making an API call, you may pass DescribeExportTasksRequest
7715
+ # @note When making an API call, you may pass DescribeFleetsRequest
7251
7716
  # data as a hash:
7252
7717
  #
7253
7718
  # {
7254
- # export_task_ids: ["String"],
7719
+ # dry_run: false,
7720
+ # max_results: 1,
7721
+ # next_token: "String",
7722
+ # fleet_ids: ["FleetIdentifier"],
7723
+ # filters: [
7724
+ # {
7725
+ # name: "String",
7726
+ # values: ["String"],
7727
+ # },
7728
+ # ],
7255
7729
  # }
7256
7730
  #
7257
- # @!attribute [rw] export_task_ids
7258
- # One or more export task IDs.
7731
+ # @!attribute [rw] dry_run
7732
+ # Checks whether you have the required permissions for the action,
7733
+ # without actually making the request, and provides an error response.
7734
+ # If you have the required permissions, the error response is
7735
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7736
+ # @return [Boolean]
7737
+ #
7738
+ # @!attribute [rw] max_results
7739
+ # The maximum number of results to return in a single call. Specify a
7740
+ # value between 1 and 1000. The default value is 1000. To retrieve the
7741
+ # remaining results, make another call with the returned `NextToken`
7742
+ # value.
7743
+ # @return [Integer]
7744
+ #
7745
+ # @!attribute [rw] next_token
7746
+ # The token for the next set of results.
7747
+ # @return [String]
7748
+ #
7749
+ # @!attribute [rw] fleet_ids
7750
+ # The ID of the EC2 Fleets.
7259
7751
  # @return [Array<String>]
7260
7752
  #
7261
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest AWS API Documentation
7753
+ # @!attribute [rw] filters
7754
+ # One or more filters.
7755
+ # @return [Array<Types::Filter>]
7262
7756
  #
7263
- class DescribeExportTasksRequest < Struct.new(
7264
- :export_task_ids)
7757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetsRequest AWS API Documentation
7758
+ #
7759
+ class DescribeFleetsRequest < Struct.new(
7760
+ :dry_run,
7761
+ :max_results,
7762
+ :next_token,
7763
+ :fleet_ids,
7764
+ :filters)
7265
7765
  include Aws::Structure
7266
7766
  end
7267
7767
 
7268
- # Contains the output for DescribeExportTasks.
7768
+ # @!attribute [rw] next_token
7769
+ # The token for the next set of results.
7770
+ # @return [String]
7269
7771
  #
7270
- # @!attribute [rw] export_tasks
7271
- # Information about the export tasks.
7272
- # @return [Array<Types::ExportTask>]
7772
+ # @!attribute [rw] fleets
7773
+ # The EC2 Fleets.
7774
+ # @return [Array<Types::FleetData>]
7273
7775
  #
7274
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult AWS API Documentation
7776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetsResult AWS API Documentation
7275
7777
  #
7276
- class DescribeExportTasksResult < Struct.new(
7277
- :export_tasks)
7778
+ class DescribeFleetsResult < Struct.new(
7779
+ :next_token,
7780
+ :fleets)
7278
7781
  include Aws::Structure
7279
7782
  end
7280
7783
 
@@ -11397,8 +11900,8 @@ module Aws::EC2
11397
11900
  # Contains the output of DescribeSpotFleetInstances.
11398
11901
  #
11399
11902
  # @!attribute [rw] active_instances
11400
- # The running instances. Note that this list is refreshed periodically
11401
- # and might be out of date.
11903
+ # The running instances. This list is refreshed periodically and might
11904
+ # be out of date.
11402
11905
  # @return [Array<Types::ActiveInstance>]
11403
11906
  #
11404
11907
  # @!attribute [rw] next_token
@@ -11690,7 +12193,7 @@ module Aws::EC2
11690
12193
  # `active` \| `closed` \| `cancelled` \| `failed`). Spot request
11691
12194
  # status information can help you track your Amazon EC2 Spot
11692
12195
  # Instance requests. For more information, see [Spot Request
11693
- # Status][1] in the Amazon Elastic Compute Cloud User Guide.
12196
+ # Status][1] in the *Amazon EC2 User Guide for Linux Instances*.
11694
12197
  #
11695
12198
  # * `status-code` - The short code describing the most recent
11696
12199
  # evaluation of your Spot Instance request.
@@ -11799,7 +12302,7 @@ module Aws::EC2
11799
12302
  # use wildcards; greater than or less than comparison is not
11800
12303
  # supported).
11801
12304
  #
11802
- # * `timestamp` - The timestamp of the Spot price history, in UTC
12305
+ # * `timestamp` - The time stamp of the Spot price history, in UTC
11803
12306
  # format (for example, *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). You can
11804
12307
  # use wildcards (* and ?). Greater than or less than comparison is
11805
12308
  # not supported.
@@ -14721,9 +15224,9 @@ module Aws::EC2
14721
15224
  # Instances. The Spot Fleet will be deleted two days after its
14722
15225
  # instances were terminated.
14723
15226
  #
14724
- # * `cancelled_running` - The Spot Fleet is canceled and will not
14725
- # launch additional Spot Instances, but its existing Spot Instances
14726
- # continue to run until they are interrupted or terminated.
15227
+ # * `cancelled_running` - The Spot Fleet is canceled and does not
15228
+ # launch additional Spot Instances. Existing Spot Instances continue
15229
+ # to run until they are interrupted or terminated.
14727
15230
  #
14728
15231
  # * `cancelled_terminating` - The Spot Fleet is canceled and its Spot
14729
15232
  # Instances are terminating.
@@ -14878,61 +15381,327 @@ module Aws::EC2
14878
15381
  #
14879
15382
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3TaskSpecification AWS API Documentation
14880
15383
  #
14881
- class ExportToS3TaskSpecification < Struct.new(
14882
- :container_format,
14883
- :disk_image_format,
14884
- :s3_bucket,
14885
- :s3_prefix)
15384
+ class ExportToS3TaskSpecification < Struct.new(
15385
+ :container_format,
15386
+ :disk_image_format,
15387
+ :s3_bucket,
15388
+ :s3_prefix)
15389
+ include Aws::Structure
15390
+ end
15391
+
15392
+ # A filter name and value pair that is used to return a more specific
15393
+ # list of results from a describe operation. Filters can be used to
15394
+ # match a set of resources by specific criteria, such as tags,
15395
+ # attributes, or IDs. The filters supported by a describe operation are
15396
+ # documented with the describe operation. For example:
15397
+ #
15398
+ # * DescribeAvailabilityZones
15399
+ #
15400
+ # * DescribeImages
15401
+ #
15402
+ # * DescribeInstances
15403
+ #
15404
+ # * DescribeKeyPairs
15405
+ #
15406
+ # * DescribeSecurityGroups
15407
+ #
15408
+ # * DescribeSnapshots
15409
+ #
15410
+ # * DescribeSubnets
15411
+ #
15412
+ # * DescribeTags
15413
+ #
15414
+ # * DescribeVolumes
15415
+ #
15416
+ # * DescribeVpcs
15417
+ #
15418
+ # @note When making an API call, you may pass Filter
15419
+ # data as a hash:
15420
+ #
15421
+ # {
15422
+ # name: "String",
15423
+ # values: ["String"],
15424
+ # }
15425
+ #
15426
+ # @!attribute [rw] name
15427
+ # The name of the filter. Filter names are case-sensitive.
15428
+ # @return [String]
15429
+ #
15430
+ # @!attribute [rw] values
15431
+ # One or more filter values. Filter values are case-sensitive.
15432
+ # @return [Array<String>]
15433
+ #
15434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter AWS API Documentation
15435
+ #
15436
+ class Filter < Struct.new(
15437
+ :name,
15438
+ :values)
15439
+ include Aws::Structure
15440
+ end
15441
+
15442
+ # Describes an EC2 Fleet.
15443
+ #
15444
+ # @!attribute [rw] activity_status
15445
+ # The progress of the EC2 Fleet. If there is an error, the status is
15446
+ # `error`. After all requests are placed, the status is
15447
+ # `pending_fulfillment`. If the size of the EC2 Fleet is equal to or
15448
+ # greater than its target capacity, the status is `fulfilled`. If the
15449
+ # size of the EC2 Fleet is decreased, the status is
15450
+ # `pending_termination` while instances are terminating.
15451
+ # @return [String]
15452
+ #
15453
+ # @!attribute [rw] create_time
15454
+ # The creation date and time of the EC2 Fleet.
15455
+ # @return [Time]
15456
+ #
15457
+ # @!attribute [rw] fleet_id
15458
+ # The ID of the EC2 Fleet.
15459
+ # @return [String]
15460
+ #
15461
+ # @!attribute [rw] fleet_state
15462
+ # The state of the EC2 Fleet.
15463
+ # @return [String]
15464
+ #
15465
+ # @!attribute [rw] client_token
15466
+ # Unique, case-sensitive identifier you provide to ensure the
15467
+ # idempotency of the request. For more information, see [Ensuring
15468
+ # Idempotency][1].
15469
+ #
15470
+ # Constraints: Maximum 64 ASCII characters
15471
+ #
15472
+ #
15473
+ #
15474
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
15475
+ # @return [String]
15476
+ #
15477
+ # @!attribute [rw] excess_capacity_termination_policy
15478
+ # Indicates whether running instances should be terminated if the
15479
+ # target capacity of the EC2 Fleet is decreased below the current size
15480
+ # of the EC2 Fleet.
15481
+ # @return [String]
15482
+ #
15483
+ # @!attribute [rw] fulfilled_capacity
15484
+ # The number of units fulfilled by this request compared to the set
15485
+ # target capacity.
15486
+ # @return [Float]
15487
+ #
15488
+ # @!attribute [rw] fulfilled_on_demand_capacity
15489
+ # The number of units fulfilled by this request compared to the set
15490
+ # target On-Demand capacity.
15491
+ # @return [Float]
15492
+ #
15493
+ # @!attribute [rw] launch_template_configs
15494
+ # The launch template and overrides.
15495
+ # @return [Array<Types::FleetLaunchTemplateConfig>]
15496
+ #
15497
+ # @!attribute [rw] target_capacity_specification
15498
+ # The number of units to request. You can choose to set the target
15499
+ # capacity in terms of instances or a performance characteristic that
15500
+ # is important to your application workload, such as vCPUs, memory, or
15501
+ # I/O. If the request type is `maintain`, you can specify a target
15502
+ # capacity of 0 and add capacity later.
15503
+ # @return [Types::TargetCapacitySpecification]
15504
+ #
15505
+ # @!attribute [rw] terminate_instances_with_expiration
15506
+ # Indicates whether running instances should be terminated when the
15507
+ # EC2 Fleet expires.
15508
+ # @return [Boolean]
15509
+ #
15510
+ # @!attribute [rw] type
15511
+ # The type of request. Indicates whether the EC2 Fleet only `requests`
15512
+ # the target capacity, or also attempts to `maintain` it. If you
15513
+ # request a certain target capacity, EC2 Fleet only places the
15514
+ # required requests; it does not attempt to replenish instances if
15515
+ # capacity is diminished, and does not submit requests in alternative
15516
+ # capacity pools if capacity is unavailable. To maintain a certain
15517
+ # target capacity, EC2 Fleet places the required requests to meet this
15518
+ # target capacity. It also automatically replenishes any interrupted
15519
+ # Spot Instances. Default: `maintain`.
15520
+ # @return [String]
15521
+ #
15522
+ # @!attribute [rw] valid_from
15523
+ # The start date and time of the request, in UTC format (for example,
15524
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). The default is to start
15525
+ # fulfilling the request immediately.
15526
+ # @return [Time]
15527
+ #
15528
+ # @!attribute [rw] valid_until
15529
+ # The end date and time of the request, in UTC format (for example,
15530
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). At this point, no new instance
15531
+ # requests are placed or able to fulfill the request. The default end
15532
+ # date is 7 days from the current date.
15533
+ # @return [Time]
15534
+ #
15535
+ # @!attribute [rw] replace_unhealthy_instances
15536
+ # Indicates whether EC2 Fleet should replace unhealthy instances.
15537
+ # @return [Boolean]
15538
+ #
15539
+ # @!attribute [rw] spot_options
15540
+ # The configuration of Spot Instances in an EC2 Fleet.
15541
+ # @return [Types::SpotOptions]
15542
+ #
15543
+ # @!attribute [rw] tags
15544
+ # The tags for an EC2 Fleet resource.
15545
+ # @return [Array<Types::Tag>]
15546
+ #
15547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetData AWS API Documentation
15548
+ #
15549
+ class FleetData < Struct.new(
15550
+ :activity_status,
15551
+ :create_time,
15552
+ :fleet_id,
15553
+ :fleet_state,
15554
+ :client_token,
15555
+ :excess_capacity_termination_policy,
15556
+ :fulfilled_capacity,
15557
+ :fulfilled_on_demand_capacity,
15558
+ :launch_template_configs,
15559
+ :target_capacity_specification,
15560
+ :terminate_instances_with_expiration,
15561
+ :type,
15562
+ :valid_from,
15563
+ :valid_until,
15564
+ :replace_unhealthy_instances,
15565
+ :spot_options,
15566
+ :tags)
15567
+ include Aws::Structure
15568
+ end
15569
+
15570
+ # Describes a launch template and overrides.
15571
+ #
15572
+ # @!attribute [rw] launch_template_specification
15573
+ # The launch template.
15574
+ # @return [Types::FleetLaunchTemplateSpecification]
15575
+ #
15576
+ # @!attribute [rw] overrides
15577
+ # Any parameters that you specify override the same parameters in the
15578
+ # launch template.
15579
+ # @return [Array<Types::FleetLaunchTemplateOverrides>]
15580
+ #
15581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateConfig AWS API Documentation
15582
+ #
15583
+ class FleetLaunchTemplateConfig < Struct.new(
15584
+ :launch_template_specification,
15585
+ :overrides)
15586
+ include Aws::Structure
15587
+ end
15588
+
15589
+ # Describes a launch template and overrides.
15590
+ #
15591
+ # @note When making an API call, you may pass FleetLaunchTemplateConfigRequest
15592
+ # data as a hash:
15593
+ #
15594
+ # {
15595
+ # launch_template_specification: {
15596
+ # launch_template_id: "String",
15597
+ # launch_template_name: "LaunchTemplateName",
15598
+ # version: "String",
15599
+ # },
15600
+ # overrides: [
15601
+ # {
15602
+ # instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge
15603
+ # max_price: "String",
15604
+ # subnet_id: "String",
15605
+ # availability_zone: "String",
15606
+ # weighted_capacity: 1.0,
15607
+ # },
15608
+ # ],
15609
+ # }
15610
+ #
15611
+ # @!attribute [rw] launch_template_specification
15612
+ # The launch template to use. You must specify either the launch
15613
+ # template ID or launch template name in the request.
15614
+ # @return [Types::FleetLaunchTemplateSpecificationRequest]
15615
+ #
15616
+ # @!attribute [rw] overrides
15617
+ # Any parameters that you specify override the same parameters in the
15618
+ # launch template.
15619
+ # @return [Array<Types::FleetLaunchTemplateOverridesRequest>]
15620
+ #
15621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateConfigRequest AWS API Documentation
15622
+ #
15623
+ class FleetLaunchTemplateConfigRequest < Struct.new(
15624
+ :launch_template_specification,
15625
+ :overrides)
14886
15626
  include Aws::Structure
14887
15627
  end
14888
15628
 
14889
- # A filter name and value pair that is used to return a more specific
14890
- # list of results from a describe operation. Filters can be used to
14891
- # match a set of resources by specific criteria, such as tags,
14892
- # attributes, or IDs. The filters supported by a describe operation are
14893
- # documented with the describe operation. For example:
14894
- #
14895
- # * DescribeAvailabilityZones
14896
- #
14897
- # * DescribeImages
14898
- #
14899
- # * DescribeInstances
15629
+ # Describes overrides for a launch template.
14900
15630
  #
14901
- # * DescribeKeyPairs
15631
+ # @!attribute [rw] instance_type
15632
+ # The instance type.
15633
+ # @return [String]
14902
15634
  #
14903
- # * DescribeSecurityGroups
15635
+ # @!attribute [rw] max_price
15636
+ # The maximum price per unit hour that you are willing to pay for a
15637
+ # Spot Instance.
15638
+ # @return [String]
14904
15639
  #
14905
- # * DescribeSnapshots
15640
+ # @!attribute [rw] subnet_id
15641
+ # The ID of the subnet in which to launch the instances.
15642
+ # @return [String]
14906
15643
  #
14907
- # * DescribeSubnets
15644
+ # @!attribute [rw] availability_zone
15645
+ # The Availability Zone in which to launch the instances.
15646
+ # @return [String]
14908
15647
  #
14909
- # * DescribeTags
15648
+ # @!attribute [rw] weighted_capacity
15649
+ # The number of units provided by the specified instance type.
15650
+ # @return [Float]
14910
15651
  #
14911
- # * DescribeVolumes
15652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateOverrides AWS API Documentation
14912
15653
  #
14913
- # * DescribeVpcs
15654
+ class FleetLaunchTemplateOverrides < Struct.new(
15655
+ :instance_type,
15656
+ :max_price,
15657
+ :subnet_id,
15658
+ :availability_zone,
15659
+ :weighted_capacity)
15660
+ include Aws::Structure
15661
+ end
15662
+
15663
+ # Describes overrides for a launch template.
14914
15664
  #
14915
- # @note When making an API call, you may pass Filter
15665
+ # @note When making an API call, you may pass FleetLaunchTemplateOverridesRequest
14916
15666
  # data as a hash:
14917
15667
  #
14918
15668
  # {
14919
- # name: "String",
14920
- # values: ["String"],
15669
+ # instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge
15670
+ # max_price: "String",
15671
+ # subnet_id: "String",
15672
+ # availability_zone: "String",
15673
+ # weighted_capacity: 1.0,
14921
15674
  # }
14922
15675
  #
14923
- # @!attribute [rw] name
14924
- # The name of the filter. Filter names are case-sensitive.
15676
+ # @!attribute [rw] instance_type
15677
+ # The instance type.
14925
15678
  # @return [String]
14926
15679
  #
14927
- # @!attribute [rw] values
14928
- # One or more filter values. Filter values are case-sensitive.
14929
- # @return [Array<String>]
15680
+ # @!attribute [rw] max_price
15681
+ # The maximum price per unit hour that you are willing to pay for a
15682
+ # Spot Instance.
15683
+ # @return [String]
14930
15684
  #
14931
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter AWS API Documentation
15685
+ # @!attribute [rw] subnet_id
15686
+ # The ID of the subnet in which to launch the instances.
15687
+ # @return [String]
14932
15688
  #
14933
- class Filter < Struct.new(
14934
- :name,
14935
- :values)
15689
+ # @!attribute [rw] availability_zone
15690
+ # The Availability Zone in which to launch the instances.
15691
+ # @return [String]
15692
+ #
15693
+ # @!attribute [rw] weighted_capacity
15694
+ # The number of units provided by the specified instance type.
15695
+ # @return [Float]
15696
+ #
15697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateOverridesRequest AWS API Documentation
15698
+ #
15699
+ class FleetLaunchTemplateOverridesRequest < Struct.new(
15700
+ :instance_type,
15701
+ :max_price,
15702
+ :subnet_id,
15703
+ :availability_zone,
15704
+ :weighted_capacity)
14936
15705
  include Aws::Structure
14937
15706
  end
14938
15707
 
@@ -14971,6 +15740,39 @@ module Aws::EC2
14971
15740
  include Aws::Structure
14972
15741
  end
14973
15742
 
15743
+ # The launch template to use. You must specify either the launch
15744
+ # template ID or launch template name in the request.
15745
+ #
15746
+ # @note When making an API call, you may pass FleetLaunchTemplateSpecificationRequest
15747
+ # data as a hash:
15748
+ #
15749
+ # {
15750
+ # launch_template_id: "String",
15751
+ # launch_template_name: "LaunchTemplateName",
15752
+ # version: "String",
15753
+ # }
15754
+ #
15755
+ # @!attribute [rw] launch_template_id
15756
+ # The ID of the launch template.
15757
+ # @return [String]
15758
+ #
15759
+ # @!attribute [rw] launch_template_name
15760
+ # The name of the launch template.
15761
+ # @return [String]
15762
+ #
15763
+ # @!attribute [rw] version
15764
+ # The version number of the launch template.
15765
+ # @return [String]
15766
+ #
15767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateSpecificationRequest AWS API Documentation
15768
+ #
15769
+ class FleetLaunchTemplateSpecificationRequest < Struct.new(
15770
+ :launch_template_id,
15771
+ :launch_template_name,
15772
+ :version)
15773
+ include Aws::Structure
15774
+ end
15775
+
14974
15776
  # Describes a flow log.
14975
15777
  #
14976
15778
  # @!attribute [rw] creation_time
@@ -15575,6 +16377,30 @@ module Aws::EC2
15575
16377
  include Aws::Structure
15576
16378
  end
15577
16379
 
16380
+ # Describes an event in the history of the EC2 Fleet.
16381
+ #
16382
+ # @!attribute [rw] event_information
16383
+ # Information about the event.
16384
+ # @return [Types::EventInformation]
16385
+ #
16386
+ # @!attribute [rw] event_type
16387
+ # The event type.
16388
+ # @return [String]
16389
+ #
16390
+ # @!attribute [rw] timestamp
16391
+ # The date and time of the event, in UTC format (for example,
16392
+ # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
16393
+ # @return [Time]
16394
+ #
16395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HistoryRecordEntry AWS API Documentation
16396
+ #
16397
+ class HistoryRecordEntry < Struct.new(
16398
+ :event_information,
16399
+ :event_type,
16400
+ :timestamp)
16401
+ include Aws::Structure
16402
+ end
16403
+
15578
16404
  # Describes the properties of the Dedicated Host.
15579
16405
  #
15580
16406
  # @!attribute [rw] auto_placement
@@ -19139,7 +19965,7 @@ module Aws::EC2
19139
19965
  end
19140
19966
 
19141
19967
  # The launch template to use. You must specify either the launch
19142
- # template ID or launch template name in the request.
19968
+ # template ID or launch template name in the request, but not both.
19143
19969
  #
19144
19970
  # @note When making an API call, you may pass LaunchTemplateSpecification
19145
19971
  # data as a hash:
@@ -19517,6 +20343,63 @@ module Aws::EC2
19517
20343
  include Aws::Structure
19518
20344
  end
19519
20345
 
20346
+ # @note When making an API call, you may pass ModifyFleetRequest
20347
+ # data as a hash:
20348
+ #
20349
+ # {
20350
+ # dry_run: false,
20351
+ # excess_capacity_termination_policy: "no-termination", # accepts no-termination, termination
20352
+ # fleet_id: "FleetIdentifier", # required
20353
+ # target_capacity_specification: { # required
20354
+ # total_target_capacity: 1, # required
20355
+ # on_demand_target_capacity: 1,
20356
+ # spot_target_capacity: 1,
20357
+ # default_target_capacity_type: "spot", # accepts spot, on-demand
20358
+ # },
20359
+ # }
20360
+ #
20361
+ # @!attribute [rw] dry_run
20362
+ # Checks whether you have the required permissions for the action,
20363
+ # without actually making the request, and provides an error response.
20364
+ # If you have the required permissions, the error response is
20365
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20366
+ # @return [Boolean]
20367
+ #
20368
+ # @!attribute [rw] excess_capacity_termination_policy
20369
+ # Indicates whether running instances should be terminated if the
20370
+ # total target capacity of the EC2 Fleet is decreased below the
20371
+ # current size of the EC2 Fleet.
20372
+ # @return [String]
20373
+ #
20374
+ # @!attribute [rw] fleet_id
20375
+ # The ID of the EC2 Fleet.
20376
+ # @return [String]
20377
+ #
20378
+ # @!attribute [rw] target_capacity_specification
20379
+ # The size of the EC2 Fleet.
20380
+ # @return [Types::TargetCapacitySpecificationRequest]
20381
+ #
20382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleetRequest AWS API Documentation
20383
+ #
20384
+ class ModifyFleetRequest < Struct.new(
20385
+ :dry_run,
20386
+ :excess_capacity_termination_policy,
20387
+ :fleet_id,
20388
+ :target_capacity_specification)
20389
+ include Aws::Structure
20390
+ end
20391
+
20392
+ # @!attribute [rw] return
20393
+ # Is `true` if the request succeeds, and an error otherwise.
20394
+ # @return [Boolean]
20395
+ #
20396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleetResult AWS API Documentation
20397
+ #
20398
+ class ModifyFleetResult < Struct.new(
20399
+ :return)
20400
+ include Aws::Structure
20401
+ end
20402
+
19520
20403
  # @note When making an API call, you may pass ModifyFpgaImageAttributeRequest
19521
20404
  # data as a hash:
19522
20405
  #
@@ -23636,6 +24519,7 @@ module Aws::EC2
23636
24519
  # client_token: "String",
23637
24520
  # excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
23638
24521
  # fulfilled_capacity: 1.0,
24522
+ # on_demand_fulfilled_capacity: 1.0,
23639
24523
  # iam_fleet_role: "String", # required
23640
24524
  # launch_specifications: [
23641
24525
  # {
@@ -23742,6 +24626,7 @@ module Aws::EC2
23742
24626
  # ],
23743
24627
  # spot_price: "String",
23744
24628
  # target_capacity: 1, # required
24629
+ # on_demand_target_capacity: 1,
23745
24630
  # terminate_instances_with_expiration: false,
23746
24631
  # type: "request", # accepts request, maintain
23747
24632
  # valid_from: Time.now,
@@ -23920,14 +24805,14 @@ module Aws::EC2
23920
24805
  # termination notice, which gives the instance a two-minute warning
23921
24806
  # before it terminates.
23922
24807
  #
23923
- # Note that you can't specify an Availability Zone group or a launch
23924
- # group if you specify a duration.
24808
+ # You can't specify an Availability Zone group or a launch group if
24809
+ # you specify a duration.
23925
24810
  # @return [Integer]
23926
24811
  #
23927
24812
  # @!attribute [rw] client_token
23928
24813
  # Unique, case-sensitive identifier that you provide to ensure the
23929
24814
  # idempotency of the request. For more information, see [How to Ensure
23930
- # Idempotency][1] in the *Amazon Elastic Compute Cloud User Guide*.
24815
+ # Idempotency][1] in the *Amazon EC2 User Guide for Linux Instances*.
23931
24816
  #
23932
24817
  #
23933
24818
  #
@@ -25841,7 +26726,8 @@ module Aws::EC2
25841
26726
  # @!attribute [rw] launch_template
25842
26727
  # The launch template to use to launch the instances. Any parameters
25843
26728
  # that you specify in RunInstances override the same parameters in the
25844
- # launch template.
26729
+ # launch template. You can specify either the name or ID of a launch
26730
+ # template, but not both.
25845
26731
  # @return [Types::LaunchTemplateSpecification]
25846
26732
  #
25847
26733
  # @!attribute [rw] instance_market_options
@@ -27678,6 +28564,7 @@ module Aws::EC2
27678
28564
  # client_token: "String",
27679
28565
  # excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
27680
28566
  # fulfilled_capacity: 1.0,
28567
+ # on_demand_fulfilled_capacity: 1.0,
27681
28568
  # iam_fleet_role: "String", # required
27682
28569
  # launch_specifications: [
27683
28570
  # {
@@ -27784,6 +28671,7 @@ module Aws::EC2
27784
28671
  # ],
27785
28672
  # spot_price: "String",
27786
28673
  # target_capacity: 1, # required
28674
+ # on_demand_target_capacity: 1,
27787
28675
  # terminate_instances_with_expiration: false,
27788
28676
  # type: "request", # accepts request, maintain
27789
28677
  # valid_from: Time.now,
@@ -27814,9 +28702,9 @@ module Aws::EC2
27814
28702
  # @return [String]
27815
28703
  #
27816
28704
  # @!attribute [rw] client_token
27817
- # A unique, case-sensitive identifier you provide to ensure
27818
- # idempotency of your listings. This helps avoid duplicate listings.
27819
- # For more information, see [Ensuring Idempotency][1].
28705
+ # A unique, case-sensitive identifier that you provide to ensure the
28706
+ # idempotency of your listings. This helps to avoid duplicate
28707
+ # listings. For more information, see [Ensuring Idempotency][1].
27820
28708
  #
27821
28709
  #
27822
28710
  #
@@ -27834,6 +28722,11 @@ module Aws::EC2
27834
28722
  # target capacity.
27835
28723
  # @return [Float]
27836
28724
  #
28725
+ # @!attribute [rw] on_demand_fulfilled_capacity
28726
+ # The number of On-Demand units fulfilled by this request compared to
28727
+ # the set target On-Demand capacity.
28728
+ # @return [Float]
28729
+ #
27837
28730
  # @!attribute [rw] iam_fleet_role
27838
28731
  # Grants the Spot Fleet permission to terminate Spot Instances on your
27839
28732
  # behalf when you cancel its Spot Fleet request using
@@ -27862,21 +28755,28 @@ module Aws::EC2
27862
28755
  # capacity of 0 and add capacity later.
27863
28756
  # @return [Integer]
27864
28757
  #
28758
+ # @!attribute [rw] on_demand_target_capacity
28759
+ # The number of On-Demand units to request. You can choose to set the
28760
+ # target capacity in terms of instances or a performance
28761
+ # characteristic that is important to your application workload, such
28762
+ # as vCPUs, memory, or I/O. If the request type is `maintain`, you can
28763
+ # specify a target capacity of 0 and add capacity later.
28764
+ # @return [Integer]
28765
+ #
27865
28766
  # @!attribute [rw] terminate_instances_with_expiration
27866
28767
  # Indicates whether running Spot Instances should be terminated when
27867
28768
  # the Spot Fleet request expires.
27868
28769
  # @return [Boolean]
27869
28770
  #
27870
28771
  # @!attribute [rw] type
27871
- # The type of request. Indicates whether the fleet will only `request`
27872
- # the target capacity or also attempt to `maintain` it. When you
27873
- # `request` a certain target capacity, the fleet will only place the
27874
- # required requests. It will not attempt to replenish Spot Instances
27875
- # if capacity is diminished, nor will it submit requests in
27876
- # alternative Spot pools if capacity is not available. When you want
27877
- # to `maintain` a certain target capacity, fleet will place the
27878
- # required requests to meet this target capacity. It will also
27879
- # automatically replenish any interrupted instances. Default:
28772
+ # The type of request. Indicates whether the Spot Fleet only requests
28773
+ # the target capacity or also attempts to maintain it. When this value
28774
+ # is `request`, the Spot Fleet only places the required requests. It
28775
+ # does not attempt to replenish Spot Instances if capacity is
28776
+ # diminished, nor does it submit requests in alternative Spot pools if
28777
+ # capacity is not available. To maintain a certain target capacity,
28778
+ # the Spot Fleet places the required requests to meet capacity and
28779
+ # automatically replenishes any interrupted instances. Default:
27880
28780
  # `maintain`.
27881
28781
  # @return [String]
27882
28782
  #
@@ -27920,11 +28820,13 @@ module Aws::EC2
27920
28820
  :client_token,
27921
28821
  :excess_capacity_termination_policy,
27922
28822
  :fulfilled_capacity,
28823
+ :on_demand_fulfilled_capacity,
27923
28824
  :iam_fleet_role,
27924
28825
  :launch_specifications,
27925
28826
  :launch_template_configs,
27926
28827
  :spot_price,
27927
28828
  :target_capacity,
28829
+ :on_demand_target_capacity,
27928
28830
  :terminate_instances_with_expiration,
27929
28831
  :type,
27930
28832
  :valid_from,
@@ -28026,10 +28928,9 @@ module Aws::EC2
28026
28928
  # @return [String]
28027
28929
  #
28028
28930
  # @!attribute [rw] state
28029
- # The state of the Spot Instance request. Spot status information can
28030
- # help you track your Spot Instance requests. For more information,
28031
- # see [Spot Status][1] in the *Amazon Elastic Compute Cloud User
28032
- # Guide*.
28931
+ # The state of the Spot Instance request. Spot status information
28932
+ # helps track your Spot Instance requests. For more information, see
28933
+ # [Spot Status][1] in the *Amazon EC2 User Guide for Linux Instances*.
28033
28934
  #
28034
28935
  #
28035
28936
  #
@@ -28115,7 +29016,7 @@ module Aws::EC2
28115
29016
  #
28116
29017
  # @!attribute [rw] code
28117
29018
  # The status code. For a list of status codes, see [Spot Status
28118
- # Codes][1] in the *Amazon Elastic Compute Cloud User Guide*.
29019
+ # Codes][1] in the *Amazon EC2 User Guide for Linux Instances*.
28119
29020
  #
28120
29021
  #
28121
29022
  #
@@ -28192,6 +29093,54 @@ module Aws::EC2
28192
29093
  include Aws::Structure
28193
29094
  end
28194
29095
 
29096
+ # Describes the configuration of Spot Instances in an EC2 Fleet.
29097
+ #
29098
+ # @!attribute [rw] allocation_strategy
29099
+ # Indicates how to allocate the target capacity across the Spot pools
29100
+ # specified by the Spot Fleet request. The default is `lowestPrice`.
29101
+ # @return [String]
29102
+ #
29103
+ # @!attribute [rw] instance_interruption_behavior
29104
+ # The behavior when a Spot Instance is interrupted. The default is
29105
+ # `terminate`.
29106
+ # @return [String]
29107
+ #
29108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotOptions AWS API Documentation
29109
+ #
29110
+ class SpotOptions < Struct.new(
29111
+ :allocation_strategy,
29112
+ :instance_interruption_behavior)
29113
+ include Aws::Structure
29114
+ end
29115
+
29116
+ # Describes the configuration of Spot Instances in an EC2 Fleet request.
29117
+ #
29118
+ # @note When making an API call, you may pass SpotOptionsRequest
29119
+ # data as a hash:
29120
+ #
29121
+ # {
29122
+ # allocation_strategy: "lowest-price", # accepts lowest-price, diversified
29123
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
29124
+ # }
29125
+ #
29126
+ # @!attribute [rw] allocation_strategy
29127
+ # Indicates how to allocate the target capacity across the Spot pools
29128
+ # specified by the Spot Fleet request. The default is `lowestPrice`.
29129
+ # @return [String]
29130
+ #
29131
+ # @!attribute [rw] instance_interruption_behavior
29132
+ # The behavior when a Spot Instance is interrupted. The default is
29133
+ # `terminate`.
29134
+ # @return [String]
29135
+ #
29136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotOptionsRequest AWS API Documentation
29137
+ #
29138
+ class SpotOptionsRequest < Struct.new(
29139
+ :allocation_strategy,
29140
+ :instance_interruption_behavior)
29141
+ include Aws::Structure
29142
+ end
29143
+
28195
29144
  # Describes Spot Instance placement.
28196
29145
  #
28197
29146
  # @note When making an API call, you may pass SpotPlacement
@@ -28771,6 +29720,84 @@ module Aws::EC2
28771
29720
  include Aws::Structure
28772
29721
  end
28773
29722
 
29723
+ # The number of units to request. You can choose to set the target
29724
+ # capacity in terms of instances or a performance characteristic that is
29725
+ # important to your application workload, such as vCPUs, memory, or I/O.
29726
+ # If the request type is `maintain`, you can specify a target capacity
29727
+ # of 0 and add capacity later.
29728
+ #
29729
+ # @!attribute [rw] total_target_capacity
29730
+ # The number of units to request, filled using
29731
+ # `DefaultTargetCapacityType`.
29732
+ # @return [Integer]
29733
+ #
29734
+ # @!attribute [rw] on_demand_target_capacity
29735
+ # The number of On-Demand units to request.
29736
+ # @return [Integer]
29737
+ #
29738
+ # @!attribute [rw] spot_target_capacity
29739
+ # The maximum number of Spot units to launch.
29740
+ # @return [Integer]
29741
+ #
29742
+ # @!attribute [rw] default_target_capacity_type
29743
+ # The default `TotalTargetCapacity`, which is either `Spot` or
29744
+ # `On-Demand`.
29745
+ # @return [String]
29746
+ #
29747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetCapacitySpecification AWS API Documentation
29748
+ #
29749
+ class TargetCapacitySpecification < Struct.new(
29750
+ :total_target_capacity,
29751
+ :on_demand_target_capacity,
29752
+ :spot_target_capacity,
29753
+ :default_target_capacity_type)
29754
+ include Aws::Structure
29755
+ end
29756
+
29757
+ # The number of units to request. You can choose to set the target
29758
+ # capacity in terms of instances or a performance characteristic that is
29759
+ # important to your application workload, such as vCPUs, memory, or I/O.
29760
+ # If the request type is `maintain`, you can specify a target capacity
29761
+ # of 0 and add capacity later.
29762
+ #
29763
+ # @note When making an API call, you may pass TargetCapacitySpecificationRequest
29764
+ # data as a hash:
29765
+ #
29766
+ # {
29767
+ # total_target_capacity: 1, # required
29768
+ # on_demand_target_capacity: 1,
29769
+ # spot_target_capacity: 1,
29770
+ # default_target_capacity_type: "spot", # accepts spot, on-demand
29771
+ # }
29772
+ #
29773
+ # @!attribute [rw] total_target_capacity
29774
+ # The number of units to request, filled using
29775
+ # `DefaultTargetCapacityType`.
29776
+ # @return [Integer]
29777
+ #
29778
+ # @!attribute [rw] on_demand_target_capacity
29779
+ # The number of On-Demand units to request.
29780
+ # @return [Integer]
29781
+ #
29782
+ # @!attribute [rw] spot_target_capacity
29783
+ # The number of Spot units to request.
29784
+ # @return [Integer]
29785
+ #
29786
+ # @!attribute [rw] default_target_capacity_type
29787
+ # The default `TotalTargetCapacity`, which is either `Spot` or
29788
+ # `On-Demand`.
29789
+ # @return [String]
29790
+ #
29791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetCapacitySpecificationRequest AWS API Documentation
29792
+ #
29793
+ class TargetCapacitySpecificationRequest < Struct.new(
29794
+ :total_target_capacity,
29795
+ :on_demand_target_capacity,
29796
+ :spot_target_capacity,
29797
+ :default_target_capacity_type)
29798
+ include Aws::Structure
29799
+ end
29800
+
28774
29801
  # Information about the Convertible Reserved Instance offering.
28775
29802
  #
28776
29803
  # @!attribute [rw] instance_count