aws-sdk-imagebuilder 1.22.0 → 1.26.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.
@@ -10,23 +10,65 @@
10
10
  module Aws::Imagebuilder
11
11
  module Types
12
12
 
13
- # Details of an EC2 AMI.
13
+ # In addition to your infrastruction configuration, these settings
14
+ # provide an extra layer of control over your build instances. For
15
+ # instances where Image Builder installs the SSM agent, you can choose
16
+ # whether to keep it for the AMI that you create. You can also specify
17
+ # commands to run on launch for all of your build instances.
18
+ #
19
+ # @note When making an API call, you may pass AdditionalInstanceConfiguration
20
+ # data as a hash:
21
+ #
22
+ # {
23
+ # systems_manager_agent: {
24
+ # uninstall_after_build: false,
25
+ # },
26
+ # user_data_override: "UserDataOverride",
27
+ # }
28
+ #
29
+ # @!attribute [rw] systems_manager_agent
30
+ # Contains settings for the SSM agent on your build instance.
31
+ # @return [Types::SystemsManagerAgent]
32
+ #
33
+ # @!attribute [rw] user_data_override
34
+ # Use this property to provide commands or a command script to run
35
+ # when you launch your build instance.
36
+ #
37
+ # <note markdown="1"> The userDataOverride property replaces any commands that Image
38
+ # Builder might have added to ensure that SSM is installed on your
39
+ # Linux build instance. If you override the user data, make sure that
40
+ # you add commands to install SSM, if it is not pre-installed on your
41
+ # source image.
42
+ #
43
+ # </note>
44
+ # @return [String]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/AdditionalInstanceConfiguration AWS API Documentation
47
+ #
48
+ class AdditionalInstanceConfiguration < Struct.new(
49
+ :systems_manager_agent,
50
+ :user_data_override)
51
+ SENSITIVE = []
52
+ include Aws::Structure
53
+ end
54
+
55
+ # Details of an Amazon EC2 AMI.
14
56
  #
15
57
  # @!attribute [rw] region
16
- # The AWS Region of the EC2 AMI.
58
+ # The Region of the Amazon EC2 AMI.
17
59
  # @return [String]
18
60
  #
19
61
  # @!attribute [rw] image
20
- # The AMI ID of the EC2 AMI.
62
+ # The AMI ID of the Amazon EC2 AMI.
21
63
  # @return [String]
22
64
  #
23
65
  # @!attribute [rw] name
24
- # The name of the EC2 AMI.
66
+ # The name of the Amazon EC2 AMI.
25
67
  # @return [String]
26
68
  #
27
69
  # @!attribute [rw] description
28
- # The description of the EC2 AMI. Minimum and maximum length are in
29
- # characters.
70
+ # The description of the Amazon EC2 AMI. Minimum and maximum length
71
+ # are in characters.
30
72
  # @return [String]
31
73
  #
32
74
  # @!attribute [rw] state
@@ -91,8 +133,8 @@ module Aws::Imagebuilder
91
133
  # @return [String]
92
134
  #
93
135
  # @!attribute [rw] launch_permission
94
- # Launch permissions can be used to configure which AWS accounts can
95
- # use the AMI to launch instances.
136
+ # Launch permissions can be used to configure which accounts can use
137
+ # the AMI to launch instances.
96
138
  # @return [Types::LaunchPermissionConfiguration]
97
139
  #
98
140
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/AmiDistributionConfiguration AWS API Documentation
@@ -227,6 +269,11 @@ module Aws::Imagebuilder
227
269
  # parent image OS version during image recipe creation.
228
270
  # @return [Array<String>]
229
271
  #
272
+ # @!attribute [rw] parameters
273
+ # Contains parameter details for each of the parameters that are
274
+ # defined for the component.
275
+ # @return [Array<Types::ComponentParameterDetail>]
276
+ #
230
277
  # @!attribute [rw] owner
231
278
  # The owner of the component.
232
279
  # @return [String]
@@ -262,6 +309,7 @@ module Aws::Imagebuilder
262
309
  :type,
263
310
  :platform,
264
311
  :supported_os_versions,
312
+ :parameters,
265
313
  :owner,
266
314
  :data,
267
315
  :kms_key_id,
@@ -279,16 +327,86 @@ module Aws::Imagebuilder
279
327
  #
280
328
  # {
281
329
  # component_arn: "ComponentVersionArnOrBuildVersionArn", # required
330
+ # parameters: [
331
+ # {
332
+ # name: "ComponentParameterName", # required
333
+ # value: ["ComponentParameterValue"], # required
334
+ # },
335
+ # ],
282
336
  # }
283
337
  #
284
338
  # @!attribute [rw] component_arn
285
339
  # The Amazon Resource Name (ARN) of the component.
286
340
  # @return [String]
287
341
  #
