{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2019-12-02",
    "endpointPrefix":"imagebuilder",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceAbbreviation":"imagebuilder",
    "serviceFullName":"EC2 Image Builder",
    "serviceId":"imagebuilder",
    "signatureVersion":"v4",
    "signingName":"imagebuilder",
    "uid":"imagebuilder-2019-12-02"
  },
  "operations":{
    "CancelImageCreation":{
      "name":"CancelImageCreation",
      "http":{
        "method":"PUT",
        "requestUri":"/CancelImageCreation"
      },
      "input":{"shape":"CancelImageCreationRequest"},
      "output":{"shape":"CancelImageCreationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"}
      ]
    },
    "CreateComponent":{
      "name":"CreateComponent",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateComponent"
      },
      "input":{"shape":"CreateComponentRequest"},
      "output":{"shape":"CreateComponentResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"InvalidVersionNumberException"},
        {"shape":"ResourceInUseException"},
        {"shape":"InvalidParameterCombinationException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "CreateDistributionConfiguration":{
      "name":"CreateDistributionConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateDistributionConfiguration"
      },
      "input":{"shape":"CreateDistributionConfigurationRequest"},
      "output":{"shape":"CreateDistributionConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"InvalidParameterCombinationException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "CreateImage":{
      "name":"CreateImage",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateImage"
      },
      "input":{"shape":"CreateImageRequest"},
      "output":{"shape":"CreateImageResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "CreateImagePipeline":{
      "name":"CreateImagePipeline",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateImagePipeline"
      },
      "input":{"shape":"CreateImagePipelineRequest"},
      "output":{"shape":"CreateImagePipelineResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "CreateImageRecipe":{
      "name":"CreateImageRecipe",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateImageRecipe"
      },
      "input":{"shape":"CreateImageRecipeRequest"},
      "output":{"shape":"CreateImageRecipeResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"InvalidVersionNumberException"},
        {"shape":"ResourceInUseException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "CreateInfrastructureConfiguration":{
      "name":"CreateInfrastructureConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/CreateInfrastructureConfiguration"
      },
      "input":{"shape":"CreateInfrastructureConfigurationRequest"},
      "output":{"shape":"CreateInfrastructureConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "DeleteComponent":{
      "name":"DeleteComponent",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteComponent"
      },
      "input":{"shape":"DeleteComponentRequest"},
      "output":{"shape":"DeleteComponentResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "DeleteDistributionConfiguration":{
      "name":"DeleteDistributionConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteDistributionConfiguration"
      },
      "input":{"shape":"DeleteDistributionConfigurationRequest"},
      "output":{"shape":"DeleteDistributionConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "DeleteImage":{
      "name":"DeleteImage",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteImage"
      },
      "input":{"shape":"DeleteImageRequest"},
      "output":{"shape":"DeleteImageResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "DeleteImagePipeline":{
      "name":"DeleteImagePipeline",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteImagePipeline"
      },
      "input":{"shape":"DeleteImagePipelineRequest"},
      "output":{"shape":"DeleteImagePipelineResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "DeleteImageRecipe":{
      "name":"DeleteImageRecipe",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteImageRecipe"
      },
      "input":{"shape":"DeleteImageRecipeRequest"},
      "output":{"shape":"DeleteImageRecipeResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "DeleteInfrastructureConfiguration":{
      "name":"DeleteInfrastructureConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/DeleteInfrastructureConfiguration"
      },
      "input":{"shape":"DeleteInfrastructureConfigurationRequest"},
      "output":{"shape":"DeleteInfrastructureConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceDependencyException"}
      ]
    },
    "GetComponent":{
      "name":"GetComponent",
      "http":{
        "method":"GET",
        "requestUri":"/GetComponent"
      },
      "input":{"shape":"GetComponentRequest"},
      "output":{"shape":"GetComponentResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetComponentPolicy":{
      "name":"GetComponentPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/GetComponentPolicy"
      },
      "input":{"shape":"GetComponentPolicyRequest"},
      "output":{"shape":"GetComponentPolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetDistributionConfiguration":{
      "name":"GetDistributionConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/GetDistributionConfiguration"
      },
      "input":{"shape":"GetDistributionConfigurationRequest"},
      "output":{"shape":"GetDistributionConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetImage":{
      "name":"GetImage",
      "http":{
        "method":"GET",
        "requestUri":"/GetImage"
      },
      "input":{"shape":"GetImageRequest"},
      "output":{"shape":"GetImageResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetImagePipeline":{
      "name":"GetImagePipeline",
      "http":{
        "method":"GET",
        "requestUri":"/GetImagePipeline"
      },
      "input":{"shape":"GetImagePipelineRequest"},
      "output":{"shape":"GetImagePipelineResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetImagePolicy":{
      "name":"GetImagePolicy",
      "http":{
        "method":"GET",
        "requestUri":"/GetImagePolicy"
      },
      "input":{"shape":"GetImagePolicyRequest"},
      "output":{"shape":"GetImagePolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetImageRecipe":{
      "name":"GetImageRecipe",
      "http":{
        "method":"GET",
        "requestUri":"/GetImageRecipe"
      },
      "input":{"shape":"GetImageRecipeRequest"},
      "output":{"shape":"GetImageRecipeResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetImageRecipePolicy":{
      "name":"GetImageRecipePolicy",
      "http":{
        "method":"GET",
        "requestUri":"/GetImageRecipePolicy"
      },
      "input":{"shape":"GetImageRecipePolicyRequest"},
      "output":{"shape":"GetImageRecipePolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "GetInfrastructureConfiguration":{
      "name":"GetInfrastructureConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/GetInfrastructureConfiguration"
      },
      "input":{"shape":"GetInfrastructureConfigurationRequest"},
      "output":{"shape":"GetInfrastructureConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ImportComponent":{
      "name":"ImportComponent",
      "http":{
        "method":"PUT",
        "requestUri":"/ImportComponent"
      },
      "input":{"shape":"ImportComponentRequest"},
      "output":{"shape":"ImportComponentResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"InvalidVersionNumberException"},
        {"shape":"ResourceInUseException"},
        {"shape":"InvalidParameterCombinationException"}
      ]
    },
    "ListComponentBuildVersions":{
      "name":"ListComponentBuildVersions",
      "http":{
        "method":"POST",
        "requestUri":"/ListComponentBuildVersions"
      },
      "input":{"shape":"ListComponentBuildVersionsRequest"},
      "output":{"shape":"ListComponentBuildVersionsResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListComponents":{
      "name":"ListComponents",
      "http":{
        "method":"POST",
        "requestUri":"/ListComponents"
      },
      "input":{"shape":"ListComponentsRequest"},
      "output":{"shape":"ListComponentsResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListDistributionConfigurations":{
      "name":"ListDistributionConfigurations",
      "http":{
        "method":"POST",
        "requestUri":"/ListDistributionConfigurations"
      },
      "input":{"shape":"ListDistributionConfigurationsRequest"},
      "output":{"shape":"ListDistributionConfigurationsResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListImageBuildVersions":{
      "name":"ListImageBuildVersions",
      "http":{
        "method":"POST",
        "requestUri":"/ListImageBuildVersions"
      },
      "input":{"shape":"ListImageBuildVersionsRequest"},
      "output":{"shape":"ListImageBuildVersionsResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListImagePipelineImages":{
      "name":"ListImagePipelineImages",
      "http":{
        "method":"POST",
        "requestUri":"/ListImagePipelineImages"
      },
      "input":{"shape":"ListImagePipelineImagesRequest"},
      "output":{"shape":"ListImagePipelineImagesResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListImagePipelines":{
      "name":"ListImagePipelines",
      "http":{
        "method":"POST",
        "requestUri":"/ListImagePipelines"
      },
      "input":{"shape":"ListImagePipelinesRequest"},
      "output":{"shape":"ListImagePipelinesResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListImageRecipes":{
      "name":"ListImageRecipes",
      "http":{
        "method":"POST",
        "requestUri":"/ListImageRecipes"
      },
      "input":{"shape":"ListImageRecipesRequest"},
      "output":{"shape":"ListImageRecipesResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListImages":{
      "name":"ListImages",
      "http":{
        "method":"POST",
        "requestUri":"/ListImages"
      },
      "input":{"shape":"ListImagesRequest"},
      "output":{"shape":"ListImagesResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListInfrastructureConfigurations":{
      "name":"ListInfrastructureConfigurations",
      "http":{
        "method":"POST",
        "requestUri":"/ListInfrastructureConfigurations"
      },
      "input":{"shape":"ListInfrastructureConfigurationsRequest"},
      "output":{"shape":"ListInfrastructureConfigurationsResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidPaginationTokenException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"InvalidParameterException"},
        {"shape":"ResourceNotFoundException"}
      ]
    },
    "PutComponentPolicy":{
      "name":"PutComponentPolicy",
      "http":{
        "method":"PUT",
        "requestUri":"/PutComponentPolicy"
      },
      "input":{"shape":"PutComponentPolicyRequest"},
      "output":{"shape":"PutComponentPolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidParameterValueException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "PutImagePolicy":{
      "name":"PutImagePolicy",
      "http":{
        "method":"PUT",
        "requestUri":"/PutImagePolicy"
      },
      "input":{"shape":"PutImagePolicyRequest"},
      "output":{"shape":"PutImagePolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidParameterValueException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "PutImageRecipePolicy":{
      "name":"PutImageRecipePolicy",
      "http":{
        "method":"PUT",
        "requestUri":"/PutImageRecipePolicy"
      },
      "input":{"shape":"PutImageRecipePolicyRequest"},
      "output":{"shape":"PutImageRecipePolicyResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"InvalidParameterValueException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"}
      ]
    },
    "StartImagePipelineExecution":{
      "name":"StartImagePipelineExecution",
      "http":{
        "method":"PUT",
        "requestUri":"/StartImagePipelineExecution"
      },
      "input":{"shape":"StartImagePipelineExecutionRequest"},
      "output":{"shape":"StartImagePipelineExecutionResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"}
      ]
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"InvalidParameterException"},
        {"shape":"ResourceNotFoundException"}
      ]
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}"
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"InvalidParameterException"},
        {"shape":"ResourceNotFoundException"}
      ]
    },
    "UpdateDistributionConfiguration":{
      "name":"UpdateDistributionConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/UpdateDistributionConfiguration"
      },
      "input":{"shape":"UpdateDistributionConfigurationRequest"},
      "output":{"shape":"UpdateDistributionConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"},
        {"shape":"InvalidParameterCombinationException"}
      ]
    },
    "UpdateImagePipeline":{
      "name":"UpdateImagePipeline",
      "http":{
        "method":"PUT",
        "requestUri":"/UpdateImagePipeline"
      },
      "input":{"shape":"UpdateImagePipelineRequest"},
      "output":{"shape":"UpdateImagePipelineResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"}
      ]
    },
    "UpdateInfrastructureConfiguration":{
      "name":"UpdateInfrastructureConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/UpdateInfrastructureConfiguration"
      },
      "input":{"shape":"UpdateInfrastructureConfigurationRequest"},
      "output":{"shape":"UpdateInfrastructureConfigurationResponse"},
      "errors":[
        {"shape":"ServiceException"},
        {"shape":"ClientException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"InvalidRequestException"},
        {"shape":"IdempotentParameterMismatchException"},
        {"shape":"ForbiddenException"},
        {"shape":"CallRateLimitExceededException"},
        {"shape":"ResourceInUseException"}
      ]
    }
  },
  "shapes":{
    "AccountList":{
      "type":"list",
      "member":{"shape":"NonEmptyString"}
    },
    "Ami":{
      "type":"structure",
      "members":{
        "region":{"shape":"NonEmptyString"},
        "image":{"shape":"NonEmptyString"},
        "name":{"shape":"NonEmptyString"},
        "description":{"shape":"NonEmptyString"},
        "state":{"shape":"ImageState"}
      }
    },
    "AmiDistributionConfiguration":{
      "type":"structure",
      "members":{
        "name":{"shape":"AmiNameString"},
        "description":{"shape":"NonEmptyString"},
        "amiTags":{"shape":"TagMap"},
        "kmsKeyId":{"shape":"NonEmptyString"},
        "launchPermission":{"shape":"LaunchPermissionConfiguration"}
      }
    },
    "AmiList":{
      "type":"list",
      "member":{"shape":"Ami"}
    },
    "AmiNameString":{
      "type":"string",
      "max":127,
      "min":1,
      "pattern":"^[-_A-Za-z0-9{][-_A-Za-z0-9\\s:{}\\.]+[-_A-Za-z0-9}]$"
    },
    "Arn":{"type":"string"},
    "ArnList":{
      "type":"list",
      "member":{"shape":"Arn"}
    },
    "CallRateLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "CancelImageCreationRequest":{
      "type":"structure",
      "required":[
        "imageBuildVersionArn",
        "clientToken"
      ],
      "members":{
        "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CancelImageCreationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}
      }
    },
    "ClientException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ClientToken":{
      "type":"string",
      "max":36,
      "min":1
    },
    "Component":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "description":{"shape":"NonEmptyString"},
        "changeDescription":{"shape":"NonEmptyString"},
        "type":{"shape":"ComponentType"},
        "platform":{"shape":"Platform"},
        "supportedOsVersions":{"shape":"OsVersionList"},
        "owner":{"shape":"NonEmptyString"},
        "data":{"shape":"ComponentData"},
        "kmsKeyId":{"shape":"NonEmptyString"},
        "encrypted":{"shape":"NullableBoolean"},
        "dateCreated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ComponentBuildVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$"
    },
    "ComponentConfiguration":{
      "type":"structure",
      "required":["componentArn"],
      "members":{
        "componentArn":{"shape":"ComponentVersionArnOrBuildVersionArn"}
      }
    },
    "ComponentConfigurationList":{
      "type":"list",
      "member":{"shape":"ComponentConfiguration"},
      "min":1
    },
    "ComponentData":{"type":"string"},
    "ComponentFormat":{
      "type":"string",
      "enum":["SHELL"]
    },
    "ComponentSummary":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "platform":{"shape":"Platform"},
        "supportedOsVersions":{"shape":"OsVersionList"},
        "type":{"shape":"ComponentType"},
        "owner":{"shape":"NonEmptyString"},
        "description":{"shape":"NonEmptyString"},
        "changeDescription":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ComponentSummaryList":{
      "type":"list",
      "member":{"shape":"ComponentSummary"}
    },
    "ComponentType":{
      "type":"string",
      "enum":[
        "BUILD",
        "TEST"
      ]
    },
    "ComponentVersion":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "description":{"shape":"NonEmptyString"},
        "platform":{"shape":"Platform"},
        "supportedOsVersions":{"shape":"OsVersionList"},
        "type":{"shape":"ComponentType"},
        "owner":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"}
      }
    },
    "ComponentVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$"
    },
    "ComponentVersionArnOrBuildVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/(?:(?:(\\d+|x)\\.(\\d+|x)\\.(\\d+|x))|(?:\\d+\\.\\d+\\.\\d+/\\d+))$"
    },
    "ComponentVersionList":{
      "type":"list",
      "member":{"shape":"ComponentVersion"}
    },
    "CreateComponentRequest":{
      "type":"structure",
      "required":[
        "name",
        "semanticVersion",
        "platform",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "semanticVersion":{"shape":"VersionNumber"},
        "description":{"shape":"NonEmptyString"},
        "changeDescription":{"shape":"NonEmptyString"},
        "platform":{"shape":"Platform"},
        "supportedOsVersions":{"shape":"OsVersionList"},
        "data":{"shape":"InlineComponentData"},
        "uri":{"shape":"Uri"},
        "kmsKeyId":{"shape":"NonEmptyString"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateComponentResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"}
      }
    },
    "CreateDistributionConfigurationRequest":{
      "type":"structure",
      "required":[
        "name",
        "distributions",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "distributions":{"shape":"DistributionList"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateDistributionConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}
      }
    },
    "CreateImagePipelineRequest":{
      "type":"structure",
      "required":[
        "name",
        "imageRecipeArn",
        "infrastructureConfigurationArn",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "imageRecipeArn":{"shape":"ImageRecipeArn"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"},
        "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"},
        "enhancedImageMetadataEnabled":{"shape":"NullableBoolean"},
        "schedule":{"shape":"Schedule"},
        "status":{"shape":"PipelineStatus"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateImagePipelineResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imagePipelineArn":{"shape":"ImagePipelineArn"}
      }
    },
    "CreateImageRecipeRequest":{
      "type":"structure",
      "required":[
        "name",
        "semanticVersion",
        "components",
        "parentImage",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "semanticVersion":{"shape":"VersionNumber"},
        "components":{"shape":"ComponentConfigurationList"},
        "parentImage":{"shape":"NonEmptyString"},
        "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"},
        "tags":{"shape":"TagMap"},
        "workingDirectory":{"shape":"NonEmptyString"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateImageRecipeResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imageRecipeArn":{"shape":"ImageRecipeArn"}
      }
    },
    "CreateImageRequest":{
      "type":"structure",
      "required":[
        "imageRecipeArn",
        "infrastructureConfigurationArn",
        "clientToken"
      ],
      "members":{
        "imageRecipeArn":{"shape":"ImageRecipeArn"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"},
        "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"},
        "enhancedImageMetadataEnabled":{"shape":"NullableBoolean"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateImageResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}
      }
    },
    "CreateInfrastructureConfigurationRequest":{
      "type":"structure",
      "required":[
        "name",
        "instanceProfileName",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "instanceTypes":{"shape":"InstanceTypeList"},
        "instanceProfileName":{"shape":"NonEmptyString"},
        "securityGroupIds":{"shape":"SecurityGroupIds"},
        "subnetId":{"shape":"NonEmptyString"},
        "logging":{"shape":"Logging"},
        "keyPair":{"shape":"NonEmptyString"},
        "terminateInstanceOnFailure":{"shape":"NullableBoolean"},
        "snsTopicArn":{"shape":"SnsTopicArn"},
        "resourceTags":{"shape":"ResourceTagMap"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "CreateInfrastructureConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}
      }
    },
    "DateTime":{"type":"string"},
    "DeleteComponentRequest":{
      "type":"structure",
      "required":["componentBuildVersionArn"],
      "members":{
        "componentBuildVersionArn":{
          "shape":"ComponentBuildVersionArn",
          "location":"querystring",
          "locationName":"componentBuildVersionArn"
        }
      }
    },
    "DeleteComponentResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"}
      }
    },
    "DeleteDistributionConfigurationRequest":{
      "type":"structure",
      "required":["distributionConfigurationArn"],
      "members":{
        "distributionConfigurationArn":{
          "shape":"DistributionConfigurationArn",
          "location":"querystring",
          "locationName":"distributionConfigurationArn"
        }
      }
    },
    "DeleteDistributionConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}
      }
    },
    "DeleteImagePipelineRequest":{
      "type":"structure",
      "required":["imagePipelineArn"],
      "members":{
        "imagePipelineArn":{
          "shape":"ImagePipelineArn",
          "location":"querystring",
          "locationName":"imagePipelineArn"
        }
      }
    },
    "DeleteImagePipelineResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imagePipelineArn":{"shape":"ImagePipelineArn"}
      }
    },
    "DeleteImageRecipeRequest":{
      "type":"structure",
      "required":["imageRecipeArn"],
      "members":{
        "imageRecipeArn":{
          "shape":"ImageRecipeArn",
          "location":"querystring",
          "locationName":"imageRecipeArn"
        }
      }
    },
    "DeleteImageRecipeResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageRecipeArn":{"shape":"ImageRecipeArn"}
      }
    },
    "DeleteImageRequest":{
      "type":"structure",
      "required":["imageBuildVersionArn"],
      "members":{
        "imageBuildVersionArn":{
          "shape":"ImageBuildVersionArn",
          "location":"querystring",
          "locationName":"imageBuildVersionArn"
        }
      }
    },
    "DeleteImageResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}
      }
    },
    "DeleteInfrastructureConfigurationRequest":{
      "type":"structure",
      "required":["infrastructureConfigurationArn"],
      "members":{
        "infrastructureConfigurationArn":{
          "shape":"InfrastructureConfigurationArn",
          "location":"querystring",
          "locationName":"infrastructureConfigurationArn"
        }
      }
    },
    "DeleteInfrastructureConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}
      }
    },
    "Distribution":{
      "type":"structure",
      "required":["region"],
      "members":{
        "region":{"shape":"NonEmptyString"},
        "amiDistributionConfiguration":{"shape":"AmiDistributionConfiguration"},
        "licenseConfigurationArns":{"shape":"ArnList"}
      }
    },
    "DistributionConfiguration":{
      "type":"structure",
      "required":["timeoutMinutes"],
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "distributions":{"shape":"DistributionList"},
        "timeoutMinutes":{"shape":"DistributionTimeoutMinutes"},
        "dateCreated":{"shape":"DateTime"},
        "dateUpdated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "DistributionConfigurationArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):distribution-configuration/[a-z0-9-_]+$"
    },
    "DistributionConfigurationSummary":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "dateUpdated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "DistributionConfigurationSummaryList":{
      "type":"list",
      "member":{"shape":"DistributionConfigurationSummary"}
    },
    "DistributionList":{
      "type":"list",
      "member":{"shape":"Distribution"}
    },
    "DistributionTimeoutMinutes":{
      "type":"integer",
      "max":720,
      "min":30
    },
    "EbsInstanceBlockDeviceSpecification":{
      "type":"structure",
      "members":{
        "encrypted":{"shape":"NullableBoolean"},
        "deleteOnTermination":{"shape":"NullableBoolean"},
        "iops":{"shape":"EbsIopsInteger"},
        "kmsKeyId":{"shape":"NonEmptyString"},
        "snapshotId":{"shape":"NonEmptyString"},
        "volumeSize":{"shape":"EbsVolumeSizeInteger"},
        "volumeType":{"shape":"EbsVolumeType"}
      }
    },
    "EbsIopsInteger":{
      "type":"integer",
      "max":10000,
      "min":100
    },
    "EbsVolumeSizeInteger":{
      "type":"integer",
      "max":16000,
      "min":1
    },
    "EbsVolumeType":{
      "type":"string",
      "enum":[
        "standard",
        "io1",
        "gp2",
        "sc1",
        "st1"
      ]
    },
    "EmptyString":{
      "type":"string",
      "max":0,
      "min":0
    },
    "ErrorMessage":{"type":"string"},
    "Filter":{
      "type":"structure",
      "members":{
        "name":{"shape":"FilterName"},
        "values":{"shape":"FilterValues"}
      }
    },
    "FilterList":{
      "type":"list",
      "member":{"shape":"Filter"},
      "max":10,
      "min":1
    },
    "FilterName":{
      "type":"string",
      "pattern":"^[a-zA-Z]{1,1024}$"
    },
    "FilterValue":{
      "type":"string",
      "pattern":"^[0-9a-zA-Z./_ :-]{1,1024}$"
    },
    "FilterValues":{
      "type":"list",
      "member":{"shape":"FilterValue"},
      "max":10,
      "min":1
    },
    "ForbiddenException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":403},
      "exception":true
    },
    "GetComponentPolicyRequest":{
      "type":"structure",
      "required":["componentArn"],
      "members":{
        "componentArn":{
          "shape":"ComponentBuildVersionArn",
          "location":"querystring",
          "locationName":"componentArn"
        }
      }
    },
    "GetComponentPolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "GetComponentRequest":{
      "type":"structure",
      "required":["componentBuildVersionArn"],
      "members":{
        "componentBuildVersionArn":{
          "shape":"ComponentVersionArnOrBuildVersionArn",
          "location":"querystring",
          "locationName":"componentBuildVersionArn"
        }
      }
    },
    "GetComponentResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "component":{"shape":"Component"}
      }
    },
    "GetDistributionConfigurationRequest":{
      "type":"structure",
      "required":["distributionConfigurationArn"],
      "members":{
        "distributionConfigurationArn":{
          "shape":"DistributionConfigurationArn",
          "location":"querystring",
          "locationName":"distributionConfigurationArn"
        }
      }
    },
    "GetDistributionConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "distributionConfiguration":{"shape":"DistributionConfiguration"}
      }
    },
    "GetImagePipelineRequest":{
      "type":"structure",
      "required":["imagePipelineArn"],
      "members":{
        "imagePipelineArn":{
          "shape":"ImagePipelineArn",
          "location":"querystring",
          "locationName":"imagePipelineArn"
        }
      }
    },
    "GetImagePipelineResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imagePipeline":{"shape":"ImagePipeline"}
      }
    },
    "GetImagePolicyRequest":{
      "type":"structure",
      "required":["imageArn"],
      "members":{
        "imageArn":{
          "shape":"ImageBuildVersionArn",
          "location":"querystring",
          "locationName":"imageArn"
        }
      }
    },
    "GetImagePolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "GetImageRecipePolicyRequest":{
      "type":"structure",
      "required":["imageRecipeArn"],
      "members":{
        "imageRecipeArn":{
          "shape":"ImageRecipeArn",
          "location":"querystring",
          "locationName":"imageRecipeArn"
        }
      }
    },
    "GetImageRecipePolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "GetImageRecipeRequest":{
      "type":"structure",
      "required":["imageRecipeArn"],
      "members":{
        "imageRecipeArn":{
          "shape":"ImageRecipeArn",
          "location":"querystring",
          "locationName":"imageRecipeArn"
        }
      }
    },
    "GetImageRecipeResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageRecipe":{"shape":"ImageRecipe"}
      }
    },
    "GetImageRequest":{
      "type":"structure",
      "required":["imageBuildVersionArn"],
      "members":{
        "imageBuildVersionArn":{
          "shape":"ImageVersionArnOrBuildVersionArn",
          "location":"querystring",
          "locationName":"imageBuildVersionArn"
        }
      }
    },
    "GetImageResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "image":{"shape":"Image"}
      }
    },
    "GetInfrastructureConfigurationRequest":{
      "type":"structure",
      "required":["infrastructureConfigurationArn"],
      "members":{
        "infrastructureConfigurationArn":{
          "shape":"InfrastructureConfigurationArn",
          "location":"querystring",
          "locationName":"infrastructureConfigurationArn"
        }
      }
    },
    "GetInfrastructureConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "infrastructureConfiguration":{"shape":"InfrastructureConfiguration"}
      }
    },
    "IdempotentParameterMismatchException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "Image":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "platform":{"shape":"Platform"},
        "enhancedImageMetadataEnabled":{"shape":"NullableBoolean"},
        "osVersion":{"shape":"OsVersion"},
        "state":{"shape":"ImageState"},
        "imageRecipe":{"shape":"ImageRecipe"},
        "sourcePipelineName":{"shape":"ResourceName"},
        "sourcePipelineArn":{"shape":"Arn"},
        "infrastructureConfiguration":{"shape":"InfrastructureConfiguration"},
        "distributionConfiguration":{"shape":"DistributionConfiguration"},
        "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"},
        "dateCreated":{"shape":"DateTime"},
        "outputResources":{"shape":"OutputResources"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ImageBuildVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$"
    },
    "ImageBuilderArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\\d+)\\.(?:x|\\d+)\\.(?:x|\\d+))(?:/\\d+)?)?$"
    },
    "ImagePipeline":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "platform":{"shape":"Platform"},
        "enhancedImageMetadataEnabled":{"shape":"NullableBoolean"},
        "imageRecipeArn":{"shape":"Arn"},
        "infrastructureConfigurationArn":{"shape":"Arn"},
        "distributionConfigurationArn":{"shape":"Arn"},
        "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"},
        "schedule":{"shape":"Schedule"},
        "status":{"shape":"PipelineStatus"},
        "dateCreated":{"shape":"DateTime"},
        "dateUpdated":{"shape":"DateTime"},
        "dateLastRun":{"shape":"DateTime"},
        "dateNextRun":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ImagePipelineArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-pipeline/[a-z0-9-_]+$"
    },
    "ImagePipelineList":{
      "type":"list",
      "member":{"shape":"ImagePipeline"}
    },
    "ImageRecipe":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "platform":{"shape":"Platform"},
        "owner":{"shape":"NonEmptyString"},
        "version":{"shape":"VersionNumber"},
        "components":{"shape":"ComponentConfigurationList"},
        "parentImage":{"shape":"NonEmptyString"},
        "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"},
        "dateCreated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"},
        "workingDirectory":{"shape":"NonEmptyString"}
      }
    },
    "ImageRecipeArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-recipe/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$"
    },
    "ImageRecipeSummary":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "platform":{"shape":"Platform"},
        "owner":{"shape":"NonEmptyString"},
        "parentImage":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ImageRecipeSummaryList":{
      "type":"list",
      "member":{"shape":"ImageRecipeSummary"}
    },
    "ImageState":{
      "type":"structure",
      "members":{
        "status":{"shape":"ImageStatus"},
        "reason":{"shape":"NonEmptyString"}
      }
    },
    "ImageStatus":{
      "type":"string",
      "enum":[
        "PENDING",
        "CREATING",
        "BUILDING",
        "TESTING",
        "DISTRIBUTING",
        "INTEGRATING",
        "AVAILABLE",
        "CANCELLED",
        "FAILED",
        "DEPRECATED",
        "DELETED"
      ]
    },
    "ImageSummary":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "platform":{"shape":"Platform"},
        "osVersion":{"shape":"OsVersion"},
        "state":{"shape":"ImageState"},
        "owner":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "outputResources":{"shape":"OutputResources"},
        "tags":{"shape":"TagMap"}
      }
    },
    "ImageSummaryList":{
      "type":"list",
      "member":{"shape":"ImageSummary"}
    },
    "ImageTestsConfiguration":{
      "type":"structure",
      "members":{
        "imageTestsEnabled":{"shape":"NullableBoolean"},
        "timeoutMinutes":{"shape":"ImageTestsTimeoutMinutes"}
      }
    },
    "ImageTestsTimeoutMinutes":{
      "type":"integer",
      "max":1440,
      "min":60
    },
    "ImageVersion":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "version":{"shape":"VersionNumber"},
        "platform":{"shape":"Platform"},
        "osVersion":{"shape":"OsVersion"},
        "owner":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"}
      }
    },
    "ImageVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$"
    },
    "ImageVersionArnOrBuildVersionArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/(?:(?:(\\d+|x)\\.(\\d+|x)\\.(\\d+|x))|(?:\\d+\\.\\d+\\.\\d+/\\d+))$"
    },
    "ImageVersionList":{
      "type":"list",
      "member":{"shape":"ImageVersion"}
    },
    "ImportComponentRequest":{
      "type":"structure",
      "required":[
        "name",
        "semanticVersion",
        "type",
        "format",
        "platform",
        "clientToken"
      ],
      "members":{
        "name":{"shape":"ResourceName"},
        "semanticVersion":{"shape":"VersionNumber"},
        "description":{"shape":"NonEmptyString"},
        "changeDescription":{"shape":"NonEmptyString"},
        "type":{"shape":"ComponentType"},
        "format":{"shape":"ComponentFormat"},
        "platform":{"shape":"Platform"},
        "data":{"shape":"NonEmptyString"},
        "uri":{"shape":"Uri"},
        "kmsKeyId":{"shape":"NonEmptyString"},
        "tags":{"shape":"TagMap"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "ImportComponentResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"}
      }
    },
    "InfrastructureConfiguration":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "instanceTypes":{"shape":"InstanceTypeList"},
        "instanceProfileName":{"shape":"NonEmptyString"},
        "securityGroupIds":{"shape":"SecurityGroupIds"},
        "subnetId":{"shape":"NonEmptyString"},
        "logging":{"shape":"Logging"},
        "keyPair":{"shape":"NonEmptyString"},
        "terminateInstanceOnFailure":{"shape":"NullableBoolean"},
        "snsTopicArn":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "dateUpdated":{"shape":"DateTime"},
        "resourceTags":{"shape":"ResourceTagMap"},
        "tags":{"shape":"TagMap"}
      }
    },
    "InfrastructureConfigurationArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):infrastructure-configuration/[a-z0-9-_]+$"
    },
    "InfrastructureConfigurationSummary":{
      "type":"structure",
      "members":{
        "arn":{"shape":"ImageBuilderArn"},
        "name":{"shape":"ResourceName"},
        "description":{"shape":"NonEmptyString"},
        "dateCreated":{"shape":"DateTime"},
        "dateUpdated":{"shape":"DateTime"},
        "resourceTags":{"shape":"ResourceTagMap"},
        "tags":{"shape":"TagMap"}
      }
    },
    "InfrastructureConfigurationSummaryList":{
      "type":"list",
      "member":{"shape":"InfrastructureConfigurationSummary"}
    },
    "InlineComponentData":{
      "type":"string",
      "max":16000,
      "min":1
    },
    "InstanceBlockDeviceMapping":{
      "type":"structure",
      "members":{
        "deviceName":{"shape":"NonEmptyString"},
        "ebs":{"shape":"EbsInstanceBlockDeviceSpecification"},
        "virtualName":{"shape":"NonEmptyString"},
        "noDevice":{"shape":"EmptyString"}
      }
    },
    "InstanceBlockDeviceMappings":{
      "type":"list",
      "member":{"shape":"InstanceBlockDeviceMapping"}
    },
    "InstanceType":{"type":"string"},
    "InstanceTypeList":{
      "type":"list",
      "member":{"shape":"InstanceType"}
    },
    "InvalidPaginationTokenException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "InvalidParameterCombinationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "InvalidParameterException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "InvalidParameterValueException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "InvalidRequestException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "InvalidVersionNumberException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "LaunchPermissionConfiguration":{
      "type":"structure",
      "members":{
        "userIds":{"shape":"AccountList"},
        "userGroups":{"shape":"StringList"}
      }
    },
    "ListComponentBuildVersionsRequest":{
      "type":"structure",
      "required":["componentVersionArn"],
      "members":{
        "componentVersionArn":{"shape":"ComponentVersionArn"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListComponentBuildVersionsResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "componentSummaryList":{"shape":"ComponentSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListComponentsRequest":{
      "type":"structure",
      "members":{
        "owner":{"shape":"Ownership"},
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListComponentsResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "componentVersionList":{"shape":"ComponentVersionList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListDistributionConfigurationsRequest":{
      "type":"structure",
      "members":{
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListDistributionConfigurationsResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "distributionConfigurationSummaryList":{"shape":"DistributionConfigurationSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImageBuildVersionsRequest":{
      "type":"structure",
      "required":["imageVersionArn"],
      "members":{
        "imageVersionArn":{"shape":"ImageVersionArn"},
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImageBuildVersionsResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageSummaryList":{"shape":"ImageSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagePipelineImagesRequest":{
      "type":"structure",
      "required":["imagePipelineArn"],
      "members":{
        "imagePipelineArn":{"shape":"ImagePipelineArn"},
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagePipelineImagesResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageSummaryList":{"shape":"ImageSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagePipelinesRequest":{
      "type":"structure",
      "members":{
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagePipelinesResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imagePipelineList":{"shape":"ImagePipelineList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImageRecipesRequest":{
      "type":"structure",
      "members":{
        "owner":{"shape":"Ownership"},
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImageRecipesResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageRecipeSummaryList":{"shape":"ImageRecipeSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagesRequest":{
      "type":"structure",
      "members":{
        "owner":{"shape":"Ownership"},
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListImagesResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageVersionList":{"shape":"ImageVersionList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListInfrastructureConfigurationsRequest":{
      "type":"structure",
      "members":{
        "filters":{"shape":"FilterList"},
        "maxResults":{
          "shape":"RestrictedInteger",
          "box":true
        },
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListInfrastructureConfigurationsResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "infrastructureConfigurationSummaryList":{"shape":"InfrastructureConfigurationSummaryList"},
        "nextToken":{"shape":"NonEmptyString"}
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"ImageBuilderArn",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{"shape":"TagMap"}
      }
    },
    "Logging":{
      "type":"structure",
      "members":{
        "s3Logs":{"shape":"S3Logs"}
      }
    },
    "NonEmptyString":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "NullableBoolean":{"type":"boolean"},
    "OsVersion":{
      "type":"string",
      "min":1
    },
    "OsVersionList":{
      "type":"list",
      "member":{"shape":"OsVersion"},
      "max":25,
      "min":1
    },
    "OutputResources":{
      "type":"structure",
      "members":{
        "amis":{"shape":"AmiList"}
      }
    },
    "Ownership":{
      "type":"string",
      "enum":[
        "Self",
        "Shared",
        "Amazon"
      ]
    },
    "PipelineExecutionStartCondition":{
      "type":"string",
      "enum":[
        "EXPRESSION_MATCH_ONLY",
        "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
      ]
    },
    "PipelineStatus":{
      "type":"string",
      "enum":[
        "DISABLED",
        "ENABLED"
      ]
    },
    "Platform":{
      "type":"string",
      "enum":[
        "Windows",
        "Linux"
      ]
    },
    "PutComponentPolicyRequest":{
      "type":"structure",
      "required":[
        "componentArn",
        "policy"
      ],
      "members":{
        "componentArn":{"shape":"ComponentBuildVersionArn"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "PutComponentPolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "componentArn":{"shape":"ComponentBuildVersionArn"}
      }
    },
    "PutImagePolicyRequest":{
      "type":"structure",
      "required":[
        "imageArn",
        "policy"
      ],
      "members":{
        "imageArn":{"shape":"ImageBuildVersionArn"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "PutImagePolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageArn":{"shape":"ImageBuildVersionArn"}
      }
    },
    "PutImageRecipePolicyRequest":{
      "type":"structure",
      "required":[
        "imageRecipeArn",
        "policy"
      ],
      "members":{
        "imageRecipeArn":{"shape":"ImageRecipeArn"},
        "policy":{"shape":"ResourcePolicyDocument"}
      }
    },
    "PutImageRecipePolicyResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "imageRecipeArn":{"shape":"ImageRecipeArn"}
      }
    },
    "ResourceAlreadyExistsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ResourceDependencyException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ResourceInUseException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ResourceName":{
      "type":"string",
      "pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "ResourcePolicyDocument":{
      "type":"string",
      "max":30000,
      "min":1
    },
    "ResourceTagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":30,
      "min":1
    },
    "RestrictedInteger":{
      "type":"integer",
      "max":25,
      "min":1
    },
    "S3Logs":{
      "type":"structure",
      "members":{
        "s3BucketName":{"shape":"NonEmptyString"},
        "s3KeyPrefix":{"shape":"NonEmptyString"}
      }
    },
    "Schedule":{
      "type":"structure",
      "members":{
        "scheduleExpression":{"shape":"NonEmptyString"},
        "pipelineExecutionStartCondition":{"shape":"PipelineExecutionStartCondition"}
      }
    },
    "SecurityGroupIds":{
      "type":"list",
      "member":{"shape":"NonEmptyString"}
    },
    "ServiceException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":500},
      "exception":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":402},
      "exception":true
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "error":{"httpStatusCode":503},
      "exception":true
    },
    "SnsTopicArn":{
      "type":"string",
      "pattern":"^arn:aws[^:]*:sns:[^:]+:\\d{12}:[a-zA-Z0-9-_]{1,256}$"
    },
    "StartImagePipelineExecutionRequest":{
      "type":"structure",
      "required":[
        "imagePipelineArn",
        "clientToken"
      ],
      "members":{
        "imagePipelineArn":{"shape":"ImagePipelineArn"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "StartImagePipelineExecutionResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}
      }
    },
    "StringList":{
      "type":"list",
      "member":{"shape":"NonEmptyString"}
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":50,
      "min":1
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"ImageBuilderArn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{"shape":"TagMap"}
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":256
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"ImageBuilderArn",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDistributionConfigurationRequest":{
      "type":"structure",
      "required":[
        "distributionConfigurationArn",
        "distributions",
        "clientToken"
      ],
      "members":{
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"},
        "description":{"shape":"NonEmptyString"},
        "distributions":{"shape":"DistributionList"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateDistributionConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}
      }
    },
    "UpdateImagePipelineRequest":{
      "type":"structure",
      "required":[
        "imagePipelineArn",
        "imageRecipeArn",
        "infrastructureConfigurationArn",
        "clientToken"
      ],
      "members":{
        "imagePipelineArn":{"shape":"ImagePipelineArn"},
        "description":{"shape":"NonEmptyString"},
        "imageRecipeArn":{"shape":"ImageRecipeArn"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"},
        "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"},
        "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"},
        "enhancedImageMetadataEnabled":{"shape":"NullableBoolean"},
        "schedule":{"shape":"Schedule"},
        "status":{"shape":"PipelineStatus"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        }
      }
    },
    "UpdateImagePipelineResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "imagePipelineArn":{"shape":"ImagePipelineArn"}
      }
    },
    "UpdateInfrastructureConfigurationRequest":{
      "type":"structure",
      "required":[
        "infrastructureConfigurationArn",
        "instanceProfileName",
        "clientToken"
      ],
      "members":{
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"},
        "description":{"shape":"NonEmptyString"},
        "instanceTypes":{"shape":"InstanceTypeList"},
        "instanceProfileName":{"shape":"NonEmptyString"},
        "securityGroupIds":{"shape":"SecurityGroupIds"},
        "subnetId":{"shape":"NonEmptyString"},
        "logging":{"shape":"Logging"},
        "keyPair":{"shape":"NonEmptyString"},
        "terminateInstanceOnFailure":{"shape":"NullableBoolean"},
        "snsTopicArn":{"shape":"SnsTopicArn"},
        "clientToken":{
          "shape":"ClientToken",
          "idempotencyToken":true
        },
        "resourceTags":{"shape":"ResourceTagMap"}
      }
    },
    "UpdateInfrastructureConfigurationResponse":{
      "type":"structure",
      "members":{
        "requestId":{"shape":"NonEmptyString"},
        "clientToken":{"shape":"ClientToken"},
        "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}
      }
    },
    "Uri":{"type":"string"},
    "VersionNumber":{
      "type":"string",
      "pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"
    }
  }
}
