aws-sdk-imagebuilder 1.22.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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