342
+ # @!attribute [rw] parameters
343
+ # A group of parameter settings that are used to configure the
344
+ # component for a specific recipe.
345
+ # @return [Array<Types::ComponentParameter>]
346
+ #
288
347
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentConfiguration AWS API Documentation
289
348
  #
290
349
  class ComponentConfiguration < Struct.new(
291
- :component_arn)
350
+ :component_arn,
351
+ :parameters)
352
+ SENSITIVE = []
353
+ include Aws::Structure
354
+ end
355
+
356
+ # Contains a key/value pair that sets the named component parameter.
357
+ #
358
+ # @note When making an API call, you may pass ComponentParameter
359
+ # data as a hash:
360
+ #
361
+ # {
362
+ # name: "ComponentParameterName", # required
363
+ # value: ["ComponentParameterValue"], # required
364
+ # }
365
+ #
366
+ # @!attribute [rw] name
367
+ # The name of the component parameter to set.
368
+ # @return [String]
369
+ #
370
+ # @!attribute [rw] value
371
+ # Sets the value for the named component parameter.
372
+ # @return [Array<String>]
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentParameter AWS API Documentation
375
+ #
376
+ class ComponentParameter < Struct.new(
377
+ :name,
378
+ :value)
379
+ SENSITIVE = []
380
+ include Aws::Structure
381
+ end
382
+
383
+ # Defines a parameter that is used to provide configuration details for
384
+ # the component.
385
+ #
386
+ # @!attribute [rw] name
387
+ # The name of this input parameter.
388
+ # @return [String]
389
+ #
390
+ # @!attribute [rw] type
391
+ # The type of input this parameter provides. The currently supported
392
+ # value is "string".
393
+ # @return [String]
394
+ #
395
+ # @!attribute [rw] default_value
396
+ # The default value of this parameter if no input is provided.
397
+ # @return [Array<String>]
398
+ #
399
+ # @!attribute [rw] description
400
+ # Describes this parameter.
401
+ # @return [String]
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentParameterDetail AWS API Documentation
404
+ #
405
+ class ComponentParameterDetail < Struct.new(
406
+ :name,
407
+ :type,
408
+ :default_value,
409
+ :description)
292
410
  SENSITIVE = []
293
411
  include Aws::Structure
294
412
  end
@@ -360,10 +478,26 @@ module Aws::Imagebuilder
360
478
  include Aws::Structure
361
479
  end
362
480
 
363
- # A high-level overview of a component semantic version.
481
+ # The defining characteristics of a specific version of an TOE
482
+ # component.
364
483
  #
365
484
  # @!attribute [rw] arn
366
485
  # The Amazon Resource Name (ARN) of the component.
486
+ #
487
+ # <note markdown="1"> Semantic versioning is included in each object's Amazon Resource
488
+ # Name (ARN), at the level that applies to that object as follows:
489
+ #
490
+ # 1. Versionless ARNs and Name ARNs do not include specific values in
491
+ # any of the nodes. The nodes are either left off entirely, or
492
+ # they are specified as wildcards, for example: x.x.x.
493
+ #
494
+ # 2. Version ARNs have only the first three nodes:
495
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;
496
+ #
497
+ # 3. Build version ARNs have all four nodes, and point to a specific
498
+ # build for a specific version of an object.
499
+ #
500
+ # </note>
367
501
  # @return [String]
368
502
  #
369
503
  # @!attribute [rw] name
@@ -372,6 +506,31 @@ module Aws::Imagebuilder
372
506
  #
373
507
  # @!attribute [rw] version
374
508
  # The semantic version of the component.
509
+ #
510
+ # <note markdown="1"> The semantic version has four nodes:
511
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
512
+ # assign values for the first three, and can filter on all of them.
513
+ #
514
+ # **Assignment:** For the first three nodes you can assign any
515
+ # positive integer value, including zero, with an upper limit of
516
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
517
+ # assigns the build number, and that is not open for updates.
518
+ #
519
+ # **Patterns:** You can use any numeric pattern that adheres to the
520
+ # assignment requirements for the nodes that you can assign. For
521
+ # example, you might choose a software version pattern, such as 1.0.0,
522
+ # or a date, such as 2021.01.01.
523
+ #
524
+ # **Filtering:** When you retrieve or reference a resource with a
525
+ # semantic version, you can use wildcards (x) to filter your results.
526
+ # When you use a wildcard in any node, all nodes to the right of the
527
+ # first wildcard must also be wildcards. For example, specifying
528
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
529
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
530
+ # build - Image Builder automatically uses a wildcard for that, if
531
+ # applicable.
532
+ #
533
+ # </note>
375
534
  # @return [String]
376
535
  #
377
536
  # @!attribute [rw] description
@@ -479,6 +638,21 @@ module Aws::Imagebuilder
479
638
  #
480
639
  # @!attribute [rw] arn
481
640
  # The Amazon Resource Name (ARN) of the container recipe.
