{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2015-07-09",
    "endpointPrefix": "codepipeline",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceAbbreviation": "CodePipeline",
    "serviceFullName": "AWS CodePipeline",
    "signatureVersion": "v4",
    "targetPrefix": "CodePipeline_20150709"
  },
  "operations": {
    "AcknowledgeJob": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "nonce"
        ],
        "members": {
          "jobId": {},
          "nonce": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "status": {}
        }
      }
    },
    "AcknowledgeThirdPartyJob": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "nonce",
          "clientToken"
        ],
        "members": {
          "jobId": {},
          "nonce": {},
          "clientToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "status": {}
        }
      }
    },
    "CreateCustomActionType": {
      "input": {
        "type": "structure",
        "required": [
          "category",
          "provider",
          "version",
          "inputArtifactDetails",
          "outputArtifactDetails"
        ],
        "members": {
          "category": {},
          "provider": {},
          "version": {},
          "settings": {
            "shape": "Se"
          },
          "configurationProperties": {
            "shape": "Sh"
          },
          "inputArtifactDetails": {
            "shape": "Sn"
          },
          "outputArtifactDetails": {
            "shape": "Sn"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "actionType"
        ],
        "members": {
          "actionType": {
            "shape": "Sr"
          }
        }
      }
    },
    "CreatePipeline": {
      "input": {
        "type": "structure",
        "required": [
          "pipeline"
        ],
        "members": {
          "pipeline": {
            "shape": "Sv"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipeline": {
            "shape": "Sv"
          }
        }
      }
    },
    "DeleteCustomActionType": {
      "input": {
        "type": "structure",
        "required": [
          "category",
          "provider",
          "version"
        ],
        "members": {
          "category": {},
          "provider": {},
          "version": {}
        }
      }
    },
    "DeletePipeline": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {}
        }
      }
    },
    "DisableStageTransition": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "stageName",
          "transitionType",
          "reason"
        ],
        "members": {
          "pipelineName": {},
          "stageName": {},
          "transitionType": {},
          "reason": {}
        }
      }
    },
    "EnableStageTransition": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "stageName",
          "transitionType"
        ],
        "members": {
          "pipelineName": {},
          "stageName": {},
          "transitionType": {}
        }
      }
    },
    "GetJobDetails": {
      "input": {
        "type": "structure",
        "required": [
          "jobId"
        ],
        "members": {
          "jobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "jobDetails": {
            "type": "structure",
            "members": {
              "id": {},
              "data": {
                "shape": "S1x"
              },
              "accountId": {}
            }
          }
        }
      }
    },
    "GetPipeline": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {},
          "version": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipeline": {
            "shape": "Sv"
          }
        }
      }
    },
    "GetPipelineExecution": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "pipelineExecutionId"
        ],
        "members": {
          "pipelineName": {},
          "pipelineExecutionId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipelineExecution": {
            "type": "structure",
            "members": {
              "pipelineName": {},
              "pipelineVersion": {
                "type": "integer"
              },
              "pipelineExecutionId": {},
              "status": {},
              "artifactRevisions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "name": {},
                    "revisionId": {},
                    "revisionChangeIdentifier": {},
                    "revisionSummary": {},
                    "created": {
                      "type": "timestamp"
                    },
                    "revisionUrl": {}
                  }
                }
              }
            }
          }
        }
      }
    },
    "GetPipelineState": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipelineName": {},
          "pipelineVersion": {
            "type": "integer"
          },
          "stageStates": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "stageName": {},
                "inboundTransitionState": {
                  "type": "structure",
                  "members": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "lastChangedBy": {},
                    "lastChangedAt": {
                      "type": "timestamp"
                    },
                    "disabledReason": {}
                  }
                },
                "actionStates": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "actionName": {},
                      "currentRevision": {
                        "shape": "S32"
                      },
                      "latestExecution": {
                        "type": "structure",
                        "members": {
                          "status": {},
                          "summary": {},
                          "lastStatusChange": {
                            "type": "timestamp"
                          },
                          "token": {},
                          "lastUpdatedBy": {},
                          "externalExecutionId": {},
                          "externalExecutionUrl": {},
                          "percentComplete": {
                            "type": "integer"
                          },
                          "errorDetails": {
                            "type": "structure",
                            "members": {
                              "code": {},
                              "message": {}
                            }
                          }
                        }
                      },
                      "entityUrl": {},
                      "revisionUrl": {}
                    }
                  }
                },
                "latestExecution": {
                  "type": "structure",
                  "required": [
                    "pipelineExecutionId",
                    "status"
                  ],
                  "members": {
                    "pipelineExecutionId": {},
                    "status": {}
                  }
                }
              }
            }
          },
          "created": {
            "type": "timestamp"
          },
          "updated": {
            "type": "timestamp"
          }
        }
      }
    },
    "GetThirdPartyJobDetails": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "clientToken"
        ],
        "members": {
          "jobId": {},
          "clientToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "jobDetails": {
            "type": "structure",
            "members": {
              "id": {},
              "data": {
                "type": "structure",
                "members": {
                  "actionTypeId": {
                    "shape": "Ss"
                  },
                  "actionConfiguration": {
                    "shape": "S1y"
                  },
                  "pipelineContext": {
                    "shape": "S1z"
                  },
                  "inputArtifacts": {
                    "shape": "S22"
                  },
                  "outputArtifacts": {
                    "shape": "S22"
                  },
                  "artifactCredentials": {
                    "shape": "S2a"
                  },
                  "continuationToken": {},
                  "encryptionKey": {
                    "shape": "S11"
                  }
                }
              },
              "nonce": {}
            }
          }
        }
      }
    },
    "ListActionTypes": {
      "input": {
        "type": "structure",
        "members": {
          "actionOwnerFilter": {},
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "actionTypes"
        ],
        "members": {
          "actionTypes": {
            "type": "list",
            "member": {
              "shape": "Sr"
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListPipelines": {
      "input": {
        "type": "structure",
        "members": {
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipelines": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "name": {},
                "version": {
                  "type": "integer"
                },
                "created": {
                  "type": "timestamp"
                },
                "updated": {
                  "type": "timestamp"
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "PollForJobs": {
      "input": {
        "type": "structure",
        "required": [
          "actionTypeId"
        ],
        "members": {
          "actionTypeId": {
            "shape": "Ss"
          },
          "maxBatchSize": {
            "type": "integer"
          },
          "queryParam": {
            "type": "map",
            "key": {},
            "value": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "jobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "id": {},
                "data": {
                  "shape": "S1x"
                },
                "nonce": {},
                "accountId": {}
              }
            }
          }
        }
      }
    },
    "PollForThirdPartyJobs": {
      "input": {
        "type": "structure",
        "required": [
          "actionTypeId"
        ],
        "members": {
          "actionTypeId": {
            "shape": "Ss"
          },
          "maxBatchSize": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "jobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "clientId": {},
                "jobId": {}
              }
            }
          }
        }
      }
    },
    "PutActionRevision": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "stageName",
          "actionName",
          "actionRevision"
        ],
        "members": {
          "pipelineName": {},
          "stageName": {},
          "actionName": {},
          "actionRevision": {
            "shape": "S32"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "newRevision": {
            "type": "boolean"
          },
          "pipelineExecutionId": {}
        }
      }
    },
    "PutApprovalResult": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "stageName",
          "actionName",
          "result",
          "token"
        ],
        "members": {
          "pipelineName": {},
          "stageName": {},
          "actionName": {},
          "result": {
            "type": "structure",
            "required": [
              "summary",
              "status"
            ],
            "members": {
              "summary": {},
              "status": {}
            }
          },
          "token": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "approvedAt": {
            "type": "timestamp"
          }
        }
      }
    },
    "PutJobFailureResult": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "failureDetails"
        ],
        "members": {
          "jobId": {},
          "failureDetails": {
            "shape": "S4c"
          }
        }
      }
    },
    "PutJobSuccessResult": {
      "input": {
        "type": "structure",
        "required": [
          "jobId"
        ],
        "members": {
          "jobId": {},
          "currentRevision": {
            "shape": "S4f"
          },
          "continuationToken": {},
          "executionDetails": {
            "shape": "S4h"
          }
        }
      }
    },
    "PutThirdPartyJobFailureResult": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "clientToken",
          "failureDetails"
        ],
        "members": {
          "jobId": {},
          "clientToken": {},
          "failureDetails": {
            "shape": "S4c"
          }
        }
      }
    },
    "PutThirdPartyJobSuccessResult": {
      "input": {
        "type": "structure",
        "required": [
          "jobId",
          "clientToken"
        ],
        "members": {
          "jobId": {},
          "clientToken": {},
          "currentRevision": {
            "shape": "S4f"
          },
          "continuationToken": {},
          "executionDetails": {
            "shape": "S4h"
          }
        }
      }
    },
    "RetryStageExecution": {
      "input": {
        "type": "structure",
        "required": [
          "pipelineName",
          "stageName",
          "pipelineExecutionId",
          "retryMode"
        ],
        "members": {
          "pipelineName": {},
          "stageName": {},
          "pipelineExecutionId": {},
          "retryMode": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipelineExecutionId": {}
        }
      }
    },
    "StartPipelineExecution": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipelineExecutionId": {}
        }
      }
    },
    "UpdatePipeline": {
      "input": {
        "type": "structure",
        "required": [
          "pipeline"
        ],
        "members": {
          "pipeline": {
            "shape": "Sv"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "pipeline": {
            "shape": "Sv"
          }
        }
      }
    }
  },
  "shapes": {
    "Se": {
      "type": "structure",
      "members": {
        "thirdPartyConfigurationUrl": {},
        "entityUrlTemplate": {},
        "executionUrlTemplate": {},
        "revisionUrlTemplate": {}
      }
    },
    "Sh": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "name",
          "required",
          "key",
          "secret"
        ],
        "members": {
          "name": {},
          "required": {
            "type": "boolean"
          },
          "key": {
            "type": "boolean"
          },
          "secret": {
            "type": "boolean"
          },
          "queryable": {
            "type": "boolean"
          },
          "description": {},
          "type": {}
        }
      }
    },
    "Sn": {
      "type": "structure",
      "required": [
        "minimumCount",
        "maximumCount"
      ],
      "members": {
        "minimumCount": {
          "type": "integer"
        },
        "maximumCount": {
          "type": "integer"
        }
      }
    },
    "Sr": {
      "type": "structure",
      "required": [
        "id",
        "inputArtifactDetails",
        "outputArtifactDetails"
      ],
      "members": {
        "id": {
          "shape": "Ss"
        },
        "settings": {
          "shape": "Se"
        },
        "actionConfigurationProperties": {
          "shape": "Sh"
        },
        "inputArtifactDetails": {
          "shape": "Sn"
        },
        "outputArtifactDetails": {
          "shape": "Sn"
        }
      }
    },
    "Ss": {
      "type": "structure",
      "required": [
        "category",
        "owner",
        "provider",
        "version"
      ],
      "members": {
        "category": {},
        "owner": {},
        "provider": {},
        "version": {}
      }
    },
    "Sv": {
      "type": "structure",
      "required": [
        "name",
        "roleArn",
        "artifactStore",
        "stages"
      ],
      "members": {
        "name": {},
        "roleArn": {},
        "artifactStore": {
          "type": "structure",
          "required": [
            "type",
            "location"
          ],
          "members": {
            "type": {},
            "location": {},
            "encryptionKey": {
              "shape": "S11"
            }
          }
        },
        "stages": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "name",
              "actions"
            ],
            "members": {
              "name": {},
              "blockers": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "name",
                    "type"
                  ],
                  "members": {
                    "name": {},
                    "type": {}
                  }
                }
              },
              "actions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "name",
                    "actionTypeId"
                  ],
                  "members": {
                    "name": {},
                    "actionTypeId": {
                      "shape": "Ss"
                    },
                    "runOrder": {
                      "type": "integer"
                    },
                    "configuration": {
                      "shape": "S1f"
                    },
                    "outputArtifacts": {
                      "type": "list",
                      "member": {
                        "type": "structure",
                        "required": [
                          "name"
                        ],
                        "members": {
                          "name": {}
                        }
                      }
                    },
                    "inputArtifacts": {
                      "type": "list",
                      "member": {
                        "type": "structure",
                        "required": [
                          "name"
                        ],
                        "members": {
                          "name": {}
                        }
                      }
                    },
                    "roleArn": {}
                  }
                }
              }
            }
          }
        },
        "version": {
          "type": "integer"
        }
      }
    },
    "S11": {
      "type": "structure",
      "required": [
        "id",
        "type"
      ],
      "members": {
        "id": {},
        "type": {}
      }
    },
    "S1f": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S1x": {
      "type": "structure",
      "members": {
        "actionTypeId": {
          "shape": "Ss"
        },
        "actionConfiguration": {
          "shape": "S1y"
        },
        "pipelineContext": {
          "shape": "S1z"
        },
        "inputArtifacts": {
          "shape": "S22"
        },
        "outputArtifacts": {
          "shape": "S22"
        },
        "artifactCredentials": {
          "shape": "S2a"
        },
        "continuationToken": {},
        "encryptionKey": {
          "shape": "S11"
        }
      }
    },
    "S1y": {
      "type": "structure",
      "members": {
        "configuration": {
          "shape": "S1f"
        }
      }
    },
    "S1z": {
      "type": "structure",
      "members": {
        "pipelineName": {},
        "stage": {
          "type": "structure",
          "members": {
            "name": {}
          }
        },
        "action": {
          "type": "structure",
          "members": {
            "name": {}
          }
        }
      }
    },
    "S22": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "name": {},
          "revision": {},
          "location": {
            "type": "structure",
            "members": {
              "type": {},
              "s3Location": {
                "type": "structure",
                "required": [
                  "bucketName",
                  "objectKey"
                ],
                "members": {
                  "bucketName": {},
                  "objectKey": {}
                }
              }
            }
          }
        }
      }
    },
    "S2a": {
      "type": "structure",
      "required": [
        "accessKeyId",
        "secretAccessKey",
        "sessionToken"
      ],
      "members": {
        "accessKeyId": {},
        "secretAccessKey": {},
        "sessionToken": {}
      },
      "sensitive": true
    },
    "S32": {
      "type": "structure",
      "required": [
        "revisionId",
        "revisionChangeId",
        "created"
      ],
      "members": {
        "revisionId": {},
        "revisionChangeId": {},
        "created": {
          "type": "timestamp"
        }
      }
    },
    "S4c": {
      "type": "structure",
      "required": [
        "type",
        "message"
      ],
      "members": {
        "type": {},
        "message": {},
        "externalExecutionId": {}
      }
    },
    "S4f": {
      "type": "structure",
      "required": [
        "revision",
        "changeIdentifier"
      ],
      "members": {
        "revision": {},
        "changeIdentifier": {},
        "created": {
          "type": "timestamp"
        },
        "revisionSummary": {}
      }
    },
    "S4h": {
      "type": "structure",
      "members": {
        "summary": {},
        "externalExecutionId": {},
        "percentComplete": {
          "type": "integer"
        }
      }
    }
  }
}