aws-sdk-ec2 1.449.0 → 1.451.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1168,6 +1168,8 @@ module Aws::EC2
1168
1168
  DisableImageBlockPublicAccessResult = Shapes::StructureShape.new(name: 'DisableImageBlockPublicAccessResult')
1169
1169
  DisableImageDeprecationRequest = Shapes::StructureShape.new(name: 'DisableImageDeprecationRequest')
1170
1170
  DisableImageDeprecationResult = Shapes::StructureShape.new(name: 'DisableImageDeprecationResult')
1171
+ DisableImageDeregistrationProtectionRequest = Shapes::StructureShape.new(name: 'DisableImageDeregistrationProtectionRequest')
1172
+ DisableImageDeregistrationProtectionResult = Shapes::StructureShape.new(name: 'DisableImageDeregistrationProtectionResult')
1171
1173
  DisableImageRequest = Shapes::StructureShape.new(name: 'DisableImageRequest')
1172
1174
  DisableImageResult = Shapes::StructureShape.new(name: 'DisableImageResult')
1173
1175
  DisableIpamOrganizationAdminAccountRequest = Shapes::StructureShape.new(name: 'DisableIpamOrganizationAdminAccountRequest')
@@ -1300,6 +1302,8 @@ module Aws::EC2
1300
1302
  EnableImageBlockPublicAccessResult = Shapes::StructureShape.new(name: 'EnableImageBlockPublicAccessResult')
1301
1303
  EnableImageDeprecationRequest = Shapes::StructureShape.new(name: 'EnableImageDeprecationRequest')
1302
1304
  EnableImageDeprecationResult = Shapes::StructureShape.new(name: 'EnableImageDeprecationResult')
1305
+ EnableImageDeregistrationProtectionRequest = Shapes::StructureShape.new(name: 'EnableImageDeregistrationProtectionRequest')
1306
+ EnableImageDeregistrationProtectionResult = Shapes::StructureShape.new(name: 'EnableImageDeregistrationProtectionResult')
1303
1307
  EnableImageRequest = Shapes::StructureShape.new(name: 'EnableImageRequest')
1304
1308
  EnableImageResult = Shapes::StructureShape.new(name: 'EnableImageResult')
1305
1309
  EnableIpamOrganizationAdminAccountRequest = Shapes::StructureShape.new(name: 'EnableIpamOrganizationAdminAccountRequest')
@@ -8017,6 +8021,13 @@ module Aws::EC2
8017
8021
  DisableImageDeprecationResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8018
8022
  DisableImageDeprecationResult.struct_class = Types::DisableImageDeprecationResult
8019
8023
 
8024
+ DisableImageDeregistrationProtectionRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageId, required: true, location_name: "ImageId"))
8025
+ DisableImageDeregistrationProtectionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8026
+ DisableImageDeregistrationProtectionRequest.struct_class = Types::DisableImageDeregistrationProtectionRequest
8027
+
8028
+ DisableImageDeregistrationProtectionResult.add_member(:return, Shapes::ShapeRef.new(shape: String, location_name: "return"))
8029
+ DisableImageDeregistrationProtectionResult.struct_class = Types::DisableImageDeregistrationProtectionResult
8030
+
8020
8031
  DisableImageRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageId, required: true, location_name: "ImageId"))
8021
8032
  DisableImageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8022
8033
  DisableImageRequest.struct_class = Types::DisableImageRequest
@@ -8461,6 +8472,14 @@ module Aws::EC2
8461
8472
  EnableImageDeprecationResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8462
8473
  EnableImageDeprecationResult.struct_class = Types::EnableImageDeprecationResult
8463
8474
 
8475
+ EnableImageDeregistrationProtectionRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageId, required: true, location_name: "ImageId"))
8476
+ EnableImageDeregistrationProtectionRequest.add_member(:with_cooldown, Shapes::ShapeRef.new(shape: Boolean, location_name: "WithCooldown"))
8477
+ EnableImageDeregistrationProtectionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8478
+ EnableImageDeregistrationProtectionRequest.struct_class = Types::EnableImageDeregistrationProtectionRequest
8479
+
8480
+ EnableImageDeregistrationProtectionResult.add_member(:return, Shapes::ShapeRef.new(shape: String, location_name: "return"))
8481
+ EnableImageDeregistrationProtectionResult.struct_class = Types::EnableImageDeregistrationProtectionResult
8482
+
8464
8483
  EnableImageRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageId, required: true, location_name: "ImageId"))
