aws-sdk-ec2 1.449.0 → 1.451.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #