imagebuilder / Client / import_component

import_component

imagebuilder.Client.import_component(**kwargs)

Imports a component and transforms its data into a component document. For the SHELL format, Image Builder wraps your script in a component document with a single step that runs the script.

See also: AWS API Documentation

Request Syntax

response = client.import_component(
    name='string',
    semanticVersion='string',
    description='string',
    changeDescription='string',
    type='BUILD'|'TEST',
    format='SHELL',
    platform='Windows'|'Linux'|'macOS',
    data='string',
    uri='string',
    kmsKeyId='string',
    tags={
        'string': 'string'
    },
    clientToken='string'
)
Parameters:
  • name (string) –

    [REQUIRED]

    The name of the component. Image Builder generates the component ARN from a normalized form of the name, so names that differ only in case, spaces, or underscores count as the same name. If a component with the same name and semantic version already exists in your account in the same Amazon Web Services Region, the request creates a new build version for it. If the content is also identical to the latest build version, the request fails because the component already exists.

  • semanticVersion (string) –

    [REQUIRED]

    The semantic version of the component. This version follows the semantic version syntax.

    Note

    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. The upper limit is 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.

  • description (string) – The description of the component. Describes the contents of the component.

  • changeDescription (string) – The change description of the component. This description indicates the change that has been made in this version, or what makes this version different from other versions of the component.

  • type (string) –

    [REQUIRED]

    The type of the component denotes whether the component is used to build the image, or only to test it.

  • format (string) –

    [REQUIRED]

    The format of the resource that you want to import as a component.

  • platform (string) –

    [REQUIRED]

    The platform of the component.

  • data (string) – The data of the component. For the SHELL format, this is the plain script content. You must specify exactly one of the data or uri properties. For scripts that exceed the inline length constraint, use the uri property.

  • uri (string) – The uri of the component. Must be an Amazon S3 URL and you 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.

  • kmsKeyId (string) – The Amazon Resource Name (ARN) of the KMS key that is used to encrypt this component. This can be either the Key ARN or the Alias ARN. For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide. If you don’t specify a key, Image Builder encrypts the component data with a KMS key that Image Builder owns.

  • tags (dict) –

    The tags of the component.

    • (string) –

      • (string) –

  • clientToken (string) –

    [REQUIRED]

    A unique, case-sensitive identifier you provide to ensure that the operation runs no more than one time. If you retry a request with the same client token, Image Builder returns the original response without running the operation again. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

    This field is autopopulated if not provided.

Return type:

dict

Returns:

Response Syntax

{
    'requestId': 'string',
    'clientToken': 'string',
    'componentBuildVersionArn': 'string'
}

Response Structure

  • (dict) –

    • requestId (string) –

      The request ID that uniquely identifies this request.

    • clientToken (string) –

      The client token that uniquely identifies the request.

    • componentBuildVersionArn (string) –

      The Amazon Resource Name (ARN) of the imported component.

Exceptions

  • imagebuilder.Client.exceptions.ServiceException

  • imagebuilder.Client.exceptions.ClientException

  • imagebuilder.Client.exceptions.ServiceUnavailableException

  • imagebuilder.Client.exceptions.InvalidRequestException

  • imagebuilder.Client.exceptions.IdempotentParameterMismatchException

  • imagebuilder.Client.exceptions.ForbiddenException

  • imagebuilder.Client.exceptions.CallRateLimitExceededException

  • imagebuilder.Client.exceptions.InvalidVersionNumberException

  • imagebuilder.Client.exceptions.ResourceInUseException

  • imagebuilder.Client.exceptions.InvalidParameterCombinationException