8465
8484
  EnableImageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8466
8485
  EnableImageRequest.struct_class = Types::EnableImageRequest
@@ -9617,6 +9636,8 @@ module Aws::EC2
9617
9636
  Image.add_member(:deprecation_time, Shapes::ShapeRef.new(shape: String, location_name: "deprecationTime"))
9618
9637
  Image.add_member(:imds_support, Shapes::ShapeRef.new(shape: ImdsSupportValues, location_name: "imdsSupport"))
9619
9638
  Image.add_member(:source_instance_id, Shapes::ShapeRef.new(shape: String, location_name: "sourceInstanceId"))
9639
+ Image.add_member(:deregistration_protection, Shapes::ShapeRef.new(shape: String, location_name: "deregistrationProtection"))
9640
+ Image.add_member(:last_launched_time, Shapes::ShapeRef.new(shape: String, location_name: "lastLaunchedTime"))
9620
9641
  Image.struct_class = Types::Image
9621
9642
 
9622
9643
  ImageAttribute.add_member(:block_device_mappings, Shapes::ShapeRef.new(shape: BlockDeviceMappingList, location_name: "blockDeviceMapping"))
@@ -9632,6 +9653,7 @@ module Aws::EC2
9632
9653
  ImageAttribute.add_member(:uefi_data, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "uefiData"))
9633
9654
  ImageAttribute.add_member(:last_launched_time, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "lastLaunchedTime"))
9634
9655
  ImageAttribute.add_member(:imds_support, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "imdsSupport"))
9656
+ ImageAttribute.add_member(:deregistration_protection, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "deregistrationProtection"))
9635
9657
  ImageAttribute.struct_class = Types::ImageAttribute
9636
9658
 
9637
9659
  ImageDiskContainer.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
@@ -19426,6 +19448,14 @@ module Aws::EC2
19426
19448
  o.output = Shapes::ShapeRef.new(shape: DisableImageDeprecationResult)
19427
19449
  end)
19428
19450
 
19451
+ api.add_operation(:disable_image_deregistration_protection, Seahorse::Model::Operation.new.tap do |o|
19452
+ o.name = "DisableImageDeregistrationProtection"
19453
+ o.http_method = "POST"
19454
+ o.http_request_uri = "/"
19455
+ o.input = Shapes::ShapeRef.new(shape: DisableImageDeregistrationProtectionRequest)
19456
+ o.output = Shapes::ShapeRef.new(shape: DisableImageDeregistrationProtectionResult)
19457
+ end)
19458
+
19429
19459
  api.add_operation(:disable_ipam_organization_admin_account, Seahorse::Model::Operation.new.tap do |o|
19430
19460
  o.name = "DisableIpamOrganizationAdminAccount"
19431
19461
  o.http_method = "POST"
@@ -19666,6 +19696,14 @@ module Aws::EC2
19666
19696
  o.output = Shapes::ShapeRef.new(shape: EnableImageDeprecationResult)
19667
19697
  end)
19668
19698
 
