AWS Signer icon

AWS Signer

<p>AWS Signer is a fully managed code signing service to help you ensure the trust and integrity of your code

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2017-08-25",
    "x-release": "v4",
    "title": "AWS Signer",
    "description": "<p>AWS Signer is a fully managed code signing service to help you ensure the trust and integrity of your code. </p> <p>AWS Signer supports the following applications:</p> <p>With <i>code signing for AWS Lambda</i>, you can sign AWS Lambda deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, and AWS CloudTrail. In order to sign code, you create a signing profile and then use Signer to sign Lambda zip files in S3. </p> <p>With <i>code signing for IoT</i>, you can sign code for any IoT device that is supported by AWS. IoT code signing is available for <a href=\"http://docs.aws.amazon.com/freertos/latest/userguide/\">Amazon FreeRTOS</a> and <a href=\"http://docs.aws.amazon.com/iot/latest/developerguide/\">AWS IoT Device Management</a>, and is integrated with <a href=\"http://docs.aws.amazon.com/acm/latest/userguide/\">AWS Certificate Manager (ACM)</a>. In order to sign code, you import a third-party code signing certificate using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT Device Management. </p> <p>For more information about AWS Signer, see the <a href=\"http://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html\">AWS Signer Developer Guide</a>.</p> <p/>",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "signer",
    "x-aws-signingName": "signer",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/signer-2017-08-25.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/signer/"
  },
  "servers": [
    {
      "url": "http://signer.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The signer multi-region endpoint"
    },
    {
      "url": "https://signer.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The signer multi-region endpoint"
    },
    {
      "url": "http://signer.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The signer endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://signer.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The signer endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/signing-profiles/{profileName}/permissions": {
      "post": {
        "operationId": "AddProfilePermission",
        "description": "Adds cross-account permissions to a signing profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddProfilePermissionResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "485": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "486": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "The human-readable name of the signing profile.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "action",
                  "principal",
                  "statementId"
                ],
                "properties": {
                  "profileVersion": {
                    "description": "The version of the signing profile.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9]{10}$",
                    "minLength": 10,
                    "maxLength": 10
                  },
                  "action": {
                    "description": "The AWS Signer action permitted as part of cross-account permissions.",
                    "type": "string"
                  },
                  "principal": {
                    "description": "The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID.",
                    "type": "string"
                  },
                  "revisionId": {
                    "description": "A unique identifier for the current profile revision.",
                    "type": "string"
                  },
                  "statementId": {
                    "description": "A unique identifier for the cross-account permission statement.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListProfilePermissions",
        "description": "Lists the cross-account permissions associated with a signing profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListProfilePermissionsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "Name of the signing profile containing the cross-account permissions.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "String for specifying the next set of paginated results.",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/signing-profiles/{profileName}": {
      "delete": {
        "operationId": "CancelSigningProfile",
        "description": "Changes the state of an <code>ACTIVE</code> signing profile to <code>CANCELED</code>. A canceled profile is still viewable with the <code>ListSigningProfiles</code> operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "The name of the signing profile to be canceled.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetSigningProfile",
        "description": "Returns information on a specific signing profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSigningProfileResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "The name of the target signing profile.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          },
          {
            "name": "profileOwner",
            "in": "query",
            "required": false,
            "description": "The AWS account ID of the profile owner.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9]{12}$",
              "minLength": 12,
              "maxLength": 12
            }
          }
        ]
      },
      "put": {
        "operationId": "PutSigningProfile",
        "description": "Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre-defined signing job. For more information, see <a href=\"http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html\">http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html</a> ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutSigningProfileResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "The name of the signing profile to be created.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "platformId"
                ],
                "properties": {
                  "signingMaterial": {
                    "description": "The ACM certificate that is used to sign your code.",
                    "type": "object",
                    "properties": {
                      "certificateArn": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/CertificateArn"
                          },
                          {
                            "description": "The Amazon Resource Name (ARN) of the certificates that is used to sign your code."
                          }
                        ]
                      }
                    }
                  },
                  "signatureValidityPeriod": {
                    "description": "The validity period for a signing job.",
                    "type": "object",
                    "properties": {
                      "value": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Integer"
                          },
                          {
                            "description": "The numerical value of the time unit for signature validity."
                          }
                        ]
                      },
                      "type": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ValidityType"
                          },
                          {
                            "description": "The time unit for signature validity."
                          }
                        ]
                      }
                    }
                  },
                  "platformId": {
                    "description": "The ID of the signing platform to be created.",
                    "type": "string"
                  },
                  "overrides": {
                    "description": "Any overrides that are applied to the signing configuration of a code signing platform.",
                    "type": "object",
                    "properties": {
                      "signingConfiguration": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/SigningConfigurationOverrides"
                          },
                          {
                            "description": "A signing configuration that overrides the default encryption or hash algorithm of a signing job."
                          }
                        ]
                      },
                      "signingImageFormat": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ImageFormat"
                          },
                          {
                            "description": "A signed image is a JSON object. When overriding the default signing platform configuration, a customer can select either of two signing formats, <code>JSONEmbedded</code> or <code>JSONDetached</code>. (A third format value, <code>JSON</code>, is reserved for future use.) With <code>JSONEmbedded</code>, the signing image has the payload embedded in it. With <code>JSONDetached</code>, the payload is not be embedded in the signing image."
                          }
                        ]
                      }
                    }
                  },
                  "signingParameters": {
                    "description": "Map of key-value pairs for signing. These can include any information that you want to use during signing.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SigningParameterValue"
                    }
                  },
                  "tags": {
                    "description": "Tags to be associated with the signing profile that is being created.",
                    "type": "object",
                    "minProperties": 1,
                    "maxProperties": 200,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/signing-jobs/{jobId}": {
      "get": {
        "operationId": "DescribeSigningJob",
        "description": "Returns information about a specific code signing job. You specify the job by using the <code>jobId</code> value that is returned by the <a>StartSigningJob</a> operation. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSigningJobResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": "The ID of the signing job on input.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/signing-platforms/{platformId}": {
      "get": {
        "operationId": "GetSigningPlatform",
        "description": "Returns information on a specific signing platform.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSigningPlatformResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "platformId",
            "in": "path",
            "required": true,
            "description": "The ID of the target signing platform.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/signing-jobs": {
      "get": {
        "operationId": "ListSigningJobs",
        "description": "Lists all your signing jobs. You can use the <code>maxResults</code> parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a <code>nextToken</code> value. Use this value in subsequent calls to <code>ListSigningJobs</code> to fetch the remaining values. You can continue calling <code>ListSigningJobs</code> with your <code>maxResults</code> parameter and with new values that code signing returns in the <code>nextToken</code> parameter until all of your signing jobs have been returned. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSigningJobsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "A status value with which to filter your results.",
            "schema": {
              "type": "string",
              "enum": [
                "InProgress",
                "Failed",
                "Succeeded"
              ]
            }
          },
          {
            "name": "platformId",
            "in": "query",
            "required": false,
            "description": "The ID of microcontroller platform that you specified for the distribution of your code image.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestedBy",
            "in": "query",
            "required": false,
            "description": "The IAM principal that requested the signing job.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Specifies the maximum number of items to return in the response. Use this parameter when paginating results. If additional items exist beyond the number you specify, the <code>nextToken</code> element is set in the response. Use the <code>nextToken</code> value in a subsequent request to retrieve additional items. ",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of <code>nextToken</code> from the response that you just received.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isRevoked",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs with revoked signatures.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "signatureExpiresBefore",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs with signatures expiring before a specified timestamp.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "signatureExpiresAfter",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs with signatures expiring after a specified timestamp.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "jobInvoker",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs initiated by a specified IAM entity.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9]{12}$",
              "minLength": 12,
              "maxLength": 12
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "StartSigningJob",
        "description": "<p>Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the <code>ListSigningJobs</code> operation for two years after they are performed. Note the following requirements: </p> <ul> <li> <p> You must create an Amazon S3 source bucket. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html\">Create a Bucket</a> in the <i>Amazon S3 Getting Started Guide</i>. </p> </li> <li> <p>Your S3 source bucket must be version enabled.</p> </li> <li> <p>You must create an S3 destination bucket. Code signing uses your S3 destination bucket to write your signed code.</p> </li> <li> <p>You specify the name of the source and destination buckets when calling the <code>StartSigningJob</code> operation.</p> </li> <li> <p>You must also specify a request token that identifies your request to code signing.</p> </li> </ul> <p>You can call the <a>DescribeSigningJob</a> and the <a>ListSigningJobs</a> actions after you call <code>StartSigningJob</code>.</p> <p>For a Java example that shows how to use this action, see <a href=\"http://docs.aws.amazon.com/acm/latest/userguide/\">http://docs.aws.amazon.com/acm/latest/userguide/</a> </p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartSigningJobResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottlingException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingException"
                }
              }
            }
          },
          "484": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "485": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "source",
                  "destination",
                  "profileName",
                  "clientRequestToken"
                ],
                "properties": {
                  "source": {
                    "description": "An <code>S3Source</code> object that contains information about the S3 bucket where you saved your unsigned code.",
                    "type": "object",
                    "properties": {
                      "s3": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3Source"
                          },
                          {
                            "description": "The <code>S3Source</code> object."
                          }
                        ]
                      }
                    }
                  },
                  "destination": {
                    "description": "Points to an <code>S3Destination</code> object that contains information about your S3 bucket.",
                    "type": "object",
                    "properties": {
                      "s3": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3Destination"
                          },
                          {
                            "description": "The <code>S3Destination</code> object."
                          }
                        ]
                      }
                    }
                  },
                  "profileName": {
                    "description": "The name of the signing profile.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9_]{2,}",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "clientRequestToken": {
                    "description": "String that identifies the signing request. All calls after the first that use this token return the same response as the first call.",
                    "type": "string"
                  },
                  "profileOwner": {
                    "description": "The AWS account ID of the signing profile owner.",
                    "type": "string",
                    "pattern": "^[0-9]{12}$",
                    "minLength": 12,
                    "maxLength": 12
                  }
                }
              }
            }
          }
        }
      }
    },
    "/signing-platforms": {
      "get": {
        "operationId": "ListSigningPlatforms",
        "description": "Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a <code>nextToken</code> value. Use this value in subsequent calls to <code>ListSigningJobs</code> to fetch the remaining values. You can continue calling <code>ListSigningJobs</code> with your <code>maxResults</code> parameter and with new values that code signing returns in the <code>nextToken</code> parameter until all of your signing jobs have been returned.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSigningPlatformsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "The category type of a signing platform.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partner",
            "in": "query",
            "required": false,
            "description": "Any partner entities connected to a signing platform.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "description": "The validation template that is used by the target signing platform.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to be returned by this operation.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of <code>nextToken</code> from the response that you just received.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/signing-profiles": {
      "get": {
        "operationId": "ListSigningProfiles",
        "description": "Lists all available signing profiles in your AWS account. Returns only profiles with an <code>ACTIVE</code> status unless the <code>includeCanceled</code> request field is set to <code>true</code>. If additional jobs remain to be listed, code signing returns a <code>nextToken</code> value. Use this value in subsequent calls to <code>ListSigningJobs</code> to fetch the remaining values. You can continue calling <code>ListSigningJobs</code> with your <code>maxResults</code> parameter and with new values that code signing returns in the <code>nextToken</code> parameter until all of your signing jobs have been returned.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSigningProfilesResponse"
                }
              }
            }
          },
          "480": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "481": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "482": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "includeCanceled",
            "in": "query",
            "required": false,
            "description": "Designates whether to include profiles with the status of <code>CANCELED</code>.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of profiles to be returned.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of <code>nextToken</code> from the response that you just received.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platformId",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs initiated for a specified signing platform.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "required": false,
            "description": "Filters results to return only signing jobs with statuses in the specified list.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SigningProfileStatus"
              }
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resourceArn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "Returns a list of the tags associated with a signing profile resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) for the signing profile.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "TagResource",
        "description": "Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) for the signing profile.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": "One or more tags to be associated with the signing profile.",
                    "type": "object",
                    "minProperties": 1,
                    "maxProperties": 200,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/signing-profiles/{profileName}/permissions/{statementId}#revisionId": {
      "delete": {
        "operationId": "RemoveProfilePermission",
        "description": "Removes cross-account permissions from a signing profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveProfilePermissionResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "484": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "485": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "A human-readable name for the signing profile with permissions to be removed.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          },
          {
            "name": "revisionId",
            "in": "query",
            "required": true,
            "description": "An identifier for the current revision of the signing profile permissions.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statementId",
            "in": "path",
            "required": true,
            "description": "A unique identifier for the cross-account permissions statement.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/signing-jobs/{jobId}/revoke": {
      "put": {
        "operationId": "RevokeSignature",
        "description": "Changes the state of a signing job to REVOKED. This indicates that the signature is no longer valid.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": "ID of the signing job to be revoked.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "jobOwner": {
                    "description": "AWS account ID of the job owner.",
                    "type": "string",
                    "pattern": "^[0-9]{12}$",
                    "minLength": 12,
                    "maxLength": 12
                  },
                  "reason": {
                    "description": "The reason for revoking the signing job.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/signing-profiles/{profileName}/revoke": {
      "put": {
        "operationId": "RevokeSigningProfile",
        "description": "Changes the state of a signing profile to REVOKED. This indicates that signatures generated using the signing profile after an effective start date are no longer valid.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "profileName",
            "in": "path",
            "required": true,
            "description": "The name of the signing profile to be revoked.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_]{2,}",
              "minLength": 2,
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "profileVersion",
                  "reason",
                  "effectiveTime"
                ],
                "properties": {
                  "profileVersion": {
                    "description": "The version of the signing profile to be revoked.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9]{10}$",
                    "minLength": 10,
                    "maxLength": 10
                  },
                  "reason": {
                    "description": "The reason for revoking a signing profile.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "effectiveTime": {
                    "description": "A timestamp for when revocation of a Signing Profile should become effective. Signatures generated using the signing profile after this timestamp are not trusted.",
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resourceArn}#tagKeys": {
      "delete": {
        "operationId": "UntagResource",
        "description": "Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UntagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalServiceErrorException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServiceErrorException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "TooManyRequestsException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequestsException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) for the signing profile.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": true,
            "description": "A list of tag keys to be removed from the signing profile.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TagKey"
              },
              "minItems": 1,
              "maxItems": 200
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "AddProfilePermissionResponse": {
        "type": "object",
        "properties": {
          "revisionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A unique identifier for the current profile revision."
              }
            ]
          }
        }
      },
      "ValidationException": {},
      "ResourceNotFoundException": {},
      "AccessDeniedException": {},
      "ServiceLimitExceededException": {},
      "ConflictException": {},
      "TooManyRequestsException": {},
      "InternalServiceErrorException": {},
      "DescribeSigningJobResponse": {
        "type": "object",
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": "The ID of the signing job on output."
              }
            ]
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "description": "The object that contains the name of your S3 bucket or your raw code."
              }
            ]
          },
          "signingMaterial": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningMaterial"
              },
              {
                "description": "The Amazon Resource Name (ARN) of your code signing certificate."
              }
            ]
          },
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The microcontroller platform to which your signed code image will be distributed."
              }
            ]
          },
          "platformDisplayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": "A human-readable name for the signing platform associated with the signing job."
              }
            ]
          },
          "profileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileName"
              },
              {
                "description": "The name of the profile that initiated the signing operation."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of the signing profile used to initiate the signing job."
              }
            ]
          },
          "overrides": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningPlatformOverrides"
              },
              {
                "description": "A list of any overrides that were applied to the signing operation."
              }
            ]
          },
          "signingParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningParameters"
              },
              {
                "description": "Map of user-assigned key-value pairs used during signing. These values contain any information that you specified for use in your signing job. "
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Date and time that the signing job was created."
              }
            ]
          },
          "completedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Date and time that the signing job was completed."
              }
            ]
          },
          "signatureExpiresAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Thr expiration timestamp for the signature generated by the signing job."
              }
            ]
          },
          "requestedBy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestedBy"
              },
              {
                "description": "The IAM principal that requested the signing job."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningStatus"
              },
              {
                "description": "Status of the signing job."
              }
            ]
          },
          "statusReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusReason"
              },
              {
                "description": "String value that contains the status reason."
              }
            ]
          },
          "revocationRecord": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningJobRevocationRecord"
              },
              {
                "description": "A revocation record if the signature generated by the signing job has been revoked. Contains a timestamp and the ID of the IAM entity that revoked the signature."
              }
            ]
          },
          "signedObject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignedObject"
              },
              {
                "description": "Name of the S3 bucket where the signed code image is saved by code signing."
              }
            ]
          },
          "jobOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The AWS account ID of the job owner."
              }
            ]
          },
          "jobInvoker": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The IAM entity that initiated the signing job."
              }
            ]
          }
        }
      },
      "GetSigningPlatformResponse": {
        "type": "object",
        "properties": {
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The ID of the target signing platform."
              }
            ]
          },
          "displayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": "The display name of the target signing platform."
              }
            ]
          },
          "partner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A list of partner entities that use the target signing platform."
              }
            ]
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The validation template that is used by the target signing platform."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Category"
              },
              {
                "description": "The category type of the target signing platform."
              }
            ]
          },
          "signingConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningConfiguration"
              },
              {
                "description": "A list of configurations applied to the target platform at signing."
              }
            ]
          },
          "signingImageFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningImageFormat"
              },
              {
                "description": "The format of the target platform's signing image."
              }
            ]
          },
          "maxSizeInMB": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxSizeInMB"
              },
              {
                "description": "The maximum size (in MB) of the payload that can be signed by the target platform."
              }
            ]
          },
          "revocationSupported": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bool"
              },
              {
                "description": "A flag indicating whether signatures generated for the signing platform can be revoked."
              }
            ]
          }
        }
      },
      "GetSigningProfileResponse": {
        "type": "object",
        "properties": {
          "profileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileName"
              },
              {
                "description": "The name of the target signing profile."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The current version of the signing profile."
              }
            ]
          },
          "profileVersionArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Arn"
              },
              {
                "description": "The signing profile ARN, including the profile version."
              }
            ]
          },
          "revocationRecord": {
            "$ref": "#/components/schemas/SigningProfileRevocationRecord"
          },
          "signingMaterial": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningMaterial"
              },
              {
                "description": "The ARN of the certificate that the target profile uses for signing operations."
              }
            ]
          },
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The ID of the platform that is used by the target signing profile."
              }
            ]
          },
          "platformDisplayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": "A human-readable name for the signing platform associated with the signing profile."
              }
            ]
          },
          "signatureValidityPeriod": {
            "$ref": "#/components/schemas/SignatureValidityPeriod"
          },
          "overrides": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningPlatformOverrides"
              },
              {
                "description": "A list of overrides applied by the target signing profile for signing operations."
              }
            ]
          },
          "signingParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningParameters"
              },
              {
                "description": "A map of key-value pairs for signing operations that is attached to the target signing profile."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningProfileStatus"
              },
              {
                "description": "The status of the target signing profile."
              }
            ]
          },
          "statusReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Reason for the status of the target signing profile."
              }
            ]
          },
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/string"
              },
              {
                "description": "The Amazon Resource Name (ARN) for the signing profile."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "A list of tags associated with the signing profile."
              }
            ]
          }
        }
      },
      "ListProfilePermissionsResponse": {
        "type": "object",
        "properties": {
          "revisionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The identifier for the current revision of profile permissions."
              }
            ]
          },
          "policySizeBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolicySizeBytes"
              },
              {
                "description": "Total size of the policy associated with the Signing Profile in bytes."
              }
            ]
          },
          "permissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Permissions"
              },
              {
                "description": "List of permissions associated with the Signing Profile."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "String for specifying the next set of paginated results."
              }
            ]
          }
        }
      },
      "ListSigningJobsResponse": {
        "type": "object",
        "properties": {
          "jobs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningJobs"
              },
              {
                "description": "A list of your signing jobs."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "String for specifying the next set of paginated results."
              }
            ]
          }
        }
      },
      "ListSigningPlatformsResponse": {
        "type": "object",
        "properties": {
          "platforms": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningPlatforms"
              },
              {
                "description": "A list of all platforms that match the request parameters."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Value for specifying the next set of paginated results to return."
              }
            ]
          }
        }
      },
      "ListSigningProfilesResponse": {
        "type": "object",
        "properties": {
          "profiles": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningProfiles"
              },
              {
                "description": "A list of profiles that are available in the AWS account. This includes profiles with the status of <code>CANCELED</code> if the <code>includeCanceled</code> parameter is set to <code>true</code>."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "Value for specifying the next set of paginated results to return."
              }
            ]
          }
        }
      },
      "SigningProfileStatus": {
        "type": "string",
        "enum": [
          "Active",
          "Canceled",
          "Revoked"
        ]
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "A list of tags associated with the signing profile."
              }
            ]
          }
        }
      },
      "BadRequestException": {},
      "NotFoundException": {},
      "PutSigningProfileResponse": {
        "type": "object",
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/string"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the signing profile created."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of the signing profile being created."
              }
            ]
          },
          "profileVersionArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Arn"
              },
              {
                "description": "The signing profile ARN, including the profile version."
              }
            ]
          }
        }
      },
      "CertificateArn": {
        "type": "string"
      },
      "Integer": {
        "type": "integer"
      },
      "ValidityType": {
        "type": "string",
        "enum": [
          "DAYS",
          "MONTHS",
          "YEARS"
        ]
      },
      "SigningConfigurationOverrides": {
        "type": "object",
        "properties": {
          "encryptionAlgorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncryptionAlgorithm"
              },
              {
                "description": "A specified override of the default encryption algorithm that is used in a code signing job."
              }
            ]
          },
          "hashAlgorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithm"
              },
              {
                "description": "A specified override of the default hash algorithm that is used in a code signing job."
              }
            ]
          }
        },
        "description": "A signing configuration that overrides the default encryption or hash algorithm of a signing job."
      },
      "ImageFormat": {
        "type": "string",
        "enum": [
          "JSON",
          "JSONEmbedded",
          "JSONDetached"
        ]
      },
      "SigningParameterValue": {
        "type": "string"
      },
      "TagValue": {
        "type": "string",
        "maxLength": 256
      },
      "RemoveProfilePermissionResponse": {
        "type": "object",
        "properties": {
          "revisionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "An identifier for the current revision of the profile permissions."
              }
            ]
          }
        }
      },
      "StartSigningJobResponse": {
        "type": "object",
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": "The ID of your signing job."
              }
            ]
          },
          "jobOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The AWS account ID of the signing job owner."
              }
            ]
          }
        }
      },
      "S3Source": {
        "type": "object",
        "required": [
          "bucketName",
          "key",
          "version"
        ],
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BucketName"
              },
              {
                "description": "Name of the S3 bucket."
              }
            ]
          },
          "key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Key"
              },
              {
                "description": "Key name of the bucket object that contains your unsigned code."
              }
            ]
          },
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Version"
              },
              {
                "description": "Version of your source image in your version enabled S3 bucket."
              }
            ]
          }
        },
        "description": "Information about the S3 bucket where you saved your unsigned code."
      },
      "S3Destination": {
        "type": "object",
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BucketName"
              },
              {
                "description": "Name of the S3 bucket."
              }
            ]
          },
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Prefix"
              },
              {
                "description": "An Amazon S3 prefix that you can use to limit responses to those that begin with the specified prefix."
              }
            ]
          }
        },
        "description": "The name and prefix of the S3 bucket where code signing saves your signed objects."
      },
      "ThrottlingException": {},
      "TagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "UntagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "TagKey": {
        "type": "string",
        "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
        "minLength": 1,
        "maxLength": 128
      },
      "AccountId": {
        "type": "string",
        "pattern": "^[0-9]{12}$",
        "minLength": 12,
        "maxLength": 12
      },
      "ProfileName": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_]{2,}",
        "minLength": 2,
        "maxLength": 64
      },
      "ProfileVersion": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9]{10}$",
        "minLength": 10,
        "maxLength": 10
      },
      "String": {
        "type": "string"
      },
      "AddProfilePermissionRequest": {
        "type": "object",
        "required": [
          "action",
          "principal",
          "statementId"
        ],
        "title": "AddProfilePermissionRequest",
        "properties": {
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of the signing profile."
              }
            ]
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The AWS Signer action permitted as part of cross-account permissions."
              }
            ]
          },
          "principal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID."
              }
            ]
          },
          "revisionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A unique identifier for the current profile revision."
              }
            ]
          },
          "statementId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A unique identifier for the cross-account permission statement."
              }
            ]
          }
        }
      },
      "Arn": {
        "type": "string",
        "minLength": 20,
        "maxLength": 2048
      },
      "BucketName": {
        "type": "string"
      },
      "CancelSigningProfileRequest": {
        "type": "object",
        "title": "CancelSigningProfileRequest",
        "properties": {}
      },
      "Category": {
        "type": "string",
        "enum": [
          "AWSIoT"
        ]
      },
      "ClientRequestToken": {
        "type": "string"
      },
      "JobId": {
        "type": "string"
      },
      "DescribeSigningJobRequest": {
        "type": "object",
        "title": "DescribeSigningJobRequest",
        "properties": {}
      },
      "Source": {
        "type": "object",
        "properties": {
          "s3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Source"
              },
              {
                "description": "The <code>S3Source</code> object."
              }
            ]
          }
        },
        "description": "An <code>S3Source</code> object that contains information about the S3 bucket where you saved your unsigned code."
      },
      "SigningMaterial": {
        "type": "object",
        "required": [
          "certificateArn"
        ],
        "properties": {
          "certificateArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the certificates that is used to sign your code."
              }
            ]
          }
        },
        "description": "The ACM certificate that is used to sign your code."
      },
      "PlatformId": {
        "type": "string"
      },
      "DisplayName": {
        "type": "string"
      },
      "SigningPlatformOverrides": {
        "type": "object",
        "properties": {
          "signingConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningConfigurationOverrides"
              },
              {
                "description": "A signing configuration that overrides the default encryption or hash algorithm of a signing job."
              }
            ]
          },
          "signingImageFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageFormat"
              },
              {
                "description": "A signed image is a JSON object. When overriding the default signing platform configuration, a customer can select either of two signing formats, <code>JSONEmbedded</code> or <code>JSONDetached</code>. (A third format value, <code>JSON</code>, is reserved for future use.) With <code>JSONEmbedded</code>, the signing image has the payload embedded in it. With <code>JSONDetached</code>, the payload is not be embedded in the signing image."
              }
            ]
          }
        },
        "description": "Any overrides that are applied to the signing configuration of a code signing platform."
      },
      "SigningParameters": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/SigningParameterValue"
        }
      },
      "Timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "RequestedBy": {
        "type": "string"
      },
      "SigningStatus": {
        "type": "string",
        "enum": [
          "InProgress",
          "Failed",
          "Succeeded"
        ]
      },
      "StatusReason": {
        "type": "string"
      },
      "SigningJobRevocationRecord": {
        "type": "object",
        "properties": {
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A caller-supplied reason for revocation."
              }
            ]
          },
          "revokedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time of revocation."
              }
            ]
          },
          "revokedBy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The identity of the revoker."
              }
            ]
          }
        },
        "description": "Revocation information for a signing job."
      },
      "SignedObject": {
        "type": "object",
        "properties": {
          "s3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3SignedObject"
              },
              {
                "description": "The <code>S3SignedObject</code>."
              }
            ]
          }
        },
        "description": "Points to an <code>S3SignedObject</code> object that contains information about your signed code image."
      },
      "Destination": {
        "type": "object",
        "properties": {
          "s3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Destination"
              },
              {
                "description": "The <code>S3Destination</code> object."
              }
            ]
          }
        },
        "description": "Points to an <code>S3Destination</code> object that contains information about your S3 bucket."
      },
      "EncryptionAlgorithm": {
        "type": "string",
        "enum": [
          "RSA",
          "ECDSA"
        ]
      },
      "EncryptionAlgorithms": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EncryptionAlgorithm"
        }
      },
      "EncryptionAlgorithmOptions": {
        "type": "object",
        "required": [
          "allowedValues",
          "defaultValue"
        ],
        "properties": {
          "allowedValues": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncryptionAlgorithms"
              },
              {
                "description": "The set of accepted encryption algorithms that are allowed in a code signing job."
              }
            ]
          },
          "defaultValue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncryptionAlgorithm"
              },
              {
                "description": "The default encryption algorithm that is used by a code signing job."
              }
            ]
          }
        },
        "description": "The encryption algorithm options that are available to a code signing job."
      },
      "GetSigningPlatformRequest": {
        "type": "object",
        "title": "GetSigningPlatformRequest",
        "properties": {}
      },
      "SigningConfiguration": {
        "type": "object",
        "required": [
          "encryptionAlgorithmOptions",
          "hashAlgorithmOptions"
        ],
        "properties": {
          "encryptionAlgorithmOptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncryptionAlgorithmOptions"
              },
              {
                "description": "The encryption algorithm options that are available for a code signing job."
              }
            ]
          },
          "hashAlgorithmOptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithmOptions"
              },
              {
                "description": "The hash algorithm options that are available for a code signing job."
              }
            ]
          }
        },
        "description": "The configuration of a code signing operation."
      },
      "SigningImageFormat": {
        "type": "object",
        "required": [
          "supportedFormats",
          "defaultFormat"
        ],
        "properties": {
          "supportedFormats": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageFormats"
              },
              {
                "description": "The supported formats of a code signing image."
              }
            ]
          },
          "defaultFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageFormat"
              },
              {
                "description": "The default format of a code signing image."
              }
            ]
          }
        },
        "description": "The image format of a code signing platform or profile."
      },
      "MaxSizeInMB": {
        "type": "integer"
      },
      "bool": {
        "type": "boolean"
      },
      "GetSigningProfileRequest": {
        "type": "object",
        "title": "GetSigningProfileRequest",
        "properties": {}
      },
      "SigningProfileRevocationRecord": {
        "type": "object",
        "properties": {
          "revocationEffectiveFrom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time when revocation becomes effective."
              }
            ]
          },
          "revokedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time when the signing profile was revoked."
              }
            ]
          },
          "revokedBy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The identity of the revoker."
              }
            ]
          }
        },
        "description": "Revocation information for a signing profile."
      },
      "SignatureValidityPeriod": {
        "type": "object",
        "properties": {
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "The numerical value of the time unit for signature validity."
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValidityType"
              },
              {
                "description": "The time unit for signature validity."
              }
            ]
          }
        },
        "description": "The validity period for a signing job."
      },
      "string": {
        "type": "string"
      },
      "TagMap": {
        "type": "object",
        "minProperties": 1,
        "maxProperties": 200,
        "additionalProperties": {
          "$ref": "#/components/schemas/TagValue"
        }
      },
      "HashAlgorithm": {
        "type": "string",
        "enum": [
          "SHA1",
          "SHA256"
        ]
      },
      "HashAlgorithms": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HashAlgorithm"
        }
      },
      "HashAlgorithmOptions": {
        "type": "object",
        "required": [
          "allowedValues",
          "defaultValue"
        ],
        "properties": {
          "allowedValues": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithms"
              },
              {
                "description": "The set of accepted hash algorithms allowed in a code signing job."
              }
            ]
          },
          "defaultValue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithm"
              },
              {
                "description": "The default hash algorithm that is used in a code signing job."
              }
            ]
          }
        },
        "description": "The hash algorithms that are available to a code signing job."
      },
      "ImageFormats": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImageFormat"
        }
      },
      "Key": {
        "type": "string"
      },
      "ListProfilePermissionsRequest": {
        "type": "object",
        "title": "ListProfilePermissionsRequest",
        "properties": {}
      },
      "PolicySizeBytes": {
        "type": "integer"
      },
      "Permissions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Permission"
        }
      },
      "MaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 25
      },
      "NextToken": {
        "type": "string"
      },
      "ListSigningJobsRequest": {
        "type": "object",
        "title": "ListSigningJobsRequest",
        "properties": {}
      },
      "SigningJobs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SigningJob"
        }
      },
      "ListSigningPlatformsRequest": {
        "type": "object",
        "title": "ListSigningPlatformsRequest",
        "properties": {}
      },
      "SigningPlatforms": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SigningPlatform"
        }
      },
      "Statuses": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SigningProfileStatus"
        }
      },
      "ListSigningProfilesRequest": {
        "type": "object",
        "title": "ListSigningProfilesRequest",
        "properties": {}
      },
      "SigningProfiles": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SigningProfile"
        }
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {}
      },
      "Permission": {
        "type": "object",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "An AWS Signer action permitted as part of cross-account permissions."
              }
            ]
          },
          "principal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The AWS principal that has been granted a cross-account permission."
              }
            ]
          },
          "statementId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "A unique identifier for a cross-account permission statement."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The signing profile version that a permission applies to."
              }
            ]
          }
        },
        "description": "A cross-account permission for a signing profile."
      },
      "Prefix": {
        "type": "string"
      },
      "PutSigningProfileRequest": {
        "type": "object",
        "required": [
          "platformId"
        ],
        "title": "PutSigningProfileRequest",
        "properties": {
          "signingMaterial": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningMaterial"
              },
              {
                "description": "The AWS Certificate Manager certificate that will be used to sign code with the new signing profile."
              }
            ]
          },
          "signatureValidityPeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureValidityPeriod"
              },
              {
                "description": "The default validity period override for any signature generated using this signing profile. If unspecified, the default is 135 months."
              }
            ]
          },
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The ID of the signing platform to be created."
              }
            ]
          },
          "overrides": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningPlatformOverrides"
              },
              {
                "description": "A subfield of <code>platform</code>. This specifies any different configuration options that you want to apply to the chosen platform (such as a different <code>hash-algorithm</code> or <code>signing-algorithm</code>)."
              }
            ]
          },
          "signingParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningParameters"
              },
              {
                "description": "Map of key-value pairs for signing. These can include any information that you want to use during signing."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "Tags to be associated with the signing profile that is being created."
              }
            ]
          }
        }
      },
      "RemoveProfilePermissionRequest": {
        "type": "object",
        "title": "RemoveProfilePermissionRequest",
        "properties": {}
      },
      "RevocationReasonString": {
        "type": "string",
        "minLength": 1,
        "maxLength": 500
      },
      "RevokeSignatureRequest": {
        "type": "object",
        "required": [
          "reason"
        ],
        "title": "RevokeSignatureRequest",
        "properties": {
          "jobOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "AWS account ID of the job owner."
              }
            ]
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReasonString"
              },
              {
                "description": "The reason for revoking the signing job."
              }
            ]
          }
        }
      },
      "RevokeSigningProfileRequest": {
        "type": "object",
        "required": [
          "profileVersion",
          "reason",
          "effectiveTime"
        ],
        "title": "RevokeSigningProfileRequest",
        "properties": {
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of the signing profile to be revoked."
              }
            ]
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReasonString"
              },
              {
                "description": "The reason for revoking a signing profile."
              }
            ]
          },
          "effectiveTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "A timestamp for when revocation of a Signing Profile should become effective. Signatures generated using the signing profile after this timestamp are not trusted."
              }
            ]
          }
        }
      },
      "S3SignedObject": {
        "type": "object",
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BucketName"
              },
              {
                "description": "Name of the S3 bucket."
              }
            ]
          },
          "key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Key"
              },
              {
                "description": "Key name that uniquely identifies a signed code image in your bucket."
              }
            ]
          }
        },
        "description": "The S3 bucket name and key where code signing saved your signed code image."
      },
      "Version": {
        "type": "string"
      },
      "SigningJob": {
        "type": "object",
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": "The ID of the signing job."
              }
            ]
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "description": "A <code>Source</code> that contains information about a signing job's code image source."
              }
            ]
          },
          "signedObject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignedObject"
              },
              {
                "description": "A <code>SignedObject</code> structure that contains information about a signing job's signed code image."
              }
            ]
          },
          "signingMaterial": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningMaterial"
              },
              {
                "description": "A <code>SigningMaterial</code> object that contains the Amazon Resource Name (ARN) of the certificate used for the signing job."
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The date and time that the signing job was created."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningStatus"
              },
              {
                "description": "The status of the signing job."
              }
            ]
          },
          "isRevoked": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bool"
              },
              {
                "description": "Indicates whether the signing job is revoked."
              }
            ]
          },
          "profileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileName"
              },
              {
                "description": "The name of the signing profile that created a signing job."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of the signing profile that created a signing job."
              }
            ]
          },
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The unique identifier for a signing platform."
              }
            ]
          },
          "platformDisplayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": "The name of a signing platform."
              }
            ]
          },
          "signatureExpiresAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time when the signature of a signing job expires."
              }
            ]
          },
          "jobOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The AWS account ID of the job owner."
              }
            ]
          },
          "jobInvoker": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The AWS account ID of the job invoker."
              }
            ]
          }
        },
        "description": "Contains information about a signing job."
      },
      "SigningParameterKey": {
        "type": "string"
      },
      "SigningPlatform": {
        "type": "object",
        "properties": {
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The ID of a code signing; platform."
              }
            ]
          },
          "displayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The display name of a code signing platform."
              }
            ]
          },
          "partner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Any partner entities linked to a code signing platform."
              }
            ]
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The types of targets that can be signed by a code signing platform."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Category"
              },
              {
                "description": "The category of a code signing platform."
              }
            ]
          },
          "signingConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningConfiguration"
              },
              {
                "description": "The configuration of a code signing platform. This includes the designated hash algorithm and encryption algorithm of a signing platform."
              }
            ]
          },
          "signingImageFormat": {
            "$ref": "#/components/schemas/SigningImageFormat"
          },
          "maxSizeInMB": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxSizeInMB"
              },
              {
                "description": "The maximum size (in MB) of code that can be signed by a code signing platform."
              }
            ]
          },
          "revocationSupported": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bool"
              },
              {
                "description": "Indicates whether revocation is supported for the platform."
              }
            ]
          }
        },
        "description": "Contains information about the signing configurations and parameters that are used to perform a code signing job."
      },
      "SigningProfile": {
        "type": "object",
        "properties": {
          "profileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileName"
              },
              {
                "description": "The name of the signing profile."
              }
            ]
          },
          "profileVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileVersion"
              },
              {
                "description": "The version of a signing profile."
              }
            ]
          },
          "profileVersionArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Arn"
              },
              {
                "description": "The ARN of a signing profile, including the profile version."
              }
            ]
          },
          "signingMaterial": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningMaterial"
              },
              {
                "description": "The ACM certificate that is available for use by a signing profile."
              }
            ]
          },
          "signatureValidityPeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureValidityPeriod"
              },
              {
                "description": "The validity period for a signing job created using this signing profile."
              }
            ]
          },
          "platformId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlatformId"
              },
              {
                "description": "The ID of a platform that is available for use by a signing profile."
              }
            ]
          },
          "platformDisplayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": "The name of the signing platform."
              }
            ]
          },
          "signingParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningParameters"
              },
              {
                "description": "The parameters that are available for use by a code signing user."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SigningProfileStatus"
              },
              {
                "description": "The status of a code signing profile."
              }
            ]
          },
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/string"
              },
              {
                "description": "The Amazon Resource Name (ARN) for the signing profile."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "A list of tags associated with the signing profile."
              }
            ]
          }
        },
        "description": "Contains information about the ACM certificates and code signing configuration parameters that can be used by a given code signing user."
      },
      "StartSigningJobRequest": {
        "type": "object",
        "required": [
          "source",
          "destination",
          "profileName",
          "clientRequestToken"
        ],
        "title": "StartSigningJobRequest",
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "description": "The S3 bucket that contains the object to sign or a BLOB that contains your raw code."
              }
            ]
          },
          "destination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Destination"
              },
              {
                "description": "The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix."
              }
            ]
          },
          "profileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileName"
              },
              {
                "description": "The name of the signing profile."
              }
            ]
          },
          "clientRequestToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientRequestToken"
              },
              {
                "description": "String that identifies the signing request. All calls after the first that use this token return the same response as the first call."
              }
            ]
          },
          "profileOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountId"
              },
              {
                "description": "The AWS account ID of the signing profile owner."
              }
            ]
          }
        }
      },
      "TagKeyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        },
        "minItems": 1,
        "maxItems": 200
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "One or more tags to be associated with the signing profile."
              }
            ]
          }
        }
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {}
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}