641
+ #
642
+ # <note markdown="1"> Semantic versioning is included in each object's Amazon Resource
643
+ # Name (ARN), at the level that applies to that object as follows:
644
+ #
645
+ # 1. Versionless ARNs and Name ARNs do not include specific values in
646
+ # any of the nodes. The nodes are either left off entirely, or
647
+ # they are specified as wildcards, for example: x.x.x.
648
+ #
649
+ # 2. Version ARNs have only the first three nodes:
650
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;
651
+ #
652
+ # 3. Build version ARNs have all four nodes, and point to a specific
653
+ # build for a specific version of an object.
654
+ #
655
+ # </note>
482
656
  # @return [String]
483
657
  #
484
658
  # @!attribute [rw] container_type
@@ -502,8 +676,32 @@ module Aws::Imagebuilder
502
676
  # @return [String]
503
677
  #
504
678
  # @!attribute [rw] version
505
- # The semantic version of the container recipe
506
- # (&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;).
679
+ # The semantic version of the container recipe.
680
+ #
681
+ # <note markdown="1"> The semantic version has four nodes:
682
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
683
+ # assign values for the first three, and can filter on all of them.
684
+ #
685
+ # **Assignment:** For the first three nodes you can assign any
686
+ # positive integer value, including zero, with an upper limit of
687
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
688
+ # assigns the build number, and that is not open for updates.
689
+ #
690
+ # **Patterns:** You can use any numeric pattern that adheres to the
691
+ # assignment requirements for the nodes that you can assign. For
692
+ # example, you might choose a software version pattern, such as 1.0.0,
693
+ # or a date, such as 2021.01.01.
694
+ #
695
+ # **Filtering:** When you retrieve or reference a resource with a
696
+ # semantic version, you can use wildcards (x) to filter your results.
697
+ # When you use a wildcard in any node, all nodes to the right of the
698
+ # first wildcard must also be wildcards. For example, specifying
699
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
700
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
701
+ # build - Image Builder automatically uses a wildcard for that, if
702
+ # applicable.
703
+ #
704
+ # </note>
507
705
  # @return [String]
508
706
  #
509
707
  # @!attribute [rw] components
@@ -651,8 +849,23 @@ module Aws::Imagebuilder
651
849
  #
652
850
  # @!attribute [rw] semantic_version
653
851
  # The semantic version of the component. This version follows the
654
- # semantic version syntax. For example, major.minor.patch. This could
655
- # be versioned like software (2.0.1) or like a date (2019.12.01).
852
+ # semantic version syntax.
853
+ #
854
+ # <note markdown="1"> The semantic version has four nodes:
855
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
856
+ # assign values for the first three, and can filter on all of them.
857
+ #
858
+ # **Assignment:** For the first three nodes you can assign any
859
+ # positive integer value, including zero, with an upper limit of
860
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
861
+ # assigns the build number, and that is not open for updates.
862
+ #
863
+ # **Patterns:** You can use any numeric pattern that adheres to the
864
+ # assignment requirements for the nodes that you can assign. For
865
+ # example, you might choose a software version pattern, such as 1.0.0,
866
+ # or a date, such as 2021.01.01.
867
+ #
868
+ # </note>
656
869
  # @return [String]
657
870
  #
658
871
  # @!attribute [rw] description
@@ -683,10 +896,11 @@ module Aws::Imagebuilder
683
896
  # @return [String]
684
897
  #
685
898
  # @!attribute [rw] uri
686
- # The uri of the component. Must be an S3 URL and the requester must
687
- # have permission to access the S3 bucket. If you use S3, you can
688
- # specify component content up to your service quota. Either `data` or
689
- # `uri` can be used to specify the data within the component.
899
+ # The uri of the component. Must be an Amazon S3 URL and the requester
900
+ # must have permission to access the Amazon S3 bucket. If you use
901
+ # Amazon S3, you can specify component content up to your service
902
+ # quota. Either `data` or `uri` can be used to specify the data within
903
+ # the component.
690
904
  # @return [String]
691
905
  #
692
906
  # @!attribute [rw] kms_key_id
@@ -756,6 +970,12 @@ module Aws::Imagebuilder
756
970
  # components: [ # required
757
971
  # {
758
972
  # component_arn: "ComponentVersionArnOrBuildVersionArn", # required
973
+ # parameters: [
974
+ # {
975
+ # name: "ComponentParameterName", # required
976
+ # value: ["ComponentParameterValue"], # required
977
+ # },
978
+ # ],
759
979
  # },
760
980
  # ],
761
981
  # instance_configuration: {
@@ -807,8 +1027,24 @@ module Aws::Imagebuilder
807
1027
  # @return [String]
808
1028
  #
809
1029
  # @!attribute [rw] semantic_version