19699
+ api.add_operation(:enable_image_deregistration_protection, Seahorse::Model::Operation.new.tap do |o|
19700
+ o.name = "EnableImageDeregistrationProtection"
19701
+ o.http_method = "POST"
19702
+ o.http_request_uri = "/"
19703
+ o.input = Shapes::ShapeRef.new(shape: EnableImageDeregistrationProtectionRequest)
19704
+ o.output = Shapes::ShapeRef.new(shape: EnableImageDeregistrationProtectionResult)
19705
+ end)
19706
+
19669
19707
  api.add_operation(:enable_ipam_organization_admin_account, Seahorse::Model::Operation.new.tap do |o|
19670
19708
  o.name = "EnableIpamOrganizationAdminAccount"
19671
19709
  o.http_method = "POST"
@@ -5374,6 +5374,20 @@ module Aws::EC2
5374
5374
  end
5375
5375
  end
5376
5376
 
5377
+ class DisableImageDeregistrationProtection
5378
+ def self.build(context)
5379
+ unless context.config.regional_endpoint
5380
+ endpoint = context.config.endpoint.to_s
5381
+ end
5382
+ Aws::EC2::EndpointParameters.new(
5383
+ region: context.config.region,
5384
+ use_dual_stack: context.config.use_dualstack_endpoint,
5385
+ use_fips: context.config.use_fips_endpoint,
5386
+ endpoint: endpoint,
5387
+ )
5388
+ end
5389
+ end
5390
+
5377
5391
  class DisableIpamOrganizationAdminAccount
5378
5392
  def self.build(context)
5379
5393
  unless context.config.regional_endpoint
@@ -5794,6 +5808,20 @@ module Aws::EC2
5794
5808
  end
5795
5809
  end
5796
5810
 
5811
+ class EnableImageDeregistrationProtection
5812
+ def self.build(context)
5813
+ unless context.config.regional_endpoint
5814
+ endpoint = context.config.endpoint.to_s
5815
+ end
5816
+ Aws::EC2::EndpointParameters.new(
5817
+ region: context.config.region,
5818
+ use_dual_stack: context.config.use_dualstack_endpoint,
5819
+ use_fips: context.config.use_fips_endpoint,
5820
+ endpoint: endpoint,
5821
+ )
5822
+ end
5823
+ end
5824
+
5797
5825
  class EnableIpamOrganizationAdminAccount
5798
5826
  def self.build(context)
5799
5827
  unless context.config.regional_endpoint
@@ -272,6 +272,28 @@ module Aws::EC2
272
272
  data[:source_instance_id]
273
273
  end
274
274
 
275
+ # Indicates whether deregistration protection is enabled for the AMI.
276
+ # @return [String]
277
+ def deregistration_protection
278
+ data[:deregistration_protection]
279
+ end
280
+
281
+ # The date and time, in [ISO 8601 date-time format][1], when the AMI was
282
+ # last used to launch an EC2 instance. When the AMI is used to launch an
283
+ # instance, there is a 24-hour delay before that usage is reported.
284
+ #
285
+ # <note markdown="1"> `lastLaunchedTime` data is available starting April 2017.
286
+ #
287
+ # </note>
288
+ #
289
+ #
290
+ #
291
+ # [1]: http://www.iso.org/iso/iso8601
292
+ # @return [String]
293
+ def last_launched_time
294
+ data[:last_launched_time]
295
+ end
296
+
275
297
  # @!endgroup
276
298
 
277
299
  # @return [Client]
@@ -553,7 +575,7 @@ module Aws::EC2
553
575
  # @example Request syntax with placeholder values
554
576
  #
555
577
  # image.describe_attribute({
556
- # attribute: "description", # required, accepts description, kernel, ramdisk, launchPermission, productCodes, blockDeviceMapping, sriovNetSupport, bootMode, tpmSupport, uefiData, lastLaunchedTime, imdsSupport
578
+ # attribute: "description", # required, accepts description, kernel, ramdisk, launchPermission, productCodes, blockDeviceMapping, sriovNetSupport, bootMode, tpmSupport, uefiData, lastLaunchedTime, imdsSupport, deregistrationProtection
557
579
  # dry_run: false,
558
580
  # })
559
581
  # @param [Hash] options ({})
@@ -824,6 +824,8 @@ module Aws::EC2
824
824
  Aws::EC2::Endpoints::DisableImageBlockPublicAccess.build(context)
825
825
  when :disable_image_deprecation
826
826
  Aws::EC2::Endpoints::DisableImageDeprecation.build(context)
827
+ when :disable_image_deregistration_protection
828
+ Aws::EC2::Endpoints::DisableImageDeregistrationProtection.build(context)
827
829
  when :disable_ipam_organization_admin_account
828
830
  Aws::EC2::Endpoints::DisableIpamOrganizationAdminAccount.build(context)
829
831
  when :disable_serial_console_access
@@ -884,6 +886,8 @@ module Aws::EC2
884
886
  Aws::EC2::Endpoints::EnableImageBlockPublicAccess.build(context)
885
887
  when :enable_image_deprecation
886
888
  Aws::EC2::Endpoints::EnableImageDeprecation.build(context)
889
+ when :enable_image_deregistration_protection
890
+ Aws::EC2::Endpoints::EnableImageDeregistrationProtection.build(context)
887
891
  when :enable_ipam_organization_admin_account
888
892
  Aws::EC2::Endpoints::EnableIpamOrganizationAdminAccount.build(context)
889
893
  when :enable_reachability_analyzer_organization_sharing
@@ -385,7 +385,8 @@ module Aws::EC2
385
385
  # [CreateSecurityGroup][1].
386
386
  #
387
387
  # If you specify a network interface, you must specify any security
388
- # groups as part of the network interface.
388
+ # groups as part of the network interface instead of using this
389
+ # parameter.
389
390
  #
390
391
  #
391
392
  #
@@ -394,14 +395,15 @@ module Aws::EC2
394
395
  # \[Default VPC\] The names of the security groups.
395
396
  #
396
397
  # If you specify a network interface, you must specify any security
397
- # groups as part of the network interface.
398
+ # groups as part of the network interface instead of using this
399
+ # parameter.
398
400
  #
399
401
  # Default: Amazon EC2 uses the default security group.
400
402
  # @option options [String] :subnet_id
401
403
  # The ID of the subnet to launch the instance into.
402
404
  #
403
405
  # If you specify a network interface, you must specify any subnets as
404
- # part of the network interface.
406
+ # part of the network interface instead of using this parameter.
405
407
  # @option options [String] :user_data
406
408
  # The user data script to make available to the instance. For more
407
409
  # information, see [Run commands on your Linux instance at launch][1]
@@ -465,9 +467,7 @@ module Aws::EC2
465
467
  #
466
468
  # Default: `stop`
467
469
  # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
468
- # The network interfaces to associate with the instance. If you specify
469
- # a network interface, you must specify any security groups and subnets
470
- # as part of the network interface.
470
+ # The network interfaces to associate with the instance.
471
471
  # @option options [String] :private_ip_address
472
472
  # The primary IPv4 address. You must specify a value from the IPv4
473
473
  # address range of the subnet.
@@ -481,32 +481,22 @@ module Aws::EC2
481
481
  # You cannot specify this option and the network interfaces option in
482
482
  # the same request.
483
483
  # @option options [Array<Types::ElasticGpuSpecification>] :elastic_gpu_specification
484
- # Deprecated.
484
+ # An elastic GPU to associate with the instance.
485
485
  #
486
- # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024. For
487
- # workloads that require graphics acceleration, we recommend that you
488
- # use Amazon EC2 G4ad, G4dn, or G5 instances.
486
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
489
487
  #
490
488
  # </note>
491
489
  # @option options [Array<Types::ElasticInferenceAccelerator>] :elastic_inference_accelerators
492
490
  # An elastic inference accelerator to associate with the instance.
493
- # Elastic inference accelerators are a resource you can attach to your
494
- # Amazon EC2 instances to accelerate your Deep Learning (DL) inference
495
- # workloads.
496
- #
497
- # You cannot specify accelerators from different generations in the same
498
- # request.
499
491
  #
500
- # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
501
- # customers to Amazon Elastic Inference (EI), and will help current
502
- # customers migrate their workloads to options that offer better price
503
- # and performance. After April 15, 2023, new customers will not be able
504
- # to launch instances with Amazon EI accelerators in Amazon SageMaker,
505
- # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
506
- # at least once during the past 30-day period are considered current
507
- # customers and will be able to continue using the service.
492
+ # <note markdown="1"> Amazon Elastic Inference (EI) is no longer available to new customers.
493
+ # For more information, see [Amazon Elastic Inference FAQs][1].
508
494
  #
509
495
  # </note>
496
+ #
497
+ #
498
+ #
499
+ # [1]: http://aws.amazon.com/machine-learning/elastic-inference/faqs/
510
500
  # @option options [Array<Types::TagSpecification>] :tag_specifications
511
501
  # The tags to apply to the resources that are created during instance
512
502
  # launch.
@@ -527,10 +517,9 @@ module Aws::EC2
527
517
  #
528
518
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
529
519
  # @option options [Types::LaunchTemplateSpecification] :launch_template
530
- # The launch template to use to launch the instances. Any parameters
531
- # that you specify in RunInstances override the same parameters in the
532
- # launch template. You can specify either the name or ID of a launch
533
- # template, but not both.
520
+ # The launch template. Any additional parameters that you specify for
521
+ # the new instance overwrite the corresponding parameters included in
522
+ # the launch template.
534
523
  # @option options [Types::InstanceMarketOptionsRequest] :instance_market_options
535
524
  # The market (purchasing) option for the instances.
536
525
  #
@@ -620,7 +620,8 @@ module Aws::EC2
620
620
  # [CreateSecurityGroup][1].
621
621
  #
622
622
  # If you specify a network interface, you must specify any security
623
- # groups as part of the network interface.
623
+ # groups as part of the network interface instead of using this
624
+ # parameter.
624
625
  #
625
626
  #
626
627
  #
@@ -629,7 +630,8 @@ module Aws::EC2
629
630
  # \[Default VPC\] The names of the security groups.
630
631
  #
631
632
  # If you specify a network interface, you must specify any security
632
- # groups as part of the network interface.
633
+ # groups as part of the network interface instead of using this
634
+ # parameter.
633
635
  #
634
636
  # Default: Amazon EC2 uses the default security group.
635
637
  # @option options [String] :user_data
@@ -695,9 +697,7 @@ module Aws::EC2
695
697
  #
696
698
  # Default: `stop`
697
699
  # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
698
- # The network interfaces to associate with the instance. If you specify
699
- # a network interface, you must specify any security groups and subnets
700
- # as part of the network interface.
700
+ # The network interfaces to associate with the instance.
701
701
  # @option options [String] :private_ip_address
702
702
  # The primary IPv4 address. You must specify a value from the IPv4
703
703
  # address range of the subnet.
@@ -711,32 +711,22 @@ module Aws::EC2
711
711
  # You cannot specify this option and the network interfaces option in
712
712
  # the same request.
713
713
  # @option options [Array<Types::ElasticGpuSpecification>] :elastic_gpu_specification
714
- # Deprecated.
714
+ # An elastic GPU to associate with the instance.
715
715
  #
716
- # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024. For
717
- # workloads that require graphics acceleration, we recommend that you
718
- # use Amazon EC2 G4ad, G4dn, or G5 instances.
716
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
719
717
  #
720
718
  # </note>
721
719
  # @option options [Array<Types::ElasticInferenceAccelerator>] :elastic_inference_accelerators
722
720
  # An elastic inference accelerator to associate with the instance.
723
- # Elastic inference accelerators are a resource you can attach to your
724
- # Amazon EC2 instances to accelerate your Deep Learning (DL) inference
725
- # workloads.
726
- #
727
- # You cannot specify accelerators from different generations in the same
728
- # request.
729
- #
730
- # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
731
- # customers to Amazon Elastic Inference (EI), and will help current
732
- # customers migrate their workloads to options that offer better price
733
- # and performance. After April 15, 2023, new customers will not be able
734
- # to launch instances with Amazon EI accelerators in Amazon SageMaker,
735
- # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
736
- # at least once during the past 30-day period are considered current
737
- # customers and will be able to continue using the service.
721
+ #
722
+ # <note markdown="1"> Amazon Elastic Inference (EI) is no longer available to new customers.
723
+ # For more information, see [Amazon Elastic Inference FAQs][1].
738
724
  #
739
725
  # </note>
726
+ #
727
+ #
728
+ #
729
+ # [1]: http://aws.amazon.com/machine-learning/elastic-inference/faqs/
740
730
  # @option options [Array<Types::TagSpecification>] :tag_specifications
741
731
  # The tags to apply to the resources that are created during instance
742
732
  # launch.
@@ -757,10 +747,9 @@ module Aws::EC2
757
747
  #
758
748
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
759
749
  # @option options [Types::LaunchTemplateSpecification] :launch_template
760
- # The launch template to use to launch the instances. Any parameters
761
- # that you specify in RunInstances override the same parameters in the
762
- # launch template. You can specify either the name or ID of a launch
763
- # template, but not both.
750
+ # The launch template. Any additional parameters that you specify for
751
+ # the new instance overwrite the corresponding parameters included in
752
+ # the launch template.
764
753
  # @option options [Types::InstanceMarketOptionsRequest] :instance_market_options
765
754
  # The market (purchasing) option for the instances.
766
755
  #