# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::Imagebuilder
module Types
# In addition to your infrastruction configuration, these settings
# provide an extra layer of control over your build instances. For
# instances where Image Builder installs the Systems Manager agent, you
# can choose whether to keep it for the AMI that you create. You can
# also specify commands to run on launch for all of your build
# instances.
#
# @note When making an API call, you may pass AdditionalInstanceConfiguration
# data as a hash:
#
# {
# systems_manager_agent: {
# uninstall_after_build: false,
# },
# user_data_override: "UserDataOverride",
# }
#
# @!attribute [rw] systems_manager_agent
# Contains settings for the Systems Manager agent on your build
# instance.
# @return [Types::SystemsManagerAgent]
#
# @!attribute [rw] user_data_override
# Use this property to provide commands or a command script to run
# when you launch your build instance.
#
# The userDataOverride property replaces any commands that Image
# Builder might have added to ensure that Systems Manager is installed
# on your Linux build instance. If you override the user data, make
# sure that you add commands to install Systems Manager, if it is not
# pre-installed on your base image.
#
# The user data is always base 64 encoded. For example, the following
# commands are encoded as
# `IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$`\:
#
# *#!/bin/bash*
#
# mkdir -p /var/bb/
#
# touch /var
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/AdditionalInstanceConfiguration AWS API Documentation
#
class AdditionalInstanceConfiguration < Struct.new(
:systems_manager_agent,
:user_data_override)
SENSITIVE = []
include Aws::Structure
end
# Details of an Amazon EC2 AMI.
#
# @!attribute [rw] region
# The Amazon Web Services Region of the Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] image
# The AMI ID of the Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] name
# The name of the Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] description
# The description of the Amazon EC2 AMI. Minimum and maximum length
# are in characters.
# @return [String]
#
# @!attribute [rw] state
# Image state shows the image status and the reason for that status.
# @return [Types::ImageState]
#
# @!attribute [rw] account_id
# The account ID of the owner of the AMI.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Ami AWS API Documentation
#
class Ami < Struct.new(
:region,
:image,
:name,
:description,
:state,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# Define and configure the output AMIs of the pipeline.
#
# @note When making an API call, you may pass AmiDistributionConfiguration
# data as a hash:
#
# {
# name: "AmiNameString",
# description: "NonEmptyString",
# target_account_ids: ["AccountId"],
# ami_tags: {
# "TagKey" => "TagValue",
# },
# kms_key_id: "NonEmptyString",
# launch_permission: {
# user_ids: ["AccountId"],
# user_groups: ["NonEmptyString"],
# organization_arns: ["OrganizationArn"],
# organizational_unit_arns: ["OrganizationalUnitArn"],
# },
# }
#
# @!attribute [rw] name
# The name of the output AMI.
# @return [String]
#
# @!attribute [rw] description
# The description of the AMI distribution configuration. Minimum and
# maximum length are in characters.
# @return [String]
#
# @!attribute [rw] target_account_ids
# The ID of an account to which you want to distribute an image.
# @return [Array]
#
# @!attribute [rw] ami_tags
# The tags to apply to AMIs distributed to this Region.
# @return [Hash]
#
# @!attribute [rw] kms_key_id
# The KMS key identifier used to encrypt the distributed image.
# @return [String]
#
# @!attribute [rw] launch_permission
# Launch permissions can be used to configure which Amazon Web
# Services accounts can use the AMI to launch instances.
# @return [Types::LaunchPermissionConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/AmiDistributionConfiguration AWS API Documentation
#
class AmiDistributionConfiguration < Struct.new(
:name,
:description,
:target_account_ids,
:ami_tags,
:kms_key_id,
:launch_permission)
SENSITIVE = []
include Aws::Structure
end
# You have exceeded the permitted request rate for the specific
# operation.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CallRateLimitExceededException AWS API Documentation
#
class CallRateLimitExceededException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CancelImageCreationRequest
# data as a hash:
#
# {
# image_build_version_arn: "ImageBuildVersionArn", # required
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the image whose creation you want
# to cancel.
# @return [String]
#
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure idempotency
# of the request. For more information, see [Ensuring idempotency][1]
# in the *Amazon EC2 API Reference*.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreationRequest AWS API Documentation
#
class CancelImageCreationRequest < Struct.new(
:image_build_version_arn,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token that was used for this request.
# @return [String]
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the image whose creation has been
# cancelled.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreationResponse AWS API Documentation
#
class CancelImageCreationResponse < Struct.new(
:request_id,
:client_token,
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# These errors are usually caused by a client action, such as using an
# action or resource on behalf of a user that doesn't have permissions
# to use the action or resource, or specifying an invalid resource
# identifier.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ClientException AWS API Documentation
#
class ClientException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A detailed view of a component.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the component.
# @return [String]
#
# @!attribute [rw] name
# The name of the component.
# @return [String]
#
# @!attribute [rw] version
# The version of the component.
# @return [String]
#
# @!attribute [rw] description
# The description of the component.
# @return [String]
#
# @!attribute [rw] change_description
# The change description of the component.
# @return [String]
#
# @!attribute [rw] type
# The type of the component denotes whether the component is used to
# build the image or only to test it.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the component.
# @return [String]
#
# @!attribute [rw] supported_os_versions
# The operating system (OS) version supported by the component. If the
# OS information is available, a prefix match is performed against the
# base image OS version during image recipe creation.
# @return [Array]
#
# @!attribute [rw] state
# Describes the current status of the component. This is used for
# components that are no longer active.
# @return [Types::ComponentState]
#
# @!attribute [rw] parameters
# Contains parameter details for each of the parameters that are
# defined for the component.
# @return [Array]
#
# @!attribute [rw] owner
# The owner of the component.
# @return [String]
#
# @!attribute [rw] data
# Component data contains the YAML document content for the component.
# @return [String]
#
# @!attribute [rw] kms_key_id
# The KMS key identifier used to encrypt the component.
# @return [String]
#
# @!attribute [rw] encrypted
# The encryption status of the component.
# @return [Boolean]
#
# @!attribute [rw] date_created
# The date that the component was created.
# @return [String]
#
# @!attribute [rw] tags
# The tags associated with the component.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Component AWS API Documentation
#
class Component < Struct.new(
:arn,
:name,
:version,
:description,
:change_description,
:type,
:platform,
:supported_os_versions,
:state,
:parameters,
:owner,
:data,
:kms_key_id,
:encrypted,
:date_created,
:tags)
SENSITIVE = []
include Aws::Structure
end
# Configuration details of the component.
#
# @note When making an API call, you may pass ComponentConfiguration
# data as a hash:
#
# {
# component_arn: "ComponentVersionArnOrBuildVersionArn", # required
# parameters: [
# {
# name: "ComponentParameterName", # required
# value: ["ComponentParameterValue"], # required
# },
# ],
# }
#
# @!attribute [rw] component_arn
# The Amazon Resource Name (ARN) of the component.
# @return [String]
#
# @!attribute [rw] parameters
# A group of parameter settings that are used to configure the
# component for a specific recipe.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentConfiguration AWS API Documentation
#
class ComponentConfiguration < Struct.new(
:component_arn,
:parameters)
SENSITIVE = []
include Aws::Structure
end
# Contains a key/value pair that sets the named component parameter.
#
# @note When making an API call, you may pass ComponentParameter
# data as a hash:
#
# {
# name: "ComponentParameterName", # required
# value: ["ComponentParameterValue"], # required
# }
#
# @!attribute [rw] name
# The name of the component parameter to set.
# @return [String]
#
# @!attribute [rw] value
# Sets the value for the named component parameter.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentParameter AWS API Documentation
#
class ComponentParameter < Struct.new(
:name,
:value)
SENSITIVE = []
include Aws::Structure
end
# Defines a parameter that is used to provide configuration details for
# the component.
#
# @!attribute [rw] name
# The name of this input parameter.
# @return [String]
#
# @!attribute [rw] type
# The type of input this parameter provides. The currently supported
# value is "string".
# @return [String]
#
# @!attribute [rw] default_value
# The default value of this parameter if no input is provided.
# @return [Array]
#
# @!attribute [rw] description
# Describes this parameter.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentParameterDetail AWS API Documentation
#
class ComponentParameterDetail < Struct.new(
:name,
:type,
:default_value,
:description)
SENSITIVE = []
include Aws::Structure
end
# A group of fields that describe the current status of components that
# are no longer active.
#
# @!attribute [rw] status
# The current state of the component.
# @return [String]
#
# @!attribute [rw] reason
# Describes how or why the component changed state.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentState AWS API Documentation
#
class ComponentState < Struct.new(
:status,
:reason)
SENSITIVE = []
include Aws::Structure
end
# A high-level summary of a component.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the component.
# @return [String]
#
# @!attribute [rw] name
# The name of the component.
# @return [String]
#
# @!attribute [rw] version
# The version of the component.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the component.
# @return [String]
#
# @!attribute [rw] supported_os_versions
# The operating system (OS) version supported by the component. If the
# OS information is available, a prefix match is performed against the
# base image OS version during image recipe creation.
# @return [Array]
#
# @!attribute [rw] state
# Describes the current status of the component.
# @return [Types::ComponentState]
#
# @!attribute [rw] type
# The type of the component denotes whether the component is used to
# build the image or only to test it.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the component.
# @return [String]
#
# @!attribute [rw] description
# The description of the component.
# @return [String]
#
# @!attribute [rw] change_description
# The change description of the component.
# @return [String]
#
# @!attribute [rw] date_created
# The date that the component was created.
# @return [String]
#
# @!attribute [rw] tags
# The tags associated with the component.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentSummary AWS API Documentation
#
class ComponentSummary < Struct.new(
:arn,
:name,
:version,
:platform,
:supported_os_versions,
:state,
:type,
:owner,
:description,
:change_description,
:date_created,
:tags)
SENSITIVE = []
include Aws::Structure
end
# The defining characteristics of a specific version of an Amazon Web
# Services TOE component.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the component.
#
# Semantic versioning is included in each object's Amazon Resource
# Name (ARN), at the level that applies to that object as follows:
#
# 1. Versionless ARNs and Name ARNs do not include specific values in
# any of the nodes. The nodes are either left off entirely, or
# they are specified as wildcards, for example: x.x.x.
#
# 2. Version ARNs have only the first three nodes:
# <major>.<minor>.<patch>
#
# 3. Build version ARNs have all four nodes, and point to a specific
# build for a specific version of an object.
#
#
# @return [String]
#
# @!attribute [rw] name
# The name of the component.
# @return [String]
#
# @!attribute [rw] version
# The semantic version of the component.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [String]
#
# @!attribute [rw] description
# The description of the component.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the component.
# @return [String]
#
# @!attribute [rw] supported_os_versions
# he operating system (OS) version supported by the component. If the
# OS information is available, a prefix match is performed against the
# base image OS version during image recipe creation.
# @return [Array]
#
# @!attribute [rw] type
# The type of the component denotes whether the component is used to
# build the image or only to test it.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the component.
# @return [String]
#
# @!attribute [rw] date_created
# The date that the component was created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ComponentVersion AWS API Documentation
#
class ComponentVersion < Struct.new(
:arn,
:name,
:version,
:description,
:platform,
:supported_os_versions,
:type,
:owner,
:date_created)
SENSITIVE = []
include Aws::Structure
end
# A container encapsulates the runtime environment for an application.
#
# @!attribute [rw] region
# Containers and container images are Region-specific. This is the
# Region context for the container.
# @return [String]
#
# @!attribute [rw] image_uris
# A list of URIs for containers created in the context Region.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Container AWS API Documentation
#
class Container < Struct.new(
:region,
:image_uris)
SENSITIVE = []
include Aws::Structure
end
# Container distribution settings for encryption, licensing, and sharing
# in a specific Region.
#
# @note When making an API call, you may pass ContainerDistributionConfiguration
# data as a hash:
#
# {
# description: "NonEmptyString",
# container_tags: ["NonEmptyString"],
# target_repository: { # required
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# },
# }
#
# @!attribute [rw] description
# The description of the container distribution configuration.
# @return [String]
#
# @!attribute [rw] container_tags
# Tags that are attached to the container distribution configuration.
# @return [Array]
#
# @!attribute [rw] target_repository
# The destination repository for the container distribution
# configuration.
# @return [Types::TargetContainerRepository]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerDistributionConfiguration AWS API Documentation
#
class ContainerDistributionConfiguration < Struct.new(
:description,
:container_tags,
:target_repository)
SENSITIVE = []
include Aws::Structure
end
# A container recipe.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the container recipe.
#
# Semantic versioning is included in each object's Amazon Resource
# Name (ARN), at the level that applies to that object as follows:
#
# 1. Versionless ARNs and Name ARNs do not include specific values in
# any of the nodes. The nodes are either left off entirely, or
# they are specified as wildcards, for example: x.x.x.
#
# 2. Version ARNs have only the first three nodes:
# <major>.<minor>.<patch>
#
# 3. Build version ARNs have all four nodes, and point to a specific
# build for a specific version of an object.
#
#
# @return [String]
#
# @!attribute [rw] container_type
# Specifies the type of container, such as Docker.
# @return [String]
#
# @!attribute [rw] name
# The name of the container recipe.
# @return [String]
#
# @!attribute [rw] description
# The description of the container recipe.
# @return [String]
#
# @!attribute [rw] platform
# The system platform for the container, such as Windows or Linux.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the container recipe.
# @return [String]
#
# @!attribute [rw] version
# The semantic version of the container recipe.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [String]
#
# @!attribute [rw] components
# Components for build and test that are included in the container
# recipe.
# @return [Array]
#
# @!attribute [rw] instance_configuration
# A group of options that can be used to configure an instance for
# building and testing container images.
# @return [Types::InstanceConfiguration]
#
# @!attribute [rw] dockerfile_template_data
# Dockerfiles are text documents that are used to build Docker
# containers, and ensure that they contain all of the elements
# required by the application running inside. The template data
# consists of contextual variables where Image Builder places build
# information or scripts, based on your container image recipe.
# @return [String]
#
# @!attribute [rw] kms_key_id
# Identifies which KMS key is used to encrypt the container image for
# distribution to the target Region.
# @return [String]
#
# @!attribute [rw] encrypted
# A flag that indicates if the target container is encrypted.
# @return [Boolean]
#
# @!attribute [rw] parent_image
# The base image for the container recipe.
# @return [String]
#
# @!attribute [rw] date_created
# The date when this container recipe was created.
# @return [String]
#
# @!attribute [rw] tags
# Tags that are attached to the container recipe.
# @return [Hash]
#
# @!attribute [rw] working_directory
# The working directory for use during build and test workflows.
# @return [String]
#
# @!attribute [rw] target_repository
# The destination repository for the container image.
# @return [Types::TargetContainerRepository]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerRecipe AWS API Documentation
#
class ContainerRecipe < Struct.new(
:arn,
:container_type,
:name,
:description,
:platform,
:owner,
:version,
:components,
:instance_configuration,
:dockerfile_template_data,
:kms_key_id,
:encrypted,
:parent_image,
:date_created,
:tags,
:working_directory,
:target_repository)
SENSITIVE = []
include Aws::Structure
end
# A summary of a container recipe
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the container recipe.
# @return [String]
#
# @!attribute [rw] container_type
# Specifies the type of container, such as "Docker".
# @return [String]
#
# @!attribute [rw] name
# The name of the container recipe.
# @return [String]
#
# @!attribute [rw] platform
# The system platform for the container, such as Windows or Linux.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the container recipe.
# @return [String]
#
# @!attribute [rw] parent_image
# The base image for the container recipe.
# @return [String]
#
# @!attribute [rw] date_created
# The date when this container recipe was created.
# @return [String]
#
# @!attribute [rw] tags
# Tags that are attached to the container recipe.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerRecipeSummary AWS API Documentation
#
class ContainerRecipeSummary < Struct.new(
:arn,
:container_type,
:name,
:platform,
:owner,
:parent_image,
:date_created,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateComponentRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# semantic_version: "VersionNumber", # required
# description: "NonEmptyString",
# change_description: "NonEmptyString",
# platform: "Windows", # required, accepts Windows, Linux
# supported_os_versions: ["OsVersion"],
# data: "InlineComponentData",
# uri: "Uri",
# kms_key_id: "NonEmptyString",
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the component.
# @return [String]
#
# @!attribute [rw] semantic_version
# The semantic version of the component. This version follows the
# semantic version syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
#
# @return [String]
#
# @!attribute [rw] description
# The description of the component. Describes the contents of the
# component.
# @return [String]
#
# @!attribute [rw] change_description
# The change description of the component. Describes what change has
# been made in this version, or what makes this version different from
# other versions of this component.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the component.
# @return [String]
#
# @!attribute [rw] supported_os_versions
# The operating system (OS) version supported by the component. If the
# OS information is available, a prefix match is performed against the
# base image OS version during image recipe creation.
# @return [Array]
#
# @!attribute [rw] data
# Component `data` contains inline YAML document content for the
# component. Alternatively, you can specify the `uri` of a YAML
# document file stored in Amazon S3. However, you cannot specify both
# properties.
# @return [String]
#
# @!attribute [rw] uri
# The `uri` of a YAML component document file. This must be an S3 URL
# (`s3://bucket/key`), and the requester must have permission to
# access the S3 bucket it points to. If you use Amazon S3, you can
# specify component content up to your service quota.
#
# Alternatively, you can specify the YAML document inline, using the
# component `data` property. You cannot specify both properties.
# @return [String]
#
# @!attribute [rw] kms_key_id
# The ID of the KMS key that should be used to encrypt this component.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the component.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token of the component.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponentRequest AWS API Documentation
#
class CreateComponentRequest < Struct.new(
:name,
:semantic_version,
:description,
:change_description,
:platform,
:supported_os_versions,
:data,
:uri,
:kms_key_id,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] component_build_version_arn
# The Amazon Resource Name (ARN) of the component that was created by
# this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponentResponse AWS API Documentation
#
class CreateComponentResponse < Struct.new(
:request_id,
:client_token,
:component_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateContainerRecipeRequest
# data as a hash:
#
# {
# container_type: "DOCKER", # required, accepts DOCKER
# name: "ResourceName", # required
# description: "NonEmptyString",
# semantic_version: "VersionNumber", # required
# components: [ # required
# {
# component_arn: "ComponentVersionArnOrBuildVersionArn", # required
# parameters: [
# {
# name: "ComponentParameterName", # required
# value: ["ComponentParameterValue"], # required
# },
# ],
# },
# ],
# instance_configuration: {
# image: "NonEmptyString",
# block_device_mappings: [
# {
# device_name: "NonEmptyString",
# ebs: {
# encrypted: false,
# delete_on_termination: false,
# iops: 1,
# kms_key_id: "NonEmptyString",
# snapshot_id: "NonEmptyString",
# volume_size: 1,
# volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
# throughput: 1,
# },
# virtual_name: "NonEmptyString",
# no_device: "EmptyString",
# },
# ],
# },
# dockerfile_template_data: "InlineDockerFileTemplate",
# dockerfile_template_uri: "Uri",
# platform_override: "Windows", # accepts Windows, Linux
# image_os_version_override: "NonEmptyString",
# parent_image: "NonEmptyString", # required
# tags: {
# "TagKey" => "TagValue",
# },
# working_directory: "NonEmptyString",
# target_repository: { # required
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# },
# kms_key_id: "NonEmptyString",
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] container_type
# The type of container to create.
# @return [String]
#
# @!attribute [rw] name
# The name of the container recipe.
# @return [String]
#
# @!attribute [rw] description
# The description of the container recipe.
# @return [String]
#
# @!attribute [rw] semantic_version
# The semantic version of the container recipe. This version follows
# the semantic version syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
#
# @return [String]
#
# @!attribute [rw] components
# Components for build and test that are included in the container
# recipe.
# @return [Array]
#
# @!attribute [rw] instance_configuration
# A group of options that can be used to configure an instance for
# building and testing container images.
# @return [Types::InstanceConfiguration]
#
# @!attribute [rw] dockerfile_template_data
# The Dockerfile template used to build your image as an inline data
# blob.
# @return [String]
#
# @!attribute [rw] dockerfile_template_uri
# The Amazon S3 URI for the Dockerfile that will be used to build your
# container image.
# @return [String]
#
# @!attribute [rw] platform_override
# Specifies the operating system platform when you use a custom base
# image.
# @return [String]
#
# @!attribute [rw] image_os_version_override
# Specifies the operating system version for the base image.
# @return [String]
#
# @!attribute [rw] parent_image
# The base image for the container recipe.
# @return [String]
#
# @!attribute [rw] tags
# Tags that are attached to the container recipe.
# @return [Hash]
#
# @!attribute [rw] working_directory
# The working directory for use during build and test workflows.
# @return [String]
#
# @!attribute [rw] target_repository
# The destination repository for the container image.
# @return [Types::TargetContainerRepository]
#
# @!attribute [rw] kms_key_id
# Identifies which KMS key is used to encrypt the container image.
# @return [String]
#
# @!attribute [rw] client_token
# The client token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipeRequest AWS API Documentation
#
class CreateContainerRecipeRequest < Struct.new(
:container_type,
:name,
:description,
:semantic_version,
:components,
:instance_configuration,
:dockerfile_template_data,
:dockerfile_template_uri,
:platform_override,
:image_os_version_override,
:parent_image,
:tags,
:working_directory,
:target_repository,
:kms_key_id,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The client token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# Returns the Amazon Resource Name (ARN) of the container recipe that
# the request created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipeResponse AWS API Documentation
#
class CreateContainerRecipeResponse < Struct.new(
:request_id,
:client_token,
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateDistributionConfigurationRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# description: "NonEmptyString",
# distributions: [ # required
# {
# region: "NonEmptyString", # required
# ami_distribution_configuration: {
# name: "AmiNameString",
# description: "NonEmptyString",
# target_account_ids: ["AccountId"],
# ami_tags: {
# "TagKey" => "TagValue",
# },
# kms_key_id: "NonEmptyString",
# launch_permission: {
# user_ids: ["AccountId"],
# user_groups: ["NonEmptyString"],
# organization_arns: ["OrganizationArn"],
# organizational_unit_arns: ["OrganizationalUnitArn"],
# },
# },
# container_distribution_configuration: {
# description: "NonEmptyString",
# container_tags: ["NonEmptyString"],
# target_repository: { # required
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# },
# },
# license_configuration_arns: ["LicenseConfigurationArn"],
# launch_template_configurations: [
# {
# launch_template_id: "LaunchTemplateId", # required
# account_id: "AccountId",
# set_default_version: false,
# },
# ],
# s3_export_configuration: {
# role_name: "NonEmptyString", # required
# disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
# s3_bucket: "NonEmptyString", # required
# s3_prefix: "NonEmptyString",
# },
# fast_launch_configurations: [
# {
# enabled: false, # required
# snapshot_configuration: {
# target_resource_count: 1,
# },
# max_parallel_launches: 1,
# launch_template: {
# launch_template_id: "LaunchTemplateId",
# launch_template_name: "NonEmptyString",
# launch_template_version: "NonEmptyString",
# },
# account_id: "AccountId",
# },
# ],
# },
# ],
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the distribution configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the distribution configuration.
# @return [String]
#
# @!attribute [rw] distributions
# The distributions of the distribution configuration.
# @return [Array]
#
# @!attribute [rw] tags
# The tags of the distribution configuration.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token of the distribution configuration.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfigurationRequest AWS API Documentation
#
class CreateDistributionConfigurationRequest < Struct.new(
:name,
:description,
:distributions,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that was created by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfigurationResponse AWS API Documentation
#
class CreateDistributionConfigurationResponse < Struct.new(
:request_id,
:client_token,
:distribution_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateImagePipelineRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# description: "NonEmptyString",
# image_recipe_arn: "ImageRecipeArn",
# container_recipe_arn: "ContainerRecipeArn",
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# distribution_configuration_arn: "DistributionConfigurationArn",
# image_tests_configuration: {
# image_tests_enabled: false,
# timeout_minutes: 1,
# },
# enhanced_image_metadata_enabled: false,
# schedule: {
# schedule_expression: "NonEmptyString",
# timezone: "Timezone",
# pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
# },
# status: "DISABLED", # accepts DISABLED, ENABLED
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the image pipeline.
# @return [String]
#
# @!attribute [rw] description
# The description of the image pipeline.
# @return [String]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that will be used
# to configure images created by this image pipeline.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that is used
# to configure images created by this container pipeline.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that will be used to build images created by this image pipeline.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that will be used to configure and distribute images created by this
# image pipeline.
# @return [String]
#
# @!attribute [rw] image_tests_configuration
# The image test configuration of the image pipeline.
# @return [Types::ImageTestsConfiguration]
#
# @!attribute [rw] enhanced_image_metadata_enabled
# Collects additional information about the image being created,
# including the operating system (OS) version and package list. This
# information is used to enhance the overall experience of using EC2
# Image Builder. Enabled by default.
# @return [Boolean]
#
# @!attribute [rw] schedule
# The schedule of the image pipeline.
# @return [Types::Schedule]
#
# @!attribute [rw] status
# The status of the image pipeline.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the image pipeline.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipelineRequest AWS API Documentation
#
class CreateImagePipelineRequest < Struct.new(
:name,
:description,
:image_recipe_arn,
:container_recipe_arn,
:infrastructure_configuration_arn,
:distribution_configuration_arn,
:image_tests_configuration,
:enhanced_image_metadata_enabled,
:schedule,
:status,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that was
# created by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipelineResponse AWS API Documentation
#
class CreateImagePipelineResponse < Struct.new(
:request_id,
:client_token,
:image_pipeline_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateImageRecipeRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# description: "NonEmptyString",
# semantic_version: "VersionNumber", # required
# components: [ # required
# {
# component_arn: "ComponentVersionArnOrBuildVersionArn", # required
# parameters: [
# {
# name: "ComponentParameterName", # required
# value: ["ComponentParameterValue"], # required
# },
# ],
# },
# ],
# parent_image: "NonEmptyString", # required
# block_device_mappings: [
# {
# device_name: "NonEmptyString",
# ebs: {
# encrypted: false,
# delete_on_termination: false,
# iops: 1,
# kms_key_id: "NonEmptyString",
# snapshot_id: "NonEmptyString",
# volume_size: 1,
# volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
# throughput: 1,
# },
# virtual_name: "NonEmptyString",
# no_device: "EmptyString",
# },
# ],
# tags: {
# "TagKey" => "TagValue",
# },
# working_directory: "NonEmptyString",
# additional_instance_configuration: {
# systems_manager_agent: {
# uninstall_after_build: false,
# },
# user_data_override: "UserDataOverride",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the image recipe.
# @return [String]
#
# @!attribute [rw] description
# The description of the image recipe.
# @return [String]
#
# @!attribute [rw] semantic_version
# The semantic version of the image recipe. This version follows the
# semantic version syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
#
# @return [String]
#
# @!attribute [rw] components
# The components of the image recipe.
# @return [Array]
#
# @!attribute [rw] parent_image
# The base image of the image recipe. The value of the string can be
# the ARN of the base image or an AMI ID. The format for the ARN
# follows this example:
# `arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x`.
# You can provide the specific version that you want to use, or you
# can use a wildcard in all of the fields. If you enter an AMI ID for
# the string value, you must have access to the AMI, and the AMI must
# be in the same Region in which you are using Image Builder.
# @return [String]
#
# @!attribute [rw] block_device_mappings
# The block device mappings of the image recipe.
# @return [Array]
#
# @!attribute [rw] tags
# The tags of the image recipe.
# @return [Hash]
#
# @!attribute [rw] working_directory
# The working directory used during build and test workflows.
# @return [String]
#
# @!attribute [rw] additional_instance_configuration
# Specify additional settings and launch scripts for your build
# instances.
# @return [Types::AdditionalInstanceConfiguration]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipeRequest AWS API Documentation
#
class CreateImageRecipeRequest < Struct.new(
:name,
:description,
:semantic_version,
:components,
:parent_image,
:block_device_mappings,
:tags,
:working_directory,
:additional_instance_configuration,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that was created
# by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipeResponse AWS API Documentation
#
class CreateImageRecipeResponse < Struct.new(
:request_id,
:client_token,
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateImageRequest
# data as a hash:
#
# {
# image_recipe_arn: "ImageRecipeArn",
# container_recipe_arn: "ContainerRecipeArn",
# distribution_configuration_arn: "DistributionConfigurationArn",
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# image_tests_configuration: {
# image_tests_enabled: false,
# timeout_minutes: 1,
# },
# enhanced_image_metadata_enabled: false,
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that defines how
# images are configured, tested, and assessed.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that defines
# how images are configured and tested.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that defines and configures the outputs of your pipeline.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that defines the environment in which your image will be built and
# tested.
# @return [String]
#
# @!attribute [rw] image_tests_configuration
# The image tests configuration of the image.
# @return [Types::ImageTestsConfiguration]
#
# @!attribute [rw] enhanced_image_metadata_enabled
# Collects additional information about the image being created,
# including the operating system (OS) version and package list. This
# information is used to enhance the overall experience of using EC2
# Image Builder. Enabled by default.
# @return [Boolean]
#
# @!attribute [rw] tags
# The tags of the image.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRequest AWS API Documentation
#
class CreateImageRequest < Struct.new(
:image_recipe_arn,
:container_recipe_arn,
:distribution_configuration_arn,
:infrastructure_configuration_arn,
:image_tests_configuration,
:enhanced_image_metadata_enabled,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the image that was created by this
# request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageResponse AWS API Documentation
#
class CreateImageResponse < Struct.new(
:request_id,
:client_token,
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateInfrastructureConfigurationRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# description: "NonEmptyString",
# instance_types: ["InstanceType"],
# instance_profile_name: "InstanceProfileNameType", # required
# security_group_ids: ["NonEmptyString"],
# subnet_id: "NonEmptyString",
# logging: {
# s3_logs: {
# s3_bucket_name: "NonEmptyString",
# s3_key_prefix: "NonEmptyString",
# },
# },
# key_pair: "NonEmptyString",
# terminate_instance_on_failure: false,
# sns_topic_arn: "SnsTopicArn",
# resource_tags: {
# "TagKey" => "TagValue",
# },
# instance_metadata_options: {
# http_tokens: "HttpTokens",
# http_put_response_hop_limit: 1,
# },
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] instance_types
# The instance types of the infrastructure configuration. You can
# specify one or more instance types to use for this build. The
# service will pick one of these instance types based on availability.
# @return [Array]
#
# @!attribute [rw] instance_profile_name
# The instance profile to associate with the instance used to
# customize your Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] security_group_ids
# The security group IDs to associate with the instance used to
# customize your Amazon EC2 AMI.
# @return [Array]
#
# @!attribute [rw] subnet_id
# The subnet ID in which to place the instance used to customize your
# Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] logging
# The logging configuration of the infrastructure configuration.
# @return [Types::Logging]
#
# @!attribute [rw] key_pair
# The key pair of the infrastructure configuration. You can use this
# to log on to and debug the instance used to create your image.
# @return [String]
#
# @!attribute [rw] terminate_instance_on_failure
# The terminate instance on failure setting of the infrastructure
# configuration. Set to false if you want Image Builder to retain the
# instance used to configure your AMI if the build or test phase of
# your workflow fails.
# @return [Boolean]
#
# @!attribute [rw] sns_topic_arn
# The Amazon Resource Name (ARN) for the SNS topic to which we send
# image build event notifications.
#
# EC2 Image Builder is unable to send notifications to SNS topics that
# are encrypted using keys from other accounts. The key that is used
# to encrypt the SNS topic must reside in the account that the Image
# Builder service runs under.
#
#
# @return [String]
#
# @!attribute [rw] resource_tags
# The tags attached to the resource created by Image Builder.
# @return [Hash]
#
# @!attribute [rw] instance_metadata_options
# The instance metadata options that you can set for the HTTP requests
# that pipeline builds use to launch EC2 build and test instances.
# @return [Types::InstanceMetadataOptions]
#
# @!attribute [rw] tags
# The tags of the infrastructure configuration.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfigurationRequest AWS API Documentation
#
class CreateInfrastructureConfigurationRequest < Struct.new(
:name,
:description,
:instance_types,
:instance_profile_name,
:security_group_ids,
:subnet_id,
:logging,
:key_pair,
:terminate_instance_on_failure,
:sns_topic_arn,
:resource_tags,
:instance_metadata_options,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that was created by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfigurationResponse AWS API Documentation
#
class CreateInfrastructureConfigurationResponse < Struct.new(
:request_id,
:client_token,
:infrastructure_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteComponentRequest
# data as a hash:
#
# {
# component_build_version_arn: "ComponentBuildVersionArn", # required
# }
#
# @!attribute [rw] component_build_version_arn
# The Amazon Resource Name (ARN) of the component build version to
# delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponentRequest AWS API Documentation
#
class DeleteComponentRequest < Struct.new(
:component_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] component_build_version_arn
# The Amazon Resource Name (ARN) of the component build version that
# was deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponentResponse AWS API Documentation
#
class DeleteComponentResponse < Struct.new(
:request_id,
:component_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteContainerRecipeRequest
# data as a hash:
#
# {
# container_recipe_arn: "ContainerRecipeArn", # required
# }
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipeRequest AWS API Documentation
#
class DeleteContainerRecipeRequest < Struct.new(
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that was
# deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipeResponse AWS API Documentation
#
class DeleteContainerRecipeResponse < Struct.new(
:request_id,
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteDistributionConfigurationRequest
# data as a hash:
#
# {
# distribution_configuration_arn: "DistributionConfigurationArn", # required
# }
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration to
# delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfigurationRequest AWS API Documentation
#
class DeleteDistributionConfigurationRequest < Struct.new(
:distribution_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that was deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfigurationResponse AWS API Documentation
#
class DeleteDistributionConfigurationResponse < Struct.new(
:request_id,
:distribution_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteImagePipelineRequest
# data as a hash:
#
# {
# image_pipeline_arn: "ImagePipelineArn", # required
# }
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipelineRequest AWS API Documentation
#
class DeleteImagePipelineRequest < Struct.new(
:image_pipeline_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that was
# deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipelineResponse AWS API Documentation
#
class DeleteImagePipelineResponse < Struct.new(
:request_id,
:image_pipeline_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteImageRecipeRequest
# data as a hash:
#
# {
# image_recipe_arn: "ImageRecipeArn", # required
# }
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipeRequest AWS API Documentation
#
class DeleteImageRecipeRequest < Struct.new(
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that was deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipeResponse AWS API Documentation
#
class DeleteImageRecipeResponse < Struct.new(
:request_id,
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteImageRequest
# data as a hash:
#
# {
# image_build_version_arn: "ImageBuildVersionArn", # required
# }
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the Image Builder image resource
# to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRequest AWS API Documentation
#
class DeleteImageRequest < Struct.new(
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the Image Builder image resource
# that was deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageResponse AWS API Documentation
#
class DeleteImageResponse < Struct.new(
:request_id,
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteInfrastructureConfigurationRequest
# data as a hash:
#
# {
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# }
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfigurationRequest AWS API Documentation
#
class DeleteInfrastructureConfigurationRequest < Struct.new(
:infrastructure_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that was deleted.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfigurationResponse AWS API Documentation
#
class DeleteInfrastructureConfigurationResponse < Struct.new(
:request_id,
:infrastructure_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# Defines the settings for a specific Region.
#
# @note When making an API call, you may pass Distribution
# data as a hash:
#
# {
# region: "NonEmptyString", # required
# ami_distribution_configuration: {
# name: "AmiNameString",
# description: "NonEmptyString",
# target_account_ids: ["AccountId"],
# ami_tags: {
# "TagKey" => "TagValue",
# },
# kms_key_id: "NonEmptyString",
# launch_permission: {
# user_ids: ["AccountId"],
# user_groups: ["NonEmptyString"],
# organization_arns: ["OrganizationArn"],
# organizational_unit_arns: ["OrganizationalUnitArn"],
# },
# },
# container_distribution_configuration: {
# description: "NonEmptyString",
# container_tags: ["NonEmptyString"],
# target_repository: { # required
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# },
# },
# license_configuration_arns: ["LicenseConfigurationArn"],
# launch_template_configurations: [
# {
# launch_template_id: "LaunchTemplateId", # required
# account_id: "AccountId",
# set_default_version: false,
# },
# ],
# s3_export_configuration: {
# role_name: "NonEmptyString", # required
# disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
# s3_bucket: "NonEmptyString", # required
# s3_prefix: "NonEmptyString",
# },
# fast_launch_configurations: [
# {
# enabled: false, # required
# snapshot_configuration: {
# target_resource_count: 1,
# },
# max_parallel_launches: 1,
# launch_template: {
# launch_template_id: "LaunchTemplateId",
# launch_template_name: "NonEmptyString",
# launch_template_version: "NonEmptyString",
# },
# account_id: "AccountId",
# },
# ],
# }
#
# @!attribute [rw] region
# The target Region.
# @return [String]
#
# @!attribute [rw] ami_distribution_configuration
# The specific AMI settings; for example, launch permissions or AMI
# tags.
# @return [Types::AmiDistributionConfiguration]
#
# @!attribute [rw] container_distribution_configuration
# Container distribution settings for encryption, licensing, and
# sharing in a specific Region.
# @return [Types::ContainerDistributionConfiguration]
#
# @!attribute [rw] license_configuration_arns
# The License Manager Configuration to associate with the AMI in the
# specified Region.
# @return [Array]
#
# @!attribute [rw] launch_template_configurations
# A group of launchTemplateConfiguration settings that apply to image
# distribution for specified accounts.
# @return [Array]
#
# @!attribute [rw] s3_export_configuration
# Configure export settings to deliver disk images created from your
# image build, using a file format that is compatible with your VMs in
# that Region.
# @return [Types::S3ExportConfiguration]
#
# @!attribute [rw] fast_launch_configurations
# The Windows faster-launching configurations to use for AMI
# distribution.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Distribution AWS API Documentation
#
class Distribution < Struct.new(
:region,
:ami_distribution_configuration,
:container_distribution_configuration,
:license_configuration_arns,
:launch_template_configurations,
:s3_export_configuration,
:fast_launch_configurations)
SENSITIVE = []
include Aws::Structure
end
# A distribution configuration.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the distribution configuration.
# @return [String]
#
# @!attribute [rw] name
# The name of the distribution configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the distribution configuration.
# @return [String]
#
# @!attribute [rw] distributions
# The distribution objects that apply Region-specific settings for the
# deployment of the image to targeted Regions.
# @return [Array]
#
# @!attribute [rw] timeout_minutes
# The maximum duration in minutes for this distribution configuration.
# @return [Integer]
#
# @!attribute [rw] date_created
# The date on which this distribution configuration was created.
# @return [String]
#
# @!attribute [rw] date_updated
# The date on which this distribution configuration was last updated.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the distribution configuration.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DistributionConfiguration AWS API Documentation
#
class DistributionConfiguration < Struct.new(
:arn,
:name,
:description,
:distributions,
:timeout_minutes,
:date_created,
:date_updated,
:tags)
SENSITIVE = []
include Aws::Structure
end
# A high-level overview of a distribution configuration.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the distribution configuration.
# @return [String]
#
# @!attribute [rw] name
# The name of the distribution configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the distribution configuration.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which the distribution configuration was created.
# @return [String]
#
# @!attribute [rw] date_updated
# The date on which the distribution configuration was updated.
# @return [String]
#
# @!attribute [rw] tags
# The tags associated with the distribution configuration.
# @return [Hash]
#
# @!attribute [rw] regions
# A list of Regions where the container image is distributed to.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DistributionConfigurationSummary AWS API Documentation
#
class DistributionConfigurationSummary < Struct.new(
:arn,
:name,
:description,
:date_created,
:date_updated,
:tags,
:regions)
SENSITIVE = []
include Aws::Structure
end
# Amazon EBS-specific block device mapping specifications.
#
# @note When making an API call, you may pass EbsInstanceBlockDeviceSpecification
# data as a hash:
#
# {
# encrypted: false,
# delete_on_termination: false,
# iops: 1,
# kms_key_id: "NonEmptyString",
# snapshot_id: "NonEmptyString",
# volume_size: 1,
# volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
# throughput: 1,
# }
#
# @!attribute [rw] encrypted
# Use to configure device encryption.
# @return [Boolean]
#
# @!attribute [rw] delete_on_termination
# Use to configure delete on termination of the associated device.
# @return [Boolean]
#
# @!attribute [rw] iops
# Use to configure device IOPS.
# @return [Integer]
#
# @!attribute [rw] kms_key_id
# Use to configure the KMS key to use when encrypting the device.
# @return [String]
#
# @!attribute [rw] snapshot_id
# The snapshot that defines the device contents.
# @return [String]
#
# @!attribute [rw] volume_size
# Use to override the device's volume size.
# @return [Integer]
#
# @!attribute [rw] volume_type
# Use to override the device's volume type.
# @return [String]
#
# @!attribute [rw] throughput
# **For GP3 volumes only** – The throughput in MiB/s that the volume
# supports.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/EbsInstanceBlockDeviceSpecification AWS API Documentation
#
class EbsInstanceBlockDeviceSpecification < Struct.new(
:encrypted,
:delete_on_termination,
:iops,
:kms_key_id,
:snapshot_id,
:volume_size,
:volume_type,
:throughput)
SENSITIVE = []
include Aws::Structure
end
# Define and configure faster launching for output Windows AMIs.
#
# @note When making an API call, you may pass FastLaunchConfiguration
# data as a hash:
#
# {
# enabled: false, # required
# snapshot_configuration: {
# target_resource_count: 1,
# },
# max_parallel_launches: 1,
# launch_template: {
# launch_template_id: "LaunchTemplateId",
# launch_template_name: "NonEmptyString",
# launch_template_version: "NonEmptyString",
# },
# account_id: "AccountId",
# }
#
# @!attribute [rw] enabled
# A Boolean that represents the current state of faster launching for
# the Windows AMI. Set to `true` to start using Windows faster
# launching, or `false` to stop using it.
# @return [Boolean]
#
# @!attribute [rw] snapshot_configuration
# Configuration settings for managing the number of snapshots that are
# created from pre-provisioned instances for the Windows AMI when
# faster launching is enabled.
# @return [Types::FastLaunchSnapshotConfiguration]
#
# @!attribute [rw] max_parallel_launches
# The maximum number of parallel instances that are launched for
# creating resources.
# @return [Integer]
#
# @!attribute [rw] launch_template
# The launch template that the fast-launch enabled Windows AMI uses
# when it launches Windows instances to create pre-provisioned
# snapshots.
# @return [Types::FastLaunchLaunchTemplateSpecification]
#
# @!attribute [rw] account_id
# The owner account ID for the fast-launch enabled Windows AMI.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchConfiguration AWS API Documentation
#
class FastLaunchConfiguration < Struct.new(
:enabled,
:snapshot_configuration,
:max_parallel_launches,
:launch_template,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# Identifies the launch template that the associated Windows AMI uses
# for launching an instance when faster launching is enabled.
#
# You can specify either the `launchTemplateName` or the
# `launchTemplateId`, but not both.
#
#
#
# @note When making an API call, you may pass FastLaunchLaunchTemplateSpecification
# data as a hash:
#
# {
# launch_template_id: "LaunchTemplateId",
# launch_template_name: "NonEmptyString",
# launch_template_version: "NonEmptyString",
# }
#
# @!attribute [rw] launch_template_id
# The ID of the launch template to use for faster launching for a
# Windows AMI.
# @return [String]
#
# @!attribute [rw] launch_template_name
# The name of the launch template to use for faster launching for a
# Windows AMI.
# @return [String]
#
# @!attribute [rw] launch_template_version
# The version of the launch template to use for faster launching for a
# Windows AMI.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchLaunchTemplateSpecification AWS API Documentation
#
class FastLaunchLaunchTemplateSpecification < Struct.new(
:launch_template_id,
:launch_template_name,
:launch_template_version)
SENSITIVE = []
include Aws::Structure
end
# Configuration settings for creating and managing pre-provisioned
# snapshots for a fast-launch enabled Windows AMI.
#
# @note When making an API call, you may pass FastLaunchSnapshotConfiguration
# data as a hash:
#
# {
# target_resource_count: 1,
# }
#
# @!attribute [rw] target_resource_count
# The number of pre-provisioned snapshots to keep on hand for a
# fast-launch enabled Windows AMI.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchSnapshotConfiguration AWS API Documentation
#
class FastLaunchSnapshotConfiguration < Struct.new(
:target_resource_count)
SENSITIVE = []
include Aws::Structure
end
# A filter name and value pair that is used to return a more specific
# list of results from a list operation. Filters can be used to match a
# set of resources by specific criteria, such as tags, attributes, or
# IDs.
#
# @note When making an API call, you may pass Filter
# data as a hash:
#
# {
# name: "FilterName",
# values: ["FilterValue"],
# }
#
# @!attribute [rw] name
# The name of the filter. Filter names are case-sensitive.
# @return [String]
#
# @!attribute [rw] values
# The filter values. Filter values are case-sensitive.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Filter AWS API Documentation
#
class Filter < Struct.new(
:name,
:values)
SENSITIVE = []
include Aws::Structure
end
# You are not authorized to perform the requested operation.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ForbiddenException AWS API Documentation
#
class ForbiddenException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetComponentPolicyRequest
# data as a hash:
#
# {
# component_arn: "ComponentBuildVersionArn", # required
# }
#
# @!attribute [rw] component_arn
# The Amazon Resource Name (ARN) of the component whose policy you
# want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyRequest AWS API Documentation
#
class GetComponentPolicyRequest < Struct.new(
:component_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] policy
# The component policy.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyResponse AWS API Documentation
#
class GetComponentPolicyResponse < Struct.new(
:request_id,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetComponentRequest
# data as a hash:
#
# {
# component_build_version_arn: "ComponentVersionArnOrBuildVersionArn", # required
# }
#
# @!attribute [rw] component_build_version_arn
# The Amazon Resource Name (ARN) of the component that you want to
# retrieve. Regex requires "/\\d+$" suffix.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentRequest AWS API Documentation
#
class GetComponentRequest < Struct.new(
:component_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] component
# The component object associated with the specified ARN.
# @return [Types::Component]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentResponse AWS API Documentation
#
class GetComponentResponse < Struct.new(
:request_id,
:component)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetContainerRecipePolicyRequest
# data as a hash:
#
# {
# container_recipe_arn: "ContainerRecipeArn", # required
# }
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe for the
# policy being requested.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicyRequest AWS API Documentation
#
class GetContainerRecipePolicyRequest < Struct.new(
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] policy
# The container recipe policy object that is returned.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicyResponse AWS API Documentation
#
class GetContainerRecipePolicyResponse < Struct.new(
:request_id,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetContainerRecipeRequest
# data as a hash:
#
# {
# container_recipe_arn: "ContainerRecipeArn", # required
# }
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipeRequest AWS API Documentation
#
class GetContainerRecipeRequest < Struct.new(
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] container_recipe
# The container recipe object that is returned.
# @return [Types::ContainerRecipe]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipeResponse AWS API Documentation
#
class GetContainerRecipeResponse < Struct.new(
:request_id,
:container_recipe)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetDistributionConfigurationRequest
# data as a hash:
#
# {
# distribution_configuration_arn: "DistributionConfigurationArn", # required
# }
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that you want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetDistributionConfigurationRequest AWS API Documentation
#
class GetDistributionConfigurationRequest < Struct.new(
:distribution_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] distribution_configuration
# The distribution configuration object.
# @return [Types::DistributionConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetDistributionConfigurationResponse AWS API Documentation
#
class GetDistributionConfigurationResponse < Struct.new(
:request_id,
:distribution_configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetImagePipelineRequest
# data as a hash:
#
# {
# image_pipeline_arn: "ImagePipelineArn", # required
# }
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that you want
# to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePipelineRequest AWS API Documentation
#
class GetImagePipelineRequest < Struct.new(
:image_pipeline_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_pipeline
# The image pipeline object.
# @return [Types::ImagePipeline]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePipelineResponse AWS API Documentation
#
class GetImagePipelineResponse < Struct.new(
:request_id,
:image_pipeline)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetImagePolicyRequest
# data as a hash:
#
# {
# image_arn: "ImageBuildVersionArn", # required
# }
#
# @!attribute [rw] image_arn
# The Amazon Resource Name (ARN) of the image whose policy you want to
# retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePolicyRequest AWS API Documentation
#
class GetImagePolicyRequest < Struct.new(
:image_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] policy
# The image policy object.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePolicyResponse AWS API Documentation
#
class GetImagePolicyResponse < Struct.new(
:request_id,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetImageRecipePolicyRequest
# data as a hash:
#
# {
# image_recipe_arn: "ImageRecipeArn", # required
# }
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe whose policy you
# want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipePolicyRequest AWS API Documentation
#
class GetImageRecipePolicyRequest < Struct.new(
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] policy
# The image recipe policy object.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipePolicyResponse AWS API Documentation
#
class GetImageRecipePolicyResponse < Struct.new(
:request_id,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetImageRecipeRequest
# data as a hash:
#
# {
# image_recipe_arn: "ImageRecipeArn", # required
# }
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that you want to
# retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipeRequest AWS API Documentation
#
class GetImageRecipeRequest < Struct.new(
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_recipe
# The image recipe object.
# @return [Types::ImageRecipe]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipeResponse AWS API Documentation
#
class GetImageRecipeResponse < Struct.new(
:request_id,
:image_recipe)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetImageRequest
# data as a hash:
#
# {
# image_build_version_arn: "ImageVersionArnOrBuildVersionArn", # required
# }
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the image that you want to
# retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRequest AWS API Documentation
#
class GetImageRequest < Struct.new(
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image
# The image object.
# @return [Types::Image]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageResponse AWS API Documentation
#
class GetImageResponse < Struct.new(
:request_id,
:image)
SENSITIVE = []
include Aws::Structure
end
# GetInfrastructureConfiguration request object.
#
# @note When making an API call, you may pass GetInfrastructureConfigurationRequest
# data as a hash:
#
# {
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# }
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that you want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetInfrastructureConfigurationRequest AWS API Documentation
#
class GetInfrastructureConfigurationRequest < Struct.new(
:infrastructure_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# GetInfrastructureConfiguration response object.
#
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration
# The infrastructure configuration object.
# @return [Types::InfrastructureConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetInfrastructureConfigurationResponse AWS API Documentation
#
class GetInfrastructureConfigurationResponse < Struct.new(
:request_id,
:infrastructure_configuration)
SENSITIVE = []
include Aws::Structure
end
# You have specified a client token for an operation using parameter
# values that differ from a previous request that used the same client
# token.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/IdempotentParameterMismatchException AWS API Documentation
#
class IdempotentParameterMismatchException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# An Image Builder image. You must specify exactly one recipe for the
# image – either a container recipe (`containerRecipe`), which creates a
# container image, or an image recipe (`imageRecipe`), which creates an
# AMI.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the image.
#
# Semantic versioning is included in each object's Amazon Resource
# Name (ARN), at the level that applies to that object as follows:
#
# 1. Versionless ARNs and Name ARNs do not include specific values in
# any of the nodes. The nodes are either left off entirely, or
# they are specified as wildcards, for example: x.x.x.
#
# 2. Version ARNs have only the first three nodes:
# <major>.<minor>.<patch>
#
# 3. Build version ARNs have all four nodes, and point to a specific
# build for a specific version of an object.
#
#
# @return [String]
#
# @!attribute [rw] type
# Specifies whether this is an AMI or container image.
# @return [String]
#
# @!attribute [rw] name
# The name of the image.
# @return [String]
#
# @!attribute [rw] version
# The semantic version of the image.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image.
# @return [String]
#
# @!attribute [rw] enhanced_image_metadata_enabled
# Collects additional information about the image being created,
# including the operating system (OS) version and package list. This
# information is used to enhance the overall experience of using EC2
# Image Builder. Enabled by default.
# @return [Boolean]
#
# @!attribute [rw] os_version
# The operating system version of the instance. For example, Amazon
# Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
# @return [String]
#
# @!attribute [rw] state
# The state of the image.
# @return [Types::ImageState]
#
# @!attribute [rw] image_recipe
# The image recipe used when creating the image.
# @return [Types::ImageRecipe]
#
# @!attribute [rw] container_recipe
# The recipe that is used to create an Image Builder container image.
# @return [Types::ContainerRecipe]
#
# @!attribute [rw] source_pipeline_name
# The name of the image pipeline that created this image.
# @return [String]
#
# @!attribute [rw] source_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that created
# this image.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration
# The infrastructure used when creating this image.
# @return [Types::InfrastructureConfiguration]
#
# @!attribute [rw] distribution_configuration
# The distribution configuration used when creating this image.
# @return [Types::DistributionConfiguration]
#
# @!attribute [rw] image_tests_configuration
# The image tests configuration used when creating this image.
# @return [Types::ImageTestsConfiguration]
#
# @!attribute [rw] date_created
# The date on which this image was created.
# @return [String]
#
# @!attribute [rw] output_resources
# The output resources produced when creating this image.
# @return [Types::OutputResources]
#
# @!attribute [rw] tags
# The tags of the image.
# @return [Hash]
#
# @!attribute [rw] build_type
# Indicates the type of build that created this image. The build can
# be initiated in the following ways:
#
# * **USER\_INITIATED** – A manual pipeline build request.
#
# * **SCHEDULED** – A pipeline build initiated by a cron expression in
# the Image Builder pipeline, or from EventBridge.
#
# * **IMPORT** – A VM import created the image to use as the base
# image for the recipe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Image AWS API Documentation
#
class Image < Struct.new(
:arn,
:type,
:name,
:version,
:platform,
:enhanced_image_metadata_enabled,
:os_version,
:state,
:image_recipe,
:container_recipe,
:source_pipeline_name,
:source_pipeline_arn,
:infrastructure_configuration,
:distribution_configuration,
:image_tests_configuration,
:date_created,
:output_resources,
:tags,
:build_type)
SENSITIVE = []
include Aws::Structure
end
# Represents a package installed on an Image Builder image.
#
# @!attribute [rw] package_name
# The name of the package as reported to the operating system package
# manager.
# @return [String]
#
# @!attribute [rw] package_version
# The version of the package as reported to the operating system
# package manager.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImagePackage AWS API Documentation
#
class ImagePackage < Struct.new(
:package_name,
:package_version)
SENSITIVE = []
include Aws::Structure
end
# Details of an image pipeline.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the image pipeline.
# @return [String]
#
# @!attribute [rw] name
# The name of the image pipeline.
# @return [String]
#
# @!attribute [rw] description
# The description of the image pipeline.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image pipeline.
# @return [String]
#
# @!attribute [rw] enhanced_image_metadata_enabled
# Collects additional information about the image being created,
# including the operating system (OS) version and package list. This
# information is used to enhance the overall experience of using EC2
# Image Builder. Enabled by default.
# @return [Boolean]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe associated with
# this image pipeline.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that is used
# for this pipeline.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# associated with this image pipeline.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# associated with this image pipeline.
# @return [String]
#
# @!attribute [rw] image_tests_configuration
# The image tests configuration of the image pipeline.
# @return [Types::ImageTestsConfiguration]
#
# @!attribute [rw] schedule
# The schedule of the image pipeline.
# @return [Types::Schedule]
#
# @!attribute [rw] status
# The status of the image pipeline.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which this image pipeline was created.
# @return [String]
#
# @!attribute [rw] date_updated
# The date on which this image pipeline was last updated.
# @return [String]
#
# @!attribute [rw] date_last_run
# The date on which this image pipeline was last run.
# @return [String]
#
# @!attribute [rw] date_next_run
# The date on which this image pipeline will next be run.
# @return [String]
#
# @!attribute [rw] tags
# The tags of this image pipeline.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImagePipeline AWS API Documentation
#
class ImagePipeline < Struct.new(
:arn,
:name,
:description,
:platform,
:enhanced_image_metadata_enabled,
:image_recipe_arn,
:container_recipe_arn,
:infrastructure_configuration_arn,
:distribution_configuration_arn,
:image_tests_configuration,
:schedule,
:status,
:date_created,
:date_updated,
:date_last_run,
:date_next_run,
:tags)
SENSITIVE = []
include Aws::Structure
end
# An image recipe.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the image recipe.
# @return [String]
#
# @!attribute [rw] type
# Specifies which type of image is created by the recipe - an AMI or a
# container image.
# @return [String]
#
# @!attribute [rw] name
# The name of the image recipe.
# @return [String]
#
# @!attribute [rw] description
# The description of the image recipe.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image recipe.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the image recipe.
# @return [String]
#
# @!attribute [rw] version
# The version of the image recipe.
# @return [String]
#
# @!attribute [rw] components
# The components of the image recipe.
# @return [Array]
#
# @!attribute [rw] parent_image
# The base image of the image recipe.
# @return [String]
#
# @!attribute [rw] block_device_mappings
# The block device mappings to apply when creating images from this
# recipe.
# @return [Array]
#
# @!attribute [rw] date_created
# The date on which this image recipe was created.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the image recipe.
# @return [Hash]
#
# @!attribute [rw] working_directory
# The working directory to be used during build and test workflows.
# @return [String]
#
# @!attribute [rw] additional_instance_configuration
# Before you create a new AMI, Image Builder launches temporary Amazon
# EC2 instances to build and test your image configuration. Instance
# configuration adds a layer of control over those instances. You can
# define settings and add scripts to run when an instance is launched
# from your AMI.
# @return [Types::AdditionalInstanceConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageRecipe AWS API Documentation
#
class ImageRecipe < Struct.new(
:arn,
:type,
:name,
:description,
:platform,
:owner,
:version,
:components,
:parent_image,
:block_device_mappings,
:date_created,
:tags,
:working_directory,
:additional_instance_configuration)
SENSITIVE = []
include Aws::Structure
end
# A summary of an image recipe.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the image recipe.
# @return [String]
#
# @!attribute [rw] name
# The name of the image recipe.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image recipe.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the image recipe.
# @return [String]
#
# @!attribute [rw] parent_image
# The base image of the image recipe.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which this image recipe was created.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the image recipe.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageRecipeSummary AWS API Documentation
#
class ImageRecipeSummary < Struct.new(
:arn,
:name,
:platform,
:owner,
:parent_image,
:date_created,
:tags)
SENSITIVE = []
include Aws::Structure
end
# Image state shows the image status and the reason for that status.
#
# @!attribute [rw] status
# The status of the image.
# @return [String]
#
# @!attribute [rw] reason
# The reason for the image's status.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageState AWS API Documentation
#
class ImageState < Struct.new(
:status,
:reason)
SENSITIVE = []
include Aws::Structure
end
# An image summary.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the image.
# @return [String]
#
# @!attribute [rw] name
# The name of the image.
# @return [String]
#
# @!attribute [rw] type
# Specifies whether this is an AMI or container image.
# @return [String]
#
# @!attribute [rw] version
# The version of the image.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image.
# @return [String]
#
# @!attribute [rw] os_version
# The operating system version of the instance. For example, Amazon
# Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
# @return [String]
#
# @!attribute [rw] state
# The state of the image.
# @return [Types::ImageState]
#
# @!attribute [rw] owner
# The owner of the image.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which this image was created.
# @return [String]
#
# @!attribute [rw] output_resources
# The output resources produced when creating this image.
# @return [Types::OutputResources]
#
# @!attribute [rw] tags
# The tags of the image.
# @return [Hash]
#
# @!attribute [rw] build_type
# Indicates the type of build that created this image. The build can
# be initiated in the following ways:
#
# * **USER\_INITIATED** – A manual pipeline build request.
#
# * **SCHEDULED** – A pipeline build initiated by a cron expression in
# the Image Builder pipeline, or from EventBridge.
#
# * **IMPORT** – A VM import created the image to use as the base
# image for the recipe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageSummary AWS API Documentation
#
class ImageSummary < Struct.new(
:arn,
:name,
:type,
:version,
:platform,
:os_version,
:state,
:owner,
:date_created,
:output_resources,
:tags,
:build_type)
SENSITIVE = []
include Aws::Structure
end
# Configure image tests for your pipeline build. Tests run after
# building the image, to verify that the AMI or container image is valid
# before distributing it.
#
# @note When making an API call, you may pass ImageTestsConfiguration
# data as a hash:
#
# {
# image_tests_enabled: false,
# timeout_minutes: 1,
# }
#
# @!attribute [rw] image_tests_enabled
# Determines if tests should run after building the image. Image
# Builder defaults to enable tests to run following the image build,
# before image distribution.
# @return [Boolean]
#
# @!attribute [rw] timeout_minutes
# The maximum time in minutes that tests are permitted to run.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageTestsConfiguration AWS API Documentation
#
class ImageTestsConfiguration < Struct.new(
:image_tests_enabled,
:timeout_minutes)
SENSITIVE = []
include Aws::Structure
end
# The defining characteristics of a specific version of an Image Builder
# image.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of a specific version of an Image
# Builder image.
#
# Semantic versioning is included in each object's Amazon Resource
# Name (ARN), at the level that applies to that object as follows:
#
# 1. Versionless ARNs and Name ARNs do not include specific values in
# any of the nodes. The nodes are either left off entirely, or
# they are specified as wildcards, for example: x.x.x.
#
# 2. Version ARNs have only the first three nodes:
# <major>.<minor>.<patch>
#
# 3. Build version ARNs have all four nodes, and point to a specific
# build for a specific version of an object.
#
#
# @return [String]
#
# @!attribute [rw] name
# The name of this specific version of an Image Builder image.
# @return [String]
#
# @!attribute [rw] type
# Specifies whether this image is an AMI or a container image.
# @return [String]
#
# @!attribute [rw] version
# Details for a specific version of an Image Builder image. This
# version follows the semantic version syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [String]
#
# @!attribute [rw] platform
# The platform of the image version, for example "Windows" or
# "Linux".
# @return [String]
#
# @!attribute [rw] os_version
# The operating system version of the Amazon EC2 build instance. For
# example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server
# 2019.
# @return [String]
#
# @!attribute [rw] owner
# The owner of the image version.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which this specific version of the Image Builder image
# was created.
# @return [String]
#
# @!attribute [rw] build_type
# Indicates the type of build that created this image. The build can
# be initiated in the following ways:
#
# * **USER\_INITIATED** – A manual pipeline build request.
#
# * **SCHEDULED** – A pipeline build initiated by a cron expression in
# the Image Builder pipeline, or from EventBridge.
#
# * **IMPORT** – A VM import created the image to use as the base
# image for the recipe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageVersion AWS API Documentation
#
class ImageVersion < Struct.new(
:arn,
:name,
:type,
:version,
:platform,
:os_version,
:owner,
:date_created,
:build_type)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ImportComponentRequest
# data as a hash:
#
# {
# name: "ResourceName", # required
# semantic_version: "VersionNumber", # required
# description: "NonEmptyString",
# change_description: "NonEmptyString",
# type: "BUILD", # required, accepts BUILD, TEST
# format: "SHELL", # required, accepts SHELL
# platform: "Windows", # required, accepts Windows, Linux
# data: "NonEmptyString",
# uri: "Uri",
# kms_key_id: "NonEmptyString",
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the component.
# @return [String]
#
# @!attribute [rw] semantic_version
# The semantic version of the component. This version follows the
# semantic version syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [String]
#
# @!attribute [rw] description
# The description of the component. Describes the contents of the
# component.
# @return [String]
#
# @!attribute [rw] change_description
# The change description of the component. Describes what change has
# been made in this version, or what makes this version different from
# other versions of this component.
# @return [String]
#
# @!attribute [rw] type
# The type of the component denotes whether the component is used to
# build the image, or only to test it.
# @return [String]
#
# @!attribute [rw] format
# The format of the resource that you want to import as a component.
# @return [String]
#
# @!attribute [rw] platform
# The platform of the component.
# @return [String]
#
# @!attribute [rw] data
# The data of the component. Used to specify the data inline. Either
# `data` or `uri` can be used to specify the data within the
# component.
# @return [String]
#
# @!attribute [rw] uri
# The uri of the component. Must be an Amazon S3 URL and the requester
# must have permission to access the Amazon S3 bucket. If you use
# Amazon S3, you can specify component content up to your service
# quota. Either `data` or `uri` can be used to specify the data within
# the component.
# @return [String]
#
# @!attribute [rw] kms_key_id
# The ID of the KMS key that should be used to encrypt this component.
# @return [String]
#
# @!attribute [rw] tags
# The tags of the component.
# @return [Hash]
#
# @!attribute [rw] client_token
# The idempotency token of the component.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportComponentRequest AWS API Documentation
#
class ImportComponentRequest < Struct.new(
:name,
:semantic_version,
:description,
:change_description,
:type,
:format,
:platform,
:data,
:uri,
:kms_key_id,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] component_build_version_arn
# The Amazon Resource Name (ARN) of the imported component.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportComponentResponse AWS API Documentation
#
class ImportComponentResponse < Struct.new(
:request_id,
:client_token,
:component_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ImportVmImageRequest
# data as a hash:
#
# {
# name: "NonEmptyString", # required
# semantic_version: "VersionNumber", # required
# description: "NonEmptyString",
# platform: "Windows", # required, accepts Windows, Linux
# os_version: "OsVersion",
# vm_import_task_id: "NonEmptyString", # required
# tags: {
# "TagKey" => "TagValue",
# },
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] name
# The name of the base image that is created by the import process.
# @return [String]
#
# @!attribute [rw] semantic_version
# The semantic version to attach to the base image that was created
# during the import process. This version follows the semantic version
# syntax.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Assignment:** For the first three nodes you can assign any
# positive integer value, including zero, with an upper limit of
# 2^30-1, or 1073741823 for each node. Image Builder automatically
# assigns the build number to the fourth node.
#
# **Patterns:** You can use any numeric pattern that adheres to the
# assignment requirements for the nodes that you can assign. For
# example, you might choose a software version pattern, such as 1.0.0,
# or a date, such as 2021.01.01.
#
#
# @return [String]
#
# @!attribute [rw] description
# The description for the base image that is created by the import
# process.
# @return [String]
#
# @!attribute [rw] platform
# The operating system platform for the imported VM.
# @return [String]
#
# @!attribute [rw] os_version
# The operating system version for the imported VM.
# @return [String]
#
# @!attribute [rw] vm_import_task_id
# The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
# VM import process. Image Builder retrieves information from the
# import process to pull in the AMI that is created from the VM source
# as the base image for your recipe.
# @return [String]
#
# @!attribute [rw] tags
# Tags that are attached to the import resources.
# @return [Hash]
#
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure idempotency
# of the request. For more information, see [Ensuring idempotency][1]
# in the *Amazon EC2 API Reference*.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageRequest AWS API Documentation
#
class ImportVmImageRequest < Struct.new(
:name,
:semantic_version,
:description,
:platform,
:os_version,
:vm_import_task_id,
:tags,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_arn
# The Amazon Resource Name (ARN) of the AMI that was created during
# the VM import process. This AMI is used as the base image for the
# recipe that imported the VM.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token that was used for this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageResponse AWS API Documentation
#
class ImportVmImageResponse < Struct.new(
:request_id,
:image_arn,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# Details of the infrastructure configuration.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] name
# The name of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] instance_types
# The instance types of the infrastructure configuration.
# @return [Array]
#
# @!attribute [rw] instance_profile_name
# The instance profile of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] security_group_ids
# The security group IDs of the infrastructure configuration.
# @return [Array]
#
# @!attribute [rw] subnet_id
# The subnet ID of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] logging
# The logging configuration of the infrastructure configuration.
# @return [Types::Logging]
#
# @!attribute [rw] key_pair
# The Amazon EC2 key pair of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] terminate_instance_on_failure
# The terminate instance on failure configuration of the
# infrastructure configuration.
# @return [Boolean]
#
# @!attribute [rw] sns_topic_arn
# The Amazon Resource Name (ARN) for the SNS topic to which we send
# image build event notifications.
#
# EC2 Image Builder is unable to send notifications to SNS topics that
# are encrypted using keys from other accounts. The key that is used
# to encrypt the SNS topic must reside in the account that the Image
# Builder service runs under.
#
#
# @return [String]
#
# @!attribute [rw] date_created
# The date on which the infrastructure configuration was created.
# @return [String]
#
# @!attribute [rw] date_updated
# The date on which the infrastructure configuration was last updated.
# @return [String]
#
# @!attribute [rw] resource_tags
# The tags attached to the resource created by Image Builder.
# @return [Hash]
#
# @!attribute [rw] instance_metadata_options
# The instance metadata option settings for the infrastructure
# configuration.
# @return [Types::InstanceMetadataOptions]
#
# @!attribute [rw] tags
# The tags of the infrastructure configuration.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InfrastructureConfiguration AWS API Documentation
#
class InfrastructureConfiguration < Struct.new(
:arn,
:name,
:description,
:instance_types,
:instance_profile_name,
:security_group_ids,
:subnet_id,
:logging,
:key_pair,
:terminate_instance_on_failure,
:sns_topic_arn,
:date_created,
:date_updated,
:resource_tags,
:instance_metadata_options,
:tags)
SENSITIVE = []
include Aws::Structure
end
# The infrastructure used when building Amazon EC2 AMIs.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] name
# The name of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] description
# The description of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] date_created
# The date on which the infrastructure configuration was created.
# @return [String]
#
# @!attribute [rw] date_updated
# The date on which the infrastructure configuration was last updated.
# @return [String]
#
# @!attribute [rw] resource_tags
# The tags attached to the image created by Image Builder.
# @return [Hash]
#
# @!attribute [rw] tags
# The tags of the infrastructure configuration.
# @return [Hash]
#
# @!attribute [rw] instance_types
# The instance types of the infrastructure configuration.
# @return [Array]
#
# @!attribute [rw] instance_profile_name
# The instance profile of the infrastructure configuration.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InfrastructureConfigurationSummary AWS API Documentation
#
class InfrastructureConfigurationSummary < Struct.new(
:arn,
:name,
:description,
:date_created,
:date_updated,
:resource_tags,
:tags,
:instance_types,
:instance_profile_name)
SENSITIVE = []
include Aws::Structure
end
# Defines block device mappings for the instance used to configure your
# image.
#
# @note When making an API call, you may pass InstanceBlockDeviceMapping
# data as a hash:
#
# {
# device_name: "NonEmptyString",
# ebs: {
# encrypted: false,
# delete_on_termination: false,
# iops: 1,
# kms_key_id: "NonEmptyString",
# snapshot_id: "NonEmptyString",
# volume_size: 1,
# volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
# throughput: 1,
# },
# virtual_name: "NonEmptyString",
# no_device: "EmptyString",
# }
#
# @!attribute [rw] device_name
# The device to which these mappings apply.
# @return [String]
#
# @!attribute [rw] ebs
# Use to manage Amazon EBS-specific configuration for this mapping.
# @return [Types::EbsInstanceBlockDeviceSpecification]
#
# @!attribute [rw] virtual_name
# Use to manage instance ephemeral devices.
# @return [String]
#
# @!attribute [rw] no_device
# Use to remove a mapping from the base image.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InstanceBlockDeviceMapping AWS API Documentation
#
class InstanceBlockDeviceMapping < Struct.new(
:device_name,
:ebs,
:virtual_name,
:no_device)
SENSITIVE = []
include Aws::Structure
end
# Defines a custom base AMI and block device mapping configurations of
# an instance used for building and testing container images.
#
# @note When making an API call, you may pass InstanceConfiguration
# data as a hash:
#
# {
# image: "NonEmptyString",
# block_device_mappings: [
# {
# device_name: "NonEmptyString",
# ebs: {
# encrypted: false,
# delete_on_termination: false,
# iops: 1,
# kms_key_id: "NonEmptyString",
# snapshot_id: "NonEmptyString",
# volume_size: 1,
# volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
# throughput: 1,
# },
# virtual_name: "NonEmptyString",
# no_device: "EmptyString",
# },
# ],
# }
#
# @!attribute [rw] image
# The AMI ID to use as the base image for a container build and test
# instance. If not specified, Image Builder will use the appropriate
# ECS-optimized AMI as a base image.
# @return [String]
#
# @!attribute [rw] block_device_mappings
# Defines the block devices to attach for building an instance from
# this Image Builder AMI.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InstanceConfiguration AWS API Documentation
#
class InstanceConfiguration < Struct.new(
:image,
:block_device_mappings)
SENSITIVE = []
include Aws::Structure
end
# The instance metadata options that apply to the HTTP requests that
# pipeline builds use to launch EC2 build and test instances. For more
# information about instance metadata options, see [Configure the
# instance metadata options][1] in the Amazon EC2 User Guide
# for Linux instances, or [Configure the instance metadata
# options][2] in the Amazon EC2 Windows Guide for
# Windows instances.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html
#
# @note When making an API call, you may pass InstanceMetadataOptions
# data as a hash:
#
# {
# http_tokens: "HttpTokens",
# http_put_response_hop_limit: 1,
# }
#
# @!attribute [rw] http_tokens
# Indicates whether a signed token header is required for instance
# metadata retrieval requests. The values affect the response as
# follows:
#
# * **required** – When you retrieve the IAM role credentials, version
# 2.0 credentials are returned in all cases.
#
# * **optional** – You can include a signed token header in your
# request to retrieve instance metadata, or you can leave it out. If
# you include it, version 2.0 credentials are returned for the IAM
# role. Otherwise, version 1.0 credentials are returned.
#
# The default setting is **optional**.
# @return [String]
#
# @!attribute [rw] http_put_response_hop_limit
# Limit the number of hops that an instance metadata request can
# traverse to reach its destination.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InstanceMetadataOptions AWS API Documentation
#
class InstanceMetadataOptions < Struct.new(
:http_tokens,
:http_put_response_hop_limit)
SENSITIVE = []
include Aws::Structure
end
# You have provided an invalid pagination token in your request.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidPaginationTokenException AWS API Documentation
#
class InvalidPaginationTokenException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# You have specified two or more mutually exclusive parameters. Review
# the error message for details.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidParameterCombinationException AWS API Documentation
#
class InvalidParameterCombinationException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The specified parameter is invalid. Review the available parameters
# for the API request.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidParameterException AWS API Documentation
#
class InvalidParameterException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The value that you provided for the specified parameter is invalid.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidParameterValueException AWS API Documentation
#
class InvalidParameterValueException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# You have made a request for an action that is not supported by the
# service.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidRequestException AWS API Documentation
#
class InvalidRequestException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Your version number is out of bounds or does not follow the required
# syntax.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InvalidVersionNumberException AWS API Documentation
#
class InvalidVersionNumberException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Describes the configuration for a launch permission. The launch
# permission modification request is sent to the [Amazon EC2
# ModifyImageAttribute][1] API on behalf of the user for each Region
# they have selected to distribute the AMI. To make an AMI public, set
# the launch permission authorized accounts to `all`. See the examples
# for making an AMI public at [Amazon EC2 ModifyImageAttribute][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html
#
# @note When making an API call, you may pass LaunchPermissionConfiguration
# data as a hash:
#
# {
# user_ids: ["AccountId"],
# user_groups: ["NonEmptyString"],
# organization_arns: ["OrganizationArn"],
# organizational_unit_arns: ["OrganizationalUnitArn"],
# }
#
# @!attribute [rw] user_ids
# The Amazon Web Services account ID.
# @return [Array]
#
# @!attribute [rw] user_groups
# The name of the group.
# @return [Array]
#
# @!attribute [rw] organization_arns
# The ARN for an Amazon Web Services Organization that you want to
# share your AMI with. For more information, see [What is
# Organizations?][1].
#
#
#
# [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html
# @return [Array]
#
# @!attribute [rw] organizational_unit_arns
# The ARN for an Organizations organizational unit (OU) that you want
# to share your AMI with. For more information about key concepts for
# Organizations, see [Organizations terminology and concepts][1].
#
#
#
# [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/LaunchPermissionConfiguration AWS API Documentation
#
class LaunchPermissionConfiguration < Struct.new(
:user_ids,
:user_groups,
:organization_arns,
:organizational_unit_arns)
SENSITIVE = []
include Aws::Structure
end
# Identifies an Amazon EC2 launch template to use for a specific
# account.
#
# @note When making an API call, you may pass LaunchTemplateConfiguration
# data as a hash:
#
# {
# launch_template_id: "LaunchTemplateId", # required
# account_id: "AccountId",
# set_default_version: false,
# }
#
# @!attribute [rw] launch_template_id
# Identifies the Amazon EC2 launch template to use.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID that this configuration applies to.
# @return [String]
#
# @!attribute [rw] set_default_version
# Set the specified Amazon EC2 launch template as the default launch
# template for the specified account.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/LaunchTemplateConfiguration AWS API Documentation
#
class LaunchTemplateConfiguration < Struct.new(
:launch_template_id,
:account_id,
:set_default_version)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListComponentBuildVersionsRequest
# data as a hash:
#
# {
# component_version_arn: "ComponentVersionArn", # required
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] component_version_arn
# The component version Amazon Resource Name (ARN) whose versions you
# want to list.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersionsRequest AWS API Documentation
#
class ListComponentBuildVersionsRequest < Struct.new(
:component_version_arn,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] component_summary_list
# The list of component summaries for the specified semantic version.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersionsResponse AWS API Documentation
#
class ListComponentBuildVersionsResponse < Struct.new(
:request_id,
:component_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListComponentsRequest
# data as a hash:
#
# {
# owner: "Self", # accepts Self, Shared, Amazon
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# by_name: false,
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] owner
# The owner defines which components you want to list. By default,
# this request will only show components owned by your account. You
# can use this field to specify if you want to view components owned
# by yourself, by Amazon, or those components that have been shared
# with you by other customers.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `description`
#
# * `name`
#
# * `platform`
#
# * `supportedOsVersion`
#
# * `type`
#
# * `version`
# @return [Array]
#
# @!attribute [rw] by_name
# Returns the list of component build versions for the specified name.
# @return [Boolean]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentsRequest AWS API Documentation
#
class ListComponentsRequest < Struct.new(
:owner,
:filters,
:by_name,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] component_version_list
# The list of component semantic versions.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
#
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentsResponse AWS API Documentation
#
class ListComponentsResponse < Struct.new(
:request_id,
:component_version_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListContainerRecipesRequest
# data as a hash:
#
# {
# owner: "Self", # accepts Self, Shared, Amazon
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "NonEmptyString",
# }
#
# @!attribute [rw] owner
# Returns container recipes belonging to the specified owner, that
# have been shared with you. You can omit this field to return
# container recipes belonging to your account.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `containerType`
#
# * `name`
#
# * `parentImage`
#
# * `platform`
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum number of results to return in the list.
# @return [Integer]
#
# @!attribute [rw] next_token
# Provides a token for pagination, which determines where to begin the
# next set of results when the current set reaches the maximum for one
# request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipesRequest AWS API Documentation
#
class ListContainerRecipesRequest < Struct.new(
:owner,
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] container_recipe_summary_list
# The list of container recipes returned for the request.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token field is used for paginated responses. When this is
# not empty, there are additional container recipes that the service
# has not included in this response. Use this token with the next
# request to retrieve additional list items.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipesResponse AWS API Documentation
#
class ListContainerRecipesResponse < Struct.new(
:request_id,
:container_recipe_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListDistributionConfigurationsRequest
# data as a hash:
#
# {
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] filters
# You can filter on `name` to streamline results.
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurationsRequest AWS API Documentation
#
class ListDistributionConfigurationsRequest < Struct.new(
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] distribution_configuration_summary_list
# The list of distributions.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurationsResponse AWS API Documentation
#
class ListDistributionConfigurationsResponse < Struct.new(
:request_id,
:distribution_configuration_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImageBuildVersionsRequest
# data as a hash:
#
# {
# image_version_arn: "ImageVersionArn", # required
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] image_version_arn
# The Amazon Resource Name (ARN) of the image whose build versions you
# want to retrieve.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `name`
#
# * `osVersion`
#
# * `platform`
#
# * `type`
#
# * `version`
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersionsRequest AWS API Documentation
#
class ListImageBuildVersionsRequest < Struct.new(
:image_version_arn,
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_summary_list
# The list of image build versions.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersionsResponse AWS API Documentation
#
class ListImageBuildVersionsResponse < Struct.new(
:request_id,
:image_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImagePackagesRequest
# data as a hash:
#
# {
# image_build_version_arn: "ImageBuildVersionArn", # required
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] image_build_version_arn
# Filter results for the ListImagePackages request by the Image Build
# Version ARN
# @return [String]
#
# @!attribute [rw] max_results
# The maxiumum number of results to return from the ListImagePackages
# request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackagesRequest AWS API Documentation
#
class ListImagePackagesRequest < Struct.new(
:image_build_version_arn,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_package_list
# The list of Image Packages returned in the response.
# @return [Array]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackagesResponse AWS API Documentation
#
class ListImagePackagesResponse < Struct.new(
:request_id,
:image_package_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImagePipelineImagesRequest
# data as a hash:
#
# {
# image_pipeline_arn: "ImagePipelineArn", # required
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline whose images
# you want to view.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `name`
#
# * `version`
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImagesRequest AWS API Documentation
#
class ListImagePipelineImagesRequest < Struct.new(
:image_pipeline_arn,
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_summary_list
# The list of images built by this pipeline.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImagesResponse AWS API Documentation
#
class ListImagePipelineImagesResponse < Struct.new(
:request_id,
:image_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImagePipelinesRequest
# data as a hash:
#
# {
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `description`
#
# * `distributionConfigurationArn`
#
# * `imageRecipeArn`
#
# * `infrastructureConfigurationArn`
#
# * `name`
#
# * `status`
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelinesRequest AWS API Documentation
#
class ListImagePipelinesRequest < Struct.new(
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_pipeline_list
# The list of image pipelines.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelinesResponse AWS API Documentation
#
class ListImagePipelinesResponse < Struct.new(
:request_id,
:image_pipeline_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImageRecipesRequest
# data as a hash:
#
# {
# owner: "Self", # accepts Self, Shared, Amazon
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] owner
# The owner defines which image recipes you want to list. By default,
# this request will only show image recipes owned by your account. You
# can use this field to specify if you want to view image recipes
# owned by yourself, by Amazon, or those image recipes that have been
# shared with you by other customers.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `name`
#
# * `parentImage`
#
# * `platform`
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageRecipesRequest AWS API Documentation
#
class ListImageRecipesRequest < Struct.new(
:owner,
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_recipe_summary_list
# The list of image pipelines.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageRecipesResponse AWS API Documentation
#
class ListImageRecipesResponse < Struct.new(
:request_id,
:image_recipe_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListImagesRequest
# data as a hash:
#
# {
# owner: "Self", # accepts Self, Shared, Amazon
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# by_name: false,
# max_results: 1,
# next_token: "PaginationToken",
# include_deprecated: false,
# }
#
# @!attribute [rw] owner
# The owner defines which images you want to list. By default, this
# request will only show images owned by your account. You can use
# this field to specify if you want to view images owned by yourself,
# by Amazon, or those images that have been shared with you by other
# customers.
# @return [String]
#
# @!attribute [rw] filters
# Use the following filters to streamline results:
#
# * `name`
#
# * `osVersion`
#
# * `platform`
#
# * `type`
#
# * `version`
# @return [Array]
#
# @!attribute [rw] by_name
# Requests a list of images with a specific recipe name.
# @return [Boolean]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @!attribute [rw] include_deprecated
# Includes deprecated images in the response list.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagesRequest AWS API Documentation
#
class ListImagesRequest < Struct.new(
:owner,
:filters,
:by_name,
:max_results,
:next_token,
:include_deprecated)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_version_list
# The list of image semantic versions.
#
# The semantic version has four nodes:
# <major>.<minor>.<patch>/<build>. You can
# assign values for the first three, and can filter on all of them.
#
# **Filtering:** With semantic versioning, you have the flexibility to
# use wildcards (x) to specify the most recent versions or nodes when
# selecting the base image or components for your recipe. When you use
# a wildcard in any node, all nodes to the right of the first wildcard
# must also be wildcards.
#
#
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagesResponse AWS API Documentation
#
class ListImagesResponse < Struct.new(
:request_id,
:image_version_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListInfrastructureConfigurationsRequest
# data as a hash:
#
# {
# filters: [
# {
# name: "FilterName",
# values: ["FilterValue"],
# },
# ],
# max_results: 1,
# next_token: "PaginationToken",
# }
#
# @!attribute [rw] filters
# You can filter on `name` to streamline results.
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum items to return in a request.
# @return [Integer]
#
# @!attribute [rw] next_token
# A token to specify where to start paginating. This is the NextToken
# from a previously truncated response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurationsRequest AWS API Documentation
#
class ListInfrastructureConfigurationsRequest < Struct.new(
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_summary_list
# The list of infrastructure configurations.
# @return [Array]
#
# @!attribute [rw] next_token
# The next token used for paginated responses. When this is not empty,
# there are additional elements that the service has not included in
# this request. Use this token with the next request to retrieve
# additional objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurationsResponse AWS API Documentation
#
class ListInfrastructureConfigurationsResponse < Struct.new(
:request_id,
:infrastructure_configuration_summary_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListTagsForResourceRequest
# data as a hash:
#
# {
# resource_arn: "ImageBuilderArn", # required
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource whose tags you want
# to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResourceRequest AWS API Documentation
#
class ListTagsForResourceRequest < Struct.new(
:resource_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The tags for the specified resource.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResourceResponse AWS API Documentation
#
class ListTagsForResourceResponse < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# Logging configuration defines where Image Builder uploads your logs.
#
# @note When making an API call, you may pass Logging
# data as a hash:
#
# {
# s3_logs: {
# s3_bucket_name: "NonEmptyString",
# s3_key_prefix: "NonEmptyString",
# },
# }
#
# @!attribute [rw] s3_logs
# The Amazon S3 logging configuration.
# @return [Types::S3Logs]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Logging AWS API Documentation
#
class Logging < Struct.new(
:s3_logs)
SENSITIVE = []
include Aws::Structure
end
# The resources produced by this image.
#
# @!attribute [rw] amis
# The Amazon EC2 AMIs created by this image.
# @return [Array]
#
# @!attribute [rw] containers
# Container images that the pipeline has generated and stored in the
# output repository.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/OutputResources AWS API Documentation
#
class OutputResources < Struct.new(
:amis,
:containers)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutComponentPolicyRequest
# data as a hash:
#
# {
# component_arn: "ComponentBuildVersionArn", # required
# policy: "ResourcePolicyDocument", # required
# }
#
# @!attribute [rw] component_arn
# The Amazon Resource Name (ARN) of the component that this policy
# should be applied to.
# @return [String]
#
# @!attribute [rw] policy
# The policy to apply.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicyRequest AWS API Documentation
#
class PutComponentPolicyRequest < Struct.new(
:component_arn,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] component_arn
# The Amazon Resource Name (ARN) of the component that this policy was
# applied to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicyResponse AWS API Documentation
#
class PutComponentPolicyResponse < Struct.new(
:request_id,
:component_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutContainerRecipePolicyRequest
# data as a hash:
#
# {
# container_recipe_arn: "ContainerRecipeArn", # required
# policy: "ResourcePolicyDocument", # required
# }
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that this
# policy should be applied to.
# @return [String]
#
# @!attribute [rw] policy
# The policy to apply to the container recipe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicyRequest AWS API Documentation
#
class PutContainerRecipePolicyRequest < Struct.new(
:container_recipe_arn,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container recipe that this
# policy was applied to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicyResponse AWS API Documentation
#
class PutContainerRecipePolicyResponse < Struct.new(
:request_id,
:container_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutImagePolicyRequest
# data as a hash:
#
# {
# image_arn: "ImageBuildVersionArn", # required
# policy: "ResourcePolicyDocument", # required
# }
#
# @!attribute [rw] image_arn
# The Amazon Resource Name (ARN) of the image that this policy should
# be applied to.
# @return [String]
#
# @!attribute [rw] policy
# The policy to apply.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicyRequest AWS API Documentation
#
class PutImagePolicyRequest < Struct.new(
:image_arn,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_arn
# The Amazon Resource Name (ARN) of the image that this policy was
# applied to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicyResponse AWS API Documentation
#
class PutImagePolicyResponse < Struct.new(
:request_id,
:image_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutImageRecipePolicyRequest
# data as a hash:
#
# {
# image_recipe_arn: "ImageRecipeArn", # required
# policy: "ResourcePolicyDocument", # required
# }
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that this policy
# should be applied to.
# @return [String]
#
# @!attribute [rw] policy
# The policy to apply.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicyRequest AWS API Documentation
#
class PutImageRecipePolicyRequest < Struct.new(
:image_recipe_arn,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that this policy
# was applied to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicyResponse AWS API Documentation
#
class PutImageRecipePolicyResponse < Struct.new(
:request_id,
:image_recipe_arn)
SENSITIVE = []
include Aws::Structure
end
# The resource that you are trying to create already exists.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ResourceAlreadyExistsException AWS API Documentation
#
class ResourceAlreadyExistsException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# You have attempted to mutate or delete a resource with a dependency
# that prohibits this action. See the error message for more details.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ResourceDependencyException AWS API Documentation
#
class ResourceDependencyException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The resource that you are trying to operate on is currently in use.
# Review the message details and retry later.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ResourceInUseException AWS API Documentation
#
class ResourceInUseException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# At least one of the resources referenced by your request does not
# exist.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ResourceNotFoundException AWS API Documentation
#
class ResourceNotFoundException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Properties that configure export from your build instance to a
# compatible file format for your VM.
#
# @note When making an API call, you may pass S3ExportConfiguration
# data as a hash:
#
# {
# role_name: "NonEmptyString", # required
# disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
# s3_bucket: "NonEmptyString", # required
# s3_prefix: "NonEmptyString",
# }
#
# @!attribute [rw] role_name
# The name of the role that grants VM Import/Export permission to
# export images to your S3 bucket.
# @return [String]
#
# @!attribute [rw] disk_image_format
# Export the updated image to one of the following supported disk
# image formats:
#
# * **Virtual Hard Disk (VHD)** – Compatible with Citrix Xen and
# Microsoft Hyper-V virtualization products.
#
# * **Stream-optimized ESX Virtual Machine Disk (VMDK)** – Compatible
# with VMware ESX and VMware vSphere versions 4, 5, and 6.
#
# * **Raw** – Raw format.
# @return [String]
#
# @!attribute [rw] s3_bucket
# The S3 bucket in which to store the output disk images for your VM.
# @return [String]
#
# @!attribute [rw] s3_prefix
# The Amazon S3 path for the bucket where the output disk images for
# your VM are stored.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3ExportConfiguration AWS API Documentation
#
class S3ExportConfiguration < Struct.new(
:role_name,
:disk_image_format,
:s3_bucket,
:s3_prefix)
SENSITIVE = []
include Aws::Structure
end
# Amazon S3 logging configuration.
#
# @note When making an API call, you may pass S3Logs
# data as a hash:
#
# {
# s3_bucket_name: "NonEmptyString",
# s3_key_prefix: "NonEmptyString",
# }
#
# @!attribute [rw] s3_bucket_name
# The S3 bucket in which to store the logs.
# @return [String]
#
# @!attribute [rw] s3_key_prefix
# The Amazon S3 path to the bucket where the logs are stored.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3Logs AWS API Documentation
#
class S3Logs < Struct.new(
:s3_bucket_name,
:s3_key_prefix)
SENSITIVE = []
include Aws::Structure
end
# A schedule configures how often and when a pipeline will automatically
# create a new image.
#
# @note When making an API call, you may pass Schedule
# data as a hash:
#
# {
# schedule_expression: "NonEmptyString",
# timezone: "Timezone",
# pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
# }
#
# @!attribute [rw] schedule_expression
# The cron expression determines how often EC2 Image Builder evaluates
# your `pipelineExecutionStartCondition`.
#
# For information on how to format a cron expression in Image Builder,
# see [Use cron expressions in EC2 Image Builder][1].
#
#
#
# [1]: https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html
# @return [String]
#
# @!attribute [rw] timezone
# The timezone that applies to the scheduling expression. For example,
# "Etc/UTC", "America/Los\_Angeles" in the [IANA timezone
# format][1]. If not specified this defaults to UTC.
#
#
#
# [1]: https://www.joda.org/joda-time/timezones.html
# @return [String]
#
# @!attribute [rw] pipeline_execution_start_condition
# The condition configures when the pipeline should trigger a new
# image build. When the `pipelineExecutionStartCondition` is set to
# `EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE`, and you use
# semantic version filters on the base image or components in your
# image recipe, EC2 Image Builder will build a new image only when
# there are new versions of the image or components in your recipe
# that match the semantic version filter. When it is set to
# `EXPRESSION_MATCH_ONLY`, it will build a new image every time the
# CRON expression matches the current time. For semantic version
# syntax, see [CreateComponent][1] in the EC2 Image Builder API
# Reference.
#
#
#
# [1]: https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Schedule AWS API Documentation
#
class Schedule < Struct.new(
:schedule_expression,
:timezone,
:pipeline_execution_start_condition)
SENSITIVE = []
include Aws::Structure
end
# This exception is thrown when the service encounters an unrecoverable
# exception.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ServiceException AWS API Documentation
#
class ServiceException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# You have exceeded the number of permitted resources or operations for
# this service. For service quotas, see [EC2 Image Builder endpoints and
# quotas][1].
#
#
#
# [1]: https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ServiceQuotaExceededException AWS API Documentation
#
class ServiceQuotaExceededException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The service is unable to process your request at this time.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ServiceUnavailableException AWS API Documentation
#
class ServiceUnavailableException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StartImagePipelineExecutionRequest
# data as a hash:
#
# {
# image_pipeline_arn: "ImagePipelineArn", # required
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that you want
# to manually invoke.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecutionRequest AWS API Documentation
#
class StartImagePipelineExecutionRequest < Struct.new(
:image_pipeline_arn,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] image_build_version_arn
# The Amazon Resource Name (ARN) of the image that was created by this
# request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecutionResponse AWS API Documentation
#
class StartImagePipelineExecutionResponse < Struct.new(
:request_id,
:client_token,
:image_build_version_arn)
SENSITIVE = []
include Aws::Structure
end
# Contains settings for the Systems Manager agent on your build
# instance.
#
# @note When making an API call, you may pass SystemsManagerAgent
# data as a hash:
#
# {
# uninstall_after_build: false,
# }
#
# @!attribute [rw] uninstall_after_build
# Controls whether the Systems Manager agent is removed from your
# final build image, prior to creating the new AMI. If this is set to
# true, then the agent is removed from the final image. If it's set
# to false, then the agent is left in, so that it is included in the
# new AMI. The default value is false.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/SystemsManagerAgent AWS API Documentation
#
class SystemsManagerAgent < Struct.new(
:uninstall_after_build)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass TagResourceRequest
# data as a hash:
#
# {
# resource_arn: "ImageBuilderArn", # required
# tags: { # required
# "TagKey" => "TagValue",
# },
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource that you want to tag.
# @return [String]
#
# @!attribute [rw] tags
# The tags to apply to the resource.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResourceRequest AWS API Documentation
#
class TagResourceRequest < Struct.new(
:resource_arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResourceResponse AWS API Documentation
#
class TagResourceResponse < Aws::EmptyStructure; end
# The container repository where the output container image is stored.
#
# @note When making an API call, you may pass TargetContainerRepository
# data as a hash:
#
# {
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# }
#
# @!attribute [rw] service
# Specifies the service in which this image was registered.
# @return [String]
#
# @!attribute [rw] repository_name
# The name of the container repository where the output container
# image is stored. This name is prefixed by the repository location.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TargetContainerRepository AWS API Documentation
#
class TargetContainerRepository < Struct.new(
:service,
:repository_name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UntagResourceRequest
# data as a hash:
#
# {
# resource_arn: "ImageBuilderArn", # required
# tag_keys: ["TagKey"], # required
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource that you want to
# untag.
# @return [String]
#
# @!attribute [rw] tag_keys
# The tag keys to remove from the resource.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResourceRequest AWS API Documentation
#
class UntagResourceRequest < Struct.new(
:resource_arn,
:tag_keys)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResourceResponse AWS API Documentation
#
class UntagResourceResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass UpdateDistributionConfigurationRequest
# data as a hash:
#
# {
# distribution_configuration_arn: "DistributionConfigurationArn", # required
# description: "NonEmptyString",
# distributions: [ # required
# {
# region: "NonEmptyString", # required
# ami_distribution_configuration: {
# name: "AmiNameString",
# description: "NonEmptyString",
# target_account_ids: ["AccountId"],
# ami_tags: {
# "TagKey" => "TagValue",
# },
# kms_key_id: "NonEmptyString",
# launch_permission: {
# user_ids: ["AccountId"],
# user_groups: ["NonEmptyString"],
# organization_arns: ["OrganizationArn"],
# organizational_unit_arns: ["OrganizationalUnitArn"],
# },
# },
# container_distribution_configuration: {
# description: "NonEmptyString",
# container_tags: ["NonEmptyString"],
# target_repository: { # required
# service: "ECR", # required, accepts ECR
# repository_name: "NonEmptyString", # required
# },
# },
# license_configuration_arns: ["LicenseConfigurationArn"],
# launch_template_configurations: [
# {
# launch_template_id: "LaunchTemplateId", # required
# account_id: "AccountId",
# set_default_version: false,
# },
# ],
# s3_export_configuration: {
# role_name: "NonEmptyString", # required
# disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
# s3_bucket: "NonEmptyString", # required
# s3_prefix: "NonEmptyString",
# },
# fast_launch_configurations: [
# {
# enabled: false, # required
# snapshot_configuration: {
# target_resource_count: 1,
# },
# max_parallel_launches: 1,
# launch_template: {
# launch_template_id: "LaunchTemplateId",
# launch_template_name: "NonEmptyString",
# launch_template_version: "NonEmptyString",
# },
# account_id: "AccountId",
# },
# ],
# },
# ],
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that you want to update.
# @return [String]
#
# @!attribute [rw] description
# The description of the distribution configuration.
# @return [String]
#
# @!attribute [rw] distributions
# The distributions of the distribution configuration.
# @return [Array]
#
# @!attribute [rw] client_token
# The idempotency token of the distribution configuration.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfigurationRequest AWS API Documentation
#
class UpdateDistributionConfigurationRequest < Struct.new(
:distribution_configuration_arn,
:description,
:distributions,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that was updated by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfigurationResponse AWS API Documentation
#
class UpdateDistributionConfigurationResponse < Struct.new(
:request_id,
:client_token,
:distribution_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateImagePipelineRequest
# data as a hash:
#
# {
# image_pipeline_arn: "ImagePipelineArn", # required
# description: "NonEmptyString",
# image_recipe_arn: "ImageRecipeArn",
# container_recipe_arn: "ContainerRecipeArn",
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# distribution_configuration_arn: "DistributionConfigurationArn",
# image_tests_configuration: {
# image_tests_enabled: false,
# timeout_minutes: 1,
# },
# enhanced_image_metadata_enabled: false,
# schedule: {
# schedule_expression: "NonEmptyString",
# timezone: "Timezone",
# pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
# },
# status: "DISABLED", # accepts DISABLED, ENABLED
# client_token: "ClientToken", # required
# }
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that you want
# to update.
# @return [String]
#
# @!attribute [rw] description
# The description of the image pipeline.
# @return [String]
#
# @!attribute [rw] image_recipe_arn
# The Amazon Resource Name (ARN) of the image recipe that will be used
# to configure images updated by this image pipeline.
# @return [String]
#
# @!attribute [rw] container_recipe_arn
# The Amazon Resource Name (ARN) of the container pipeline to update.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that will be used to build images updated by this image pipeline.
# @return [String]
#
# @!attribute [rw] distribution_configuration_arn
# The Amazon Resource Name (ARN) of the distribution configuration
# that will be used to configure and distribute images updated by this
# image pipeline.
# @return [String]
#
# @!attribute [rw] image_tests_configuration
# The image test configuration of the image pipeline.
# @return [Types::ImageTestsConfiguration]
#
# @!attribute [rw] enhanced_image_metadata_enabled
# Collects additional information about the image being created,
# including the operating system (OS) version and package list. This
# information is used to enhance the overall experience of using EC2
# Image Builder. Enabled by default.
# @return [Boolean]
#
# @!attribute [rw] schedule
# The schedule of the image pipeline.
# @return [Types::Schedule]
#
# @!attribute [rw] status
# The status of the image pipeline.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipelineRequest AWS API Documentation
#
class UpdateImagePipelineRequest < Struct.new(
:image_pipeline_arn,
:description,
:image_recipe_arn,
:container_recipe_arn,
:infrastructure_configuration_arn,
:distribution_configuration_arn,
:image_tests_configuration,
:enhanced_image_metadata_enabled,
:schedule,
:status,
:client_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] image_pipeline_arn
# The Amazon Resource Name (ARN) of the image pipeline that was
# updated by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipelineResponse AWS API Documentation
#
class UpdateImagePipelineResponse < Struct.new(
:request_id,
:client_token,
:image_pipeline_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateInfrastructureConfigurationRequest
# data as a hash:
#
# {
# infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
# description: "NonEmptyString",
# instance_types: ["InstanceType"],
# instance_profile_name: "InstanceProfileNameType", # required
# security_group_ids: ["NonEmptyString"],
# subnet_id: "NonEmptyString",
# logging: {
# s3_logs: {
# s3_bucket_name: "NonEmptyString",
# s3_key_prefix: "NonEmptyString",
# },
# },
# key_pair: "NonEmptyString",
# terminate_instance_on_failure: false,
# sns_topic_arn: "SnsTopicArn",
# client_token: "ClientToken", # required
# resource_tags: {
# "TagKey" => "TagValue",
# },
# instance_metadata_options: {
# http_tokens: "HttpTokens",
# http_put_response_hop_limit: 1,
# },
# }
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that you want to update.
# @return [String]
#
# @!attribute [rw] description
# The description of the infrastructure configuration.
# @return [String]
#
# @!attribute [rw] instance_types
# The instance types of the infrastructure configuration. You can
# specify one or more instance types to use for this build. The
# service will pick one of these instance types based on availability.
# @return [Array]
#
# @!attribute [rw] instance_profile_name
# The instance profile to associate with the instance used to
# customize your Amazon EC2 AMI.
# @return [String]
#
# @!attribute [rw] security_group_ids
# The security group IDs to associate with the instance used to
# customize your Amazon EC2 AMI.
# @return [Array]
#
# @!attribute [rw] subnet_id
# The subnet ID to place the instance used to customize your Amazon
# EC2 AMI in.
# @return [String]
#
# @!attribute [rw] logging
# The logging configuration of the infrastructure configuration.
# @return [Types::Logging]
#
# @!attribute [rw] key_pair
# The key pair of the infrastructure configuration. You can use this
# to log on to and debug the instance used to create your image.
# @return [String]
#
# @!attribute [rw] terminate_instance_on_failure
# The terminate instance on failure setting of the infrastructure
# configuration. Set to false if you want Image Builder to retain the
# instance used to configure your AMI if the build or test phase of
# your workflow fails.
# @return [Boolean]
#
# @!attribute [rw] sns_topic_arn
# The Amazon Resource Name (ARN) for the SNS topic to which we send
# image build event notifications.
#
# EC2 Image Builder is unable to send notifications to SNS topics that
# are encrypted using keys from other accounts. The key that is used
# to encrypt the SNS topic must reside in the account that the Image
# Builder service runs under.
#
#
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] resource_tags
# The tags attached to the resource created by Image Builder.
# @return [Hash]
#
# @!attribute [rw] instance_metadata_options
# The instance metadata options that you can set for the HTTP requests
# that pipeline builds use to launch EC2 build and test instances. For
# more information about instance metadata options, see one of the
# following links:
#
# * [Configure the instance metadata options][1] in the Amazon
# EC2 User Guide for Linux instances.
#
# * [Configure the instance metadata options][2] in the Amazon
# EC2 Windows Guide for Windows instances.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html
# @return [Types::InstanceMetadataOptions]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfigurationRequest AWS API Documentation
#
class UpdateInfrastructureConfigurationRequest < Struct.new(
:infrastructure_configuration_arn,
:description,
:instance_types,
:instance_profile_name,
:security_group_ids,
:subnet_id,
:logging,
:key_pair,
:terminate_instance_on_failure,
:sns_topic_arn,
:client_token,
:resource_tags,
:instance_metadata_options)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_id
# The request ID that uniquely identifies this request.
# @return [String]
#
# @!attribute [rw] client_token
# The idempotency token used to make this request idempotent.
# @return [String]
#
# @!attribute [rw] infrastructure_configuration_arn
# The Amazon Resource Name (ARN) of the infrastructure configuration
# that was updated by this request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfigurationResponse AWS API Documentation
#
class UpdateInfrastructureConfigurationResponse < Struct.new(
:request_id,
:client_token,
:infrastructure_configuration_arn)
SENSITIVE = []
include Aws::Structure
end
end
end