810
- # The semantic version of the container recipe
811
- # (&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;).
1030
+ # The semantic version of the container recipe. This version follows
1031
+ # the semantic version syntax.
1032
+ #
1033
+ # <note markdown="1"> The semantic version has four nodes:
1034
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
1035
+ # assign values for the first three, and can filter on all of them.
1036
+ #
1037
+ # **Assignment:** For the first three nodes you can assign any
1038
+ # positive integer value, including zero, with an upper limit of
1039
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
1040
+ # assigns the build number, and that is not open for updates.
1041
+ #
1042
+ # **Patterns:** You can use any numeric pattern that adheres to the
1043
+ # assignment requirements for the nodes that you can assign. For
1044
+ # example, you might choose a software version pattern, such as 1.0.0,
1045
+ # or a date, such as 2021.01.01.
1046
+ #
1047
+ # </note>
812
1048
  # @return [String]
813
1049
  #
814
1050
  # @!attribute [rw] components
@@ -827,7 +1063,7 @@ module Aws::Imagebuilder
827
1063
  # @return [String]
828
1064
  #
829
1065
  # @!attribute [rw] dockerfile_template_uri
830
- # The S3 URI for the Dockerfile that will be used to build your
1066
+ # The Amazon S3 URI for the Dockerfile that will be used to build your
831
1067
  # container image.
832
1068
  # @return [String]
833
1069
  #
@@ -1155,6 +1391,12 @@ module Aws::Imagebuilder
1155
1391
  # components: [ # required
1156
1392
  # {
1157
1393
  # component_arn: "ComponentVersionArnOrBuildVersionArn", # required
1394
+ # parameters: [
1395
+ # {
1396
+ # name: "ComponentParameterName", # required
1397
+ # value: ["ComponentParameterValue"], # required
1398
+ # },
1399
+ # ],
1158
1400
  # },
1159
1401
  # ],
1160
1402
  # parent_image: "NonEmptyString", # required
@@ -1178,6 +1420,12 @@ module Aws::Imagebuilder
1178
1420
  # "TagKey" => "TagValue",
1179
1421
  # },
1180
1422
  # working_directory: "NonEmptyString",
1423
+ # additional_instance_configuration: {
1424
+ # systems_manager_agent: {
1425
+ # uninstall_after_build: false,
1426
+ # },
1427
+ # user_data_override: "UserDataOverride",
1428
+ # },
1181
1429
  # client_token: "ClientToken", # required
1182
1430
  # }
1183
1431
  #
@@ -1190,7 +1438,24 @@ module Aws::Imagebuilder
1190
1438
  # @return [String]
1191
1439
  #
1192
1440
  # @!attribute [rw] semantic_version
1193
- # The semantic version of the image recipe.
1441
+ # The semantic version of the image recipe. This version follows the
1442
+ # semantic version syntax.
1443
+ #
1444
+ # <note markdown="1"> The semantic version has four nodes:
1445
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
1446
+ # assign values for the first three, and can filter on all of them.
1447
+ #
1448
+ # **Assignment:** For the first three nodes you can assign any
1449
+ # positive integer value, including zero, with an upper limit of
1450
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
1451
+ # assigns the build number, and that is not open for updates.
1452
+ #
1453
+ # **Patterns:** You can use any numeric pattern that adheres to the
1454
+ # assignment requirements for the nodes that you can assign. For
1455
+ # example, you might choose a software version pattern, such as 1.0.0,
1456
+ # or a date, such as 2021.01.01.
1457
+ #
1458
+ # </note>
1194
1459
  # @return [String]
1195
1460
  #
1196
1461
  # @!attribute [rw] components
@@ -1217,9 +1482,14 @@ module Aws::Imagebuilder
1217
1482
  # @return [Hash<String,String>]
1218
1483
  #
1219
1484
  # @!attribute [rw] working_directory
1220
- # The working directory to be used during build and test workflows.
1485
+ # The working directory used during build and test workflows.
1221
1486
  # @return [String]
1222
1487
  #
1488
+ # @!attribute [rw] additional_instance_configuration
1489
+ # Specify additional settings and launch scripts for your build
1490
+ # instances.
1491
+ # @return [Types::AdditionalInstanceConfiguration]
1492
+ #
1223
1493
  # @!attribute [rw] client_token
1224
1494
  # The idempotency token used to make this request idempotent.
1225
1495
  #
@@ -1238,6 +1508,7 @@ module Aws::Imagebuilder
1238
1508
  :block_device_mappings,
1239
1509
  :tags,
1240
1510
  :working_directory,
1511
+ :additional_instance_configuration,
1241
1512
  :client_token)
1242
1513
  SENSITIVE = []
1243
1514
  include Aws::Structure
@@ -1410,17 +1681,17 @@ module Aws::Imagebuilder
1410
1681
  #
1411
1682
  # @!attribute [rw] instance_profile_name
1412
1683
  # The instance profile to associate with the instance used to
1413
- # customize your EC2 AMI.
1684
+ # customize your Amazon EC2 AMI.
1414
1685
  # @return [String]
1415
1686
  #
1416
1687
  # @!attribute [rw] security_group_ids
1417
1688
  # The security group IDs to associate with the instance used to
1418
- # customize your EC2 AMI.
1689
+ # customize your Amazon EC2 AMI.
1419
1690
  # @return [Array<String>]
1420
1691
  #
1421
1692
  # @!attribute [rw] subnet_id
1422
1693
  # The subnet ID in which to place the instance used to customize your
1423
- # EC2 AMI.
1694
+ # Amazon EC2 AMI.
1424
1695
  # @return [String]
1425
1696
  #
1426
1697
  # @!attribute [rw] logging
@@ -2454,10 +2725,28 @@ module Aws::Imagebuilder
2454
2725
  include Aws::Structure
2455
2726
  end
2456
2727
 
2457
- # An image build version.
2728
+ # An Image Builder image. You must specify exactly one recipe for the
2729
+ # image – either a container recipe (`containerRecipe`), which creates a
2730
+ # container image, or an image recipe (`imageRecipe`), which creates an
2731
+ # AMI.
2458
2732
  #
2459
2733
  # @!attribute [rw] arn
2460
2734
  # The Amazon Resource Name (ARN) of the image.
2735
+ #
2736
+ # <note markdown="1"> Semantic versioning is included in each object's Amazon Resource
2737
+ # Name (ARN), at the level that applies to that object as follows:
2738
+ #
2739
+ # 1. Versionless ARNs and Name ARNs do not include specific values in
2740
+ # any of the nodes. The nodes are either left off entirely, or
2741
+ # they are specified as wildcards, for example: x.x.x.
2742
+ #
2743
+ # 2. Version ARNs have only the first three nodes:
2744
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;
2745
+ #
2746
+ # 3. Build version ARNs have all four nodes, and point to a specific
2747
+ # build for a specific version of an object.
2748
+ #
2749
+ # </note>
2461
2750
  # @return [String]
2462
2751
  #
2463
2752
  # @!attribute [rw] type
@@ -2470,6 +2759,31 @@ module Aws::Imagebuilder
2470
2759
  #
2471
2760
  # @!attribute [rw] version
2472
2761
  # The semantic version of the image.
2762
+ #
2763
+ # <note markdown="1"> The semantic version has four nodes:
2764
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
2765
+ # assign values for the first three, and can filter on all of them.
2766
+ #
2767
+ # **Assignment:** For the first three nodes you can assign any
2768
+ # positive integer value, including zero, with an upper limit of
2769
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
2770
+ # assigns the build number, and that is not open for updates.
2771
+ #
2772
+ # **Patterns:** You can use any numeric pattern that adheres to the
2773
+ # assignment requirements for the nodes that you can assign. For
2774
+ # example, you might choose a software version pattern, such as 1.0.0,
2775
+ # or a date, such as 2021.01.01.
2776
+ #
2777
+ # **Filtering:** When you retrieve or reference a resource with a
2778
+ # semantic version, you can use wildcards (x) to filter your results.
2779
+ # When you use a wildcard in any node, all nodes to the right of the
2780
+ # first wildcard must also be wildcards. For example, specifying
2781
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
2782
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
2783
+ # build - Image Builder automatically uses a wildcard for that, if
2784
+ # applicable.
2785
+ #
2786
+ # </note>
2473
2787
  # @return [String]
2474
2788
  #
2475
2789
  # @!attribute [rw] platform
@@ -2497,7 +2811,7 @@ module Aws::Imagebuilder
2497
2811
  # @return [Types::ImageRecipe]
2498
2812
  #
2499
2813
  # @!attribute [rw] container_recipe
2500
- # The container recipe used to create the container image type.
2814
+ # The recipe that is used to create an Image Builder container image.
2501
2815
  # @return [Types::ContainerRecipe]
2502
2816
  #
2503
2817
  # @!attribute [rw] source_pipeline_name
@@ -2736,6 +3050,14 @@ module Aws::Imagebuilder
2736
3050
  # The working directory to be used during build and test workflows.
2737
3051
  # @return [String]
2738
3052
  #
3053
+ # @!attribute [rw] additional_instance_configuration
3054
+ # Before you create a new AMI, Image Builder launches temporary Amazon
3055
+ # EC2 instances to build and test your image configuration. Instance
3056
+ # configuration adds a layer of control over those instances. You can
3057
+ # define settings and add scripts to run when an instance is launched
3058
+ # from your AMI.
3059
+ # @return [Types::AdditionalInstanceConfiguration]
3060
+ #
2739
3061
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageRecipe AWS API Documentation
2740
3062
  #
2741
3063
  class ImageRecipe < Struct.new(
@@ -2751,7 +3073,8 @@ module Aws::Imagebuilder
2751
3073
  :block_device_mappings,
2752
3074
  :date_created,
2753
3075
  :tags,
2754
- :working_directory)
3076
+ :working_directory,
3077
+ :additional_instance_configuration)
2755
3078
  SENSITIVE = []
2756
3079
  include Aws::Structure
2757
3080
  end
@@ -2911,39 +3234,85 @@ module Aws::Imagebuilder
2911
3234
  include Aws::Structure
