imagebuilder / Client / get_image_recipe



Gets an image recipe.

See also: AWS API Documentation

Request Syntax

response = client.get_image_recipe(

imageRecipeArn (string) –


The Amazon Resource Name (ARN) of the image recipe that you want to retrieve.

Return type:



Response Syntax

    'requestId': 'string',
    'imageRecipe': {
        'arn': 'string',
        'type': 'AMI'|'DOCKER',
        'name': 'string',
        'description': 'string',
        'platform': 'Windows'|'Linux',
        'owner': 'string',
        'version': 'string',
        'components': [
                'componentArn': 'string',
                'parameters': [
                        'name': 'string',
                        'value': [
        'parentImage': 'string',
        'blockDeviceMappings': [
                'deviceName': 'string',
                'ebs': {
                    'encrypted': True|False,
                    'deleteOnTermination': True|False,
                    'iops': 123,
                    'kmsKeyId': 'string',
                    'snapshotId': 'string',
                    'volumeSize': 123,
                    'volumeType': 'standard'|'io1'|'io2'|'gp2'|'gp3'|'sc1'|'st1',
                    'throughput': 123
                'virtualName': 'string',
                'noDevice': 'string'
        'dateCreated': 'string',
        'tags': {
            'string': 'string'
        'workingDirectory': 'string',
        'additionalInstanceConfiguration': {
            'systemsManagerAgent': {
                'uninstallAfterBuild': True|False
            'userDataOverride': 'string'

Response Structure

  • (dict) –

    • requestId (string) –

      The request ID that uniquely identifies this request.

    • imageRecipe (dict) –

      The image recipe object.

      • arn (string) –

        The Amazon Resource Name (ARN) of the image recipe.

      • type (string) –

        Specifies which type of image is created by the recipe - an AMI or a container image.

      • name (string) –

        The name of the image recipe.

      • description (string) –

        The description of the image recipe.

      • platform (string) –

        The platform of the image recipe.

      • owner (string) –

        The owner of the image recipe.

      • version (string) –

        The version of the image recipe.

      • components (list) –

        The components that are included in the image recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.

        • (dict) –

          Configuration details of the component.

          • componentArn (string) –

            The Amazon Resource Name (ARN) of the component.

          • parameters (list) –

            A group of parameter settings that Image Builder uses to configure the component for a specific recipe.

            • (dict) –

              Contains a key/value pair that sets the named component parameter.

              • name (string) –

                The name of the component parameter to set.

              • value (list) –

                Sets the value for the named component parameter.

                • (string) –

      • parentImage (string) –

        The base image of the image recipe.

      • blockDeviceMappings (list) –

        The block device mappings to apply when creating images from this recipe.

        • (dict) –

          Defines block device mappings for the instance used to configure your image.

          • deviceName (string) –

            The device to which these mappings apply.

          • ebs (dict) –

            Use to manage Amazon EBS-specific configuration for this mapping.

            • encrypted (boolean) –

              Use to configure device encryption.

            • deleteOnTermination (boolean) –

              Use to configure delete on termination of the associated device.

            • iops (integer) –

              Use to configure device IOPS.

            • kmsKeyId (string) –

              Use to configure the KMS key to use when encrypting the device.

            • snapshotId (string) –

              The snapshot that defines the device contents.

            • volumeSize (integer) –

              Use to override the device’s volume size.

            • volumeType (string) –

              Use to override the device’s volume type.

            • throughput (integer) –

              For GP3 volumes only – The throughput in MiB/s that the volume supports.

          • virtualName (string) –

            Use to manage instance ephemeral devices.

          • noDevice (string) –

            Use to remove a mapping from the base image.

      • dateCreated (string) –

        The date on which this image recipe was created.

      • tags (dict) –

        The tags of the image recipe.

        • (string) –

          • (string) –

      • workingDirectory (string) –

        The working directory to be used during build and test workflows.

      • additionalInstanceConfiguration (dict) –

        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.

        • systemsManagerAgent (dict) –

          Contains settings for the Systems Manager agent on your build instance.

          • uninstallAfterBuild (boolean) –

            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.

        • userDataOverride (string) –

          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$:


          mkdir -p /var/bb/

          touch /var


  • imagebuilder.Client.exceptions.ServiceException

  • imagebuilder.Client.exceptions.ClientException

  • imagebuilder.Client.exceptions.ServiceUnavailableException

  • imagebuilder.Client.exceptions.InvalidRequestException

  • imagebuilder.Client.exceptions.ForbiddenException

  • imagebuilder.Client.exceptions.CallRateLimitExceededException