2912
3235
  end
2913
3236
 
2914
- # An image semantic version.
3237
+ # The defining characteristics of a specific version of an Image Builder
3238
+ # image.
2915
3239
  #
2916
3240
  # @!attribute [rw] arn
2917
- # The Amazon Resource Name (ARN) of the image semantic version.
3241
+ # The Amazon Resource Name (ARN) of a specific version of an Image
3242
+ # Builder image.
3243
+ #
3244
+ # <note markdown="1"> Semantic versioning is included in each object's Amazon Resource
3245
+ # Name (ARN), at the level that applies to that object as follows:
3246
+ #
3247
+ # 1. Versionless ARNs and Name ARNs do not include specific values in
3248
+ # any of the nodes. The nodes are either left off entirely, or
3249
+ # they are specified as wildcards, for example: x.x.x.
3250
+ #
3251
+ # 2. Version ARNs have only the first three nodes:
3252
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;
3253
+ #
3254
+ # 3. Build version ARNs have all four nodes, and point to a specific
3255
+ # build for a specific version of an object.
3256
+ #
3257
+ # </note>
2918
3258
  # @return [String]
2919
3259
  #
2920
3260
  # @!attribute [rw] name
2921
- # The name of the image semantic version.
3261
+ # The name of this specific version of an Image Builder image.
2922
3262
  # @return [String]
2923
3263
  #
2924
3264
  # @!attribute [rw] type
2925
- # Specifies whether this is an AMI or container image.
3265
+ # Specifies whether this image is an AMI or a container image.
2926
3266
  # @return [String]
2927
3267
  #
2928
3268
  # @!attribute [rw] version
2929
- # The semantic version of the image semantic version.
3269
+ # Details for a specific version of an Image Builder image. This
3270
+ # version follows the semantic version syntax.
3271
+ #
3272
+ # <note markdown="1"> The semantic version has four nodes:
3273
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3274
+ # assign values for the first three, and can filter on all of them.
3275
+ #
3276
+ # **Assignment:** For the first three nodes you can assign any
3277
+ # positive integer value, including zero, with an upper limit of
3278
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
3279
+ # assigns the build number, and that is not open for updates.
3280
+ #
3281
+ # **Patterns:** You can use any numeric pattern that adheres to the
3282
+ # assignment requirements for the nodes that you can assign. For
3283
+ # example, you might choose a software version pattern, such as 1.0.0,
3284
+ # or a date, such as 2021.01.01.
3285
+ #
3286
+ # **Filtering:** When you retrieve or reference a resource with a
3287
+ # semantic version, you can use wildcards (x) to filter your results.
3288
+ # When you use a wildcard in any node, all nodes to the right of the
3289
+ # first wildcard must also be wildcards. For example, specifying
3290
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
3291
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
3292
+ # build - Image Builder automatically uses a wildcard for that, if
3293
+ # applicable.
3294
+ #
3295
+ # </note>
2930
3296
  # @return [String]
2931
3297
  #
2932
3298
  # @!attribute [rw] platform
2933
- # The platform of the image semantic version.
3299
+ # The platform of the image version, for example "Windows" or
3300
+ # "Linux".
2934
3301
  # @return [String]
2935
3302
  #
2936
3303
  # @!attribute [rw] os_version
2937
- # The operating system version of the instance. For example, Amazon
2938
- # Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
3304
+ # The operating system version of the Amazon EC2 build instance. For
3305
+ # example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server
3306
+ # 2019.
2939
3307
  # @return [String]
2940
3308
  #
2941
3309
  # @!attribute [rw] owner
2942
- # The owner of the image semantic version.
3310
+ # The owner of the image version.
2943
3311
  # @return [String]
2944
3312
  #
2945
3313
  # @!attribute [rw] date_created
2946
- # The date at which this image semantic version was created.
3314
+ # The date on which this specific version of the Image Builder image
3315
+ # was created.
2947
3316
  # @return [String]
2948
3317
  #
2949
3318
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageVersion AWS API Documentation
@@ -2987,8 +3356,22 @@ module Aws::Imagebuilder
2987
3356
  #
2988
3357
  # @!attribute [rw] semantic_version
2989
3358
  # The semantic version of the component. This version follows the
2990
- # semantic version syntax. For example, major.minor.patch. This could
2991
- # be versioned like software (2.0.1) or like a date (2019.12.01).
3359
+ # semantic version syntax.
3360
+ #
3361
+ # <note markdown="1"> The semantic version has four nodes:
3362
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3363
+ # assign values for the first three, and can filter on all of them.
3364
+ #
3365
+ # **Filtering:** When you retrieve or reference a resource with a
3366
+ # semantic version, you can use wildcards (x) to filter your results.
3367
+ # When you use a wildcard in any node, all nodes to the right of the
3368
+ # first wildcard must also be wildcards. For example, specifying
3369
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
3370
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
3371
+ # build - Image Builder automatically uses a wildcard for that, if
3372
+ # applicable.
3373
+ #
3374
+ # </note>
2992
3375
  # @return [String]
2993
3376
  #
2994
3377
  # @!attribute [rw] description
@@ -3004,7 +3387,7 @@ module Aws::Imagebuilder
3004
3387
  #
3005
3388
  # @!attribute [rw] type
3006
3389
  # The type of the component denotes whether the component is used to
3007
- # build the image or only to test it.
3390
+ # build the image, or only to test it.
3008
3391
  # @return [String]
3009
3392
  #
3010
3393
  # @!attribute [rw] format
@@ -3022,10 +3405,11 @@ module Aws::Imagebuilder
3022
3405
  # @return [String]
3023
3406
  #
3024
3407
  # @!attribute [rw] uri
3025
- # The uri of the component. Must be an S3 URL and the requester must
3026
- # have permission to access the S3 bucket. If you use S3, you can
3027
- # specify component content up to your service quota. Either `data` or
3028
- # `uri` can be used to specify the data within the component.
3408
+ # The uri of the component. Must be an Amazon S3 URL and the requester
3409
+ # must have permission to access the Amazon S3 bucket. If you use
3410
+ # Amazon S3, you can specify component content up to your service
3411
+ # quota. Either `data` or `uri` can be used to specify the data within
3412
+ # the component.
3029
3413
  # @return [String]
3030
3414
  #
3031
3415
  # @!attribute [rw] kms_key_id
@@ -3119,7 +3503,7 @@ module Aws::Imagebuilder
3119
3503
  # @return [Types::Logging]
3120
3504
  #
3121
3505
  # @!attribute [rw] key_pair
3122
- # The EC2 key pair of the infrastructure configuration.
3506
+ # The Amazon EC2 key pair of the infrastructure configuration.
3123
3507
  # @return [String]
3124
3508
  #
3125
3509
  # @!attribute [rw] terminate_instance_on_failure
@@ -3170,7 +3554,7 @@ module Aws::Imagebuilder
3170
3554
  include Aws::Structure
3171
3555
  end
3172
3556
 
3173
- # The infrastructure used when building EC2 AMIs.
3557
+ # The infrastructure used when building Amazon EC2 AMIs.
3174
3558
  #
3175
3559
  # @!attribute [rw] arn
3176
3560
  # The Amazon Resource Name (ARN) of the infrastructure configuration.
@@ -3401,11 +3785,11 @@ module Aws::Imagebuilder
3401
3785
  end
3402
3786
 
3403
3787
  # Describes the configuration for a launch permission. The launch
3404
- # permission modification request is sent to the [EC2
3788
+ # permission modification request is sent to the [Amazon EC2
3405
3789
  # ModifyImageAttribute][1] API on behalf of the user for each Region
3406
3790
  # they have selected to distribute the AMI. To make an AMI public, set
3407
3791
  # the launch permission authorized accounts to `all`. See the examples
3408
- # for making an AMI public at [EC2 ModifyImageAttribute][1].
3792
+ # for making an AMI public at [Amazon EC2 ModifyImageAttribute][1].
3409
3793
  #
3410
3794
  #
3411
3795
  #
@@ -3420,7 +3804,7 @@ module Aws::Imagebuilder
3420
3804
  # }
3421
3805
  #
3422
3806
  # @!attribute [rw] user_ids
3423
- # The AWS account ID.
3807
+ # The account ID.
3424
3808
  # @return [Array<String>]
3425
3809
  #
3426
3810
  # @!attribute [rw] user_groups
@@ -3436,7 +3820,8 @@ module Aws::Imagebuilder
3436
3820
  include Aws::Structure
3437
3821
  end
3438
3822
 
3439
- # Identifies an EC2 launch template to use for a specific account.
3823
+ # Identifies an Amazon EC2 launch template to use for a specific
3824
+ # account.
3440
3825
  #
3441
3826
  # @note When making an API call, you may pass LaunchTemplateConfiguration
3442
3827
  # data as a hash:
@@ -3448,7 +3833,7 @@ module Aws::Imagebuilder
3448
3833
  # }
3449
3834
  #
3450
3835
  # @!attribute [rw] launch_template_id
3451
- # Identifies the EC2 launch template to use.
3836
+ # Identifies the Amazon EC2 launch template to use.
3452
3837
  # @return [String]
3453
3838
  #
3454
3839
  # @!attribute [rw] account_id
@@ -3456,8 +3841,8 @@ module Aws::Imagebuilder
3456
3841
  # @return [String]
3457
3842
  #
3458
3843
  # @!attribute [rw] set_default_version
3459
- # Set the specified EC2 launch template as the default launch template
3460
- # for the specified account.
3844
+ # Set the specified Amazon EC2 launch template as the default launch
3845
+ # template for the specified account.
3461
3846
  # @return [Boolean]
3462
3847
  #
3463
3848
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/LaunchTemplateConfiguration AWS API Documentation
@@ -3557,8 +3942,7 @@ module Aws::Imagebuilder
3557
3942
  # @return [Array<Types::Filter>]
3558
3943
  #
3559
3944
  # @!attribute [rw] by_name
3560
- # Returns the list of component build versions for the specified
3561
- # semantic version.
3945
+ # Returns the list of component build versions for the specified name.
3562
3946
  # @return [Boolean]
3563
3947
  #
3564
3948
  # @!attribute [rw] max_results
@@ -3588,6 +3972,12 @@ module Aws::Imagebuilder
3588
3972
  #
3589
3973
  # @!attribute [rw] component_version_list
3590
3974
  # The list of component semantic versions.
3975
+ #
3976
+ # <note markdown="1"> The semantic version has four nodes:
3977
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3978
+ # assign values for the first three, and can filter on all of them.
3979
+ #
3980
+ # </note>
3591
3981
  # @return [Array<Types::ComponentVersion>]
3592
3982
  #
3593
3983
  # @!attribute [rw] next_token
@@ -4139,6 +4529,21 @@ module Aws::Imagebuilder
4139
4529
  #
4140
4530
  # @!attribute [rw] image_version_list
4141
4531
  # The list of image semantic versions.
4532
+ #
4533
+ # <note markdown="1"> The semantic version has four nodes:
4534
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
4535
+ # assign values for the first three, and can filter on all of them.
4536
+ #
4537
+ # **Filtering:** When you retrieve or reference a resource with a
4538
+ # semantic version, you can use wildcards (x) to filter your results.
4539
+ # When you use a wildcard in any node, all nodes to the right of the
4540
+ # first wildcard must also be wildcards. For example, specifying
4541
+ # "1.2.x", or "1.x.x" works to filter list results, but neither
4542
+ # "1.x.2", nor "x.2.x" will work. You do not have to specify the
4543
+ # build - Image Builder automatically uses a wildcard for that, if
4544
+ # applicable.
4545
+ #
4546
+ # </note>
4142
4547
  # @return [Array<Types::ImageVersion>]
4143
4548
  #
4144
4549
  # @!attribute [rw] next_token
@@ -4279,7 +4684,7 @@ module Aws::Imagebuilder
4279
4684
  # The resources produced by this image.
4280
4685
  #
4281
4686
  # @!attribute [rw] amis
4282
- # The EC2 AMIs created by this image.
4687
+ # The Amazon EC2 AMIs created by this image.
4283
4688
  # @return [Array<Types::Ami>]
4284
4689
  #
4285
4690
  # @!attribute [rw] containers
@@ -4714,6 +5119,31 @@ module Aws::Imagebuilder
4714
5119
  include Aws::Structure
4715
5120
  end
4716
5121
 
5122
+ # Contains settings for the SSM agent on your build instance.
5123
+ #
5124
+ # @note When making an API call, you may pass SystemsManagerAgent
5125
+ # data as a hash:
5126
+ #
5127
+ # {
5128
+ # uninstall_after_build: false,
5129
+ # }
5130
+ #
5131
+ # @!attribute [rw] uninstall_after_build
5132
+ # Controls whether the SSM agent is removed from your final build
5133
+ # image, prior to creating the new AMI. If this is set to true, then
5134
+ # the agent is removed from the final image. If it's set to false,
5135
+ # then the agent is left in, so that it is included in the new AMI.
5136
+ # The default value is false.
5137
+ # @return [Boolean]
5138
+ #
5139
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/SystemsManagerAgent AWS API Documentation
5140
+ #
5141
+ class SystemsManagerAgent < Struct.new(
5142
+ :uninstall_after_build)
5143
+ SENSITIVE = []
5144
+ include Aws::Structure
5145
+ end
5146
+
4717
5147
  # @note When making an API call, you may pass TagResourceRequest
4718
5148
  # data as a hash:
4719
5149
  #
@@ -5062,17 +5492,17 @@ module Aws::Imagebuilder
5062
5492
  #
5063
5493
  # @!attribute [rw] instance_profile_name
5064
5494
  # The instance profile to associate with the instance used to
5065
- # customize your EC2 AMI.
5495
+ # customize your Amazon EC2 AMI.
5066
5496
  # @return [String]
5067
5497
  #
5068
5498
  # @!attribute [rw] security_group_ids
5069
5499
  # The security group IDs to associate with the instance used to
5070
- # customize your EC2 AMI.
5500
+ # customize your Amazon EC2 AMI.
5071
5501
  # @return [Array<String>]
5072
5502
  #
5073
5503
  # @!attribute [rw] subnet_id
5074
- # The subnet ID to place the instance used to customize your EC2 AMI
5075
- # in.
5504
+ # The subnet ID to place the instance used to customize your Amazon
5505
+ # EC2 AMI in.
5076
5506
  # @return [String]
5077
5507
  #
5078
5508
  # @!attribute [rw] logging