{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-10-06",
    "endpointPrefix": "codebuild",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "AWS CodeBuild",
    "serviceId": "CodeBuild",
    "signatureVersion": "v4",
    "targetPrefix": "CodeBuild_20161006",
    "uid": "codebuild-2016-10-06"
  },
  "operations": {
    "BatchDeleteBuilds": {
      "input": {
        "type": "structure",
        "required": [
          "ids"
        ],
        "members": {
          "ids": {
            "shape": "S2"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "buildsDeleted": {
            "shape": "S2"
          },
          "buildsNotDeleted": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "id": {},
                "statusCode": {}
              }
            }
          }
        }
      }
    },
    "BatchGetBuilds": {
      "input": {
        "type": "structure",
        "required": [
          "ids"
        ],
        "members": {
          "ids": {
            "shape": "S2"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "builds": {
            "type": "list",
            "member": {
              "shape": "Sb"
            }
          },
          "buildsNotFound": {
            "shape": "S2"
          }
        }
      }
    },
    "BatchGetProjects": {
      "input": {
        "type": "structure",
        "required": [
          "names"
        ],
        "members": {
          "names": {
            "shape": "S1e"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "projects": {
            "type": "list",
            "member": {
              "shape": "S1h"
            }
          },
          "projectsNotFound": {
            "shape": "S1e"
          }
        }
      }
    },
    "CreateProject": {
      "input": {
        "type": "structure",
        "required": [
          "name",
          "source",
          "artifacts",
          "environment",
          "serviceRole"
        ],
        "members": {
          "name": {},
          "description": {},
          "source": {
            "shape": "Sk"
          },
          "secondarySources": {
            "shape": "Sq"
          },
          "artifacts": {
            "shape": "S1k"
          },
          "secondaryArtifacts": {
            "shape": "S1o"
          },
          "cache": {
            "shape": "Sv"
          },
          "environment": {
            "shape": "Sx"
          },
          "serviceRole": {},
          "timeoutInMinutes": {
            "type": "integer"
          },
          "queuedTimeoutInMinutes": {
            "type": "integer"
          },
          "encryptionKey": {},
          "tags": {
            "shape": "S1q"
          },
          "vpcConfig": {
            "shape": "S19"
          },
          "badgeEnabled": {
            "type": "boolean"
          },
          "logsConfig": {
            "shape": "S1w"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "project": {
            "shape": "S1h"
          }
        }
      }
    },
    "CreateWebhook": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {},
          "branchFilter": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "webhook": {
            "shape": "S1u"
          }
        }
      }
    },
    "DeleteProject": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteSourceCredentials": {
      "input": {
        "type": "structure",
        "required": [
          "arn"
        ],
        "members": {
          "arn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "arn": {}
        }
      }
    },
    "DeleteWebhook": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "ImportSourceCredentials": {
      "input": {
        "type": "structure",
        "required": [
          "token",
          "serverType",
          "authType"
        ],
        "members": {
          "username": {},
          "token": {
            "type": "string",
            "sensitive": true
          },
          "serverType": {},
          "authType": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "arn": {}
        }
      }
    },
    "InvalidateProjectCache": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "ListBuilds": {
      "input": {
        "type": "structure",
        "members": {
          "sortOrder": {},
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ids": {
            "shape": "S2"
          },
          "nextToken": {}
        }
      }
    },
    "ListBuildsForProject": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {},
          "sortOrder": {},
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ids": {
            "shape": "S2"
          },
          "nextToken": {}
        }
      }
    },
    "ListCuratedEnvironmentImages": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "platforms": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "platform": {},
                "languages": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "language": {},
                      "images": {
                        "type": "list",
                        "member": {
                          "type": "structure",
                          "members": {
                            "name": {},
                            "description": {},
                            "versions": {
                              "type": "list",
                              "member": {}
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "ListProjects": {
      "input": {
        "type": "structure",
        "members": {
          "sortBy": {},
          "sortOrder": {},
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "nextToken": {},
          "projects": {
            "shape": "S1e"
          }
        }
      }
    },
    "ListSourceCredentials": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "sourceCredentialsInfos": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "arn": {},
                "serverType": {},
                "authType": {}
              }
            }
          }
        }
      }
    },
    "StartBuild": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {},
          "secondarySourcesOverride": {
            "shape": "Sq"
          },
          "secondarySourcesVersionOverride": {
            "shape": "Sr"
          },
          "sourceVersion": {},
          "artifactsOverride": {
            "shape": "S1k"
          },
          "secondaryArtifactsOverride": {
            "shape": "S1o"
          },
          "environmentVariablesOverride": {
            "shape": "S10"
          },
          "sourceTypeOverride": {},
          "sourceLocationOverride": {},
          "sourceAuthOverride": {
            "shape": "Sn"
          },
          "gitCloneDepthOverride": {
            "type": "integer"
          },
          "buildspecOverride": {},
          "insecureSslOverride": {
            "type": "boolean"
          },
          "reportBuildStatusOverride": {
            "type": "boolean"
          },
          "environmentTypeOverride": {},
          "imageOverride": {},
          "computeTypeOverride": {},
          "certificateOverride": {},
          "cacheOverride": {
            "shape": "Sv"
          },
          "serviceRoleOverride": {},
          "privilegedModeOverride": {
            "type": "boolean"
          },
          "timeoutInMinutesOverride": {
            "type": "integer"
          },
          "queuedTimeoutInMinutesOverride": {
            "type": "integer"
          },
          "idempotencyToken": {},
          "logsConfigOverride": {
            "shape": "S1w"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "build": {
            "shape": "Sb"
          }
        }
      }
    },
    "StopBuild": {
      "input": {
        "type": "structure",
        "required": [
          "id"
        ],
        "members": {
          "id": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "build": {
            "shape": "Sb"
          }
        }
      }
    },
    "UpdateProject": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {},
          "description": {},
          "source": {
            "shape": "Sk"
          },
          "secondarySources": {
            "shape": "Sq"
          },
          "artifacts": {
            "shape": "S1k"
          },
          "secondaryArtifacts": {
            "shape": "S1o"
          },
          "cache": {
            "shape": "Sv"
          },
          "environment": {
            "shape": "Sx"
          },
          "serviceRole": {},
          "timeoutInMinutes": {
            "type": "integer"
          },
          "queuedTimeoutInMinutes": {
            "type": "integer"
          },
          "encryptionKey": {},
          "tags": {
            "shape": "S1q"
          },
          "vpcConfig": {
            "shape": "S19"
          },
          "badgeEnabled": {
            "type": "boolean"
          },
          "logsConfig": {
            "shape": "S1w"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "project": {
            "shape": "S1h"
          }
        }
      }
    },
    "UpdateWebhook": {
      "input": {
        "type": "structure",
        "required": [
          "projectName"
        ],
        "members": {
          "projectName": {},
          "branchFilter": {},
          "rotateSecret": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "webhook": {
            "shape": "S1u"
          }
        }
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "list",
      "member": {}
    },
    "Sb": {
      "type": "structure",
      "members": {
        "id": {},
        "arn": {},
        "startTime": {
          "type": "timestamp"
        },
        "endTime": {
          "type": "timestamp"
        },
        "currentPhase": {},
        "buildStatus": {},
        "sourceVersion": {},
        "resolvedSourceVersion": {},
        "projectName": {},
        "phases": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "phaseType": {},
              "phaseStatus": {},
              "startTime": {
                "type": "timestamp"
              },
              "endTime": {
                "type": "timestamp"
              },
              "durationInSeconds": {
                "type": "long"
              },
              "contexts": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "statusCode": {},
                    "message": {}
                  }
                }
              }
            }
          }
        },
        "source": {
          "shape": "Sk"
        },
        "secondarySources": {
          "shape": "Sq"
        },
        "secondarySourceVersions": {
          "shape": "Sr"
        },
        "artifacts": {
          "shape": "St"
        },
        "secondaryArtifacts": {
          "type": "list",
          "member": {
            "shape": "St"
          }
        },
        "cache": {
          "shape": "Sv"
        },
        "environment": {
          "shape": "Sx"
        },
        "serviceRole": {},
        "logs": {
          "type": "structure",
          "members": {
            "groupName": {},
            "streamName": {},
            "deepLink": {},
            "s3DeepLink": {},
            "cloudWatchLogs": {
              "shape": "S14"
            },
            "s3Logs": {
              "shape": "S16"
            }
          }
        },
        "timeoutInMinutes": {
          "type": "integer"
        },
        "queuedTimeoutInMinutes": {
          "type": "integer"
        },
        "buildComplete": {
          "type": "boolean"
        },
        "initiator": {},
        "vpcConfig": {
          "shape": "S19"
        },
        "networkInterface": {
          "type": "structure",
          "members": {
            "subnetId": {},
            "networkInterfaceId": {}
          }
        },
        "encryptionKey": {}
      }
    },
    "Sk": {
      "type": "structure",
      "required": [
        "type"
      ],
      "members": {
        "type": {},
        "location": {},
        "gitCloneDepth": {
          "type": "integer"
        },
        "buildspec": {},
        "auth": {
          "shape": "Sn"
        },
        "reportBuildStatus": {
          "type": "boolean"
        },
        "insecureSsl": {
          "type": "boolean"
        },
        "sourceIdentifier": {}
      }
    },
    "Sn": {
      "type": "structure",
      "required": [
        "type"
      ],
      "members": {
        "type": {},
        "resource": {}
      }
    },
    "Sq": {
      "type": "list",
      "member": {
        "shape": "Sk"
      }
    },
    "Sr": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "sourceIdentifier",
          "sourceVersion"
        ],
        "members": {
          "sourceIdentifier": {},
          "sourceVersion": {}
        }
      }
    },
    "St": {
      "type": "structure",
      "members": {
        "location": {},
        "sha256sum": {},
        "md5sum": {},
        "overrideArtifactName": {
          "type": "boolean"
        },
        "encryptionDisabled": {
          "type": "boolean"
        },
        "artifactIdentifier": {}
      }
    },
    "Sv": {
      "type": "structure",
      "required": [
        "type"
      ],
      "members": {
        "type": {},
        "location": {}
      }
    },
    "Sx": {
      "type": "structure",
      "required": [
        "type",
        "image",
        "computeType"
      ],
      "members": {
        "type": {},
        "image": {},
        "computeType": {},
        "environmentVariables": {
          "shape": "S10"
        },
        "privilegedMode": {
          "type": "boolean"
        },
        "certificate": {}
      }
    },
    "S10": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "name",
          "value"
        ],
        "members": {
          "name": {},
          "value": {},
          "type": {}
        }
      }
    },
    "S14": {
      "type": "structure",
      "required": [
        "status"
      ],
      "members": {
        "status": {},
        "groupName": {},
        "streamName": {}
      }
    },
    "S16": {
      "type": "structure",
      "required": [
        "status"
      ],
      "members": {
        "status": {},
        "location": {}
      }
    },
    "S19": {
      "type": "structure",
      "members": {
        "vpcId": {},
        "subnets": {
          "type": "list",
          "member": {}
        },
        "securityGroupIds": {
          "type": "list",
          "member": {}
        }
      }
    },
    "S1e": {
      "type": "list",
      "member": {}
    },
    "S1h": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "description": {},
        "source": {
          "shape": "Sk"
        },
        "secondarySources": {
          "shape": "Sq"
        },
        "artifacts": {
          "shape": "S1k"
        },
        "secondaryArtifacts": {
          "shape": "S1o"
        },
        "cache": {
          "shape": "Sv"
        },
        "environment": {
          "shape": "Sx"
        },
        "serviceRole": {},
        "timeoutInMinutes": {
          "type": "integer"
        },
        "queuedTimeoutInMinutes": {
          "type": "integer"
        },
        "encryptionKey": {},
        "tags": {
          "shape": "S1q"
        },
        "created": {
          "type": "timestamp"
        },
        "lastModified": {
          "type": "timestamp"
        },
        "webhook": {
          "shape": "S1u"
        },
        "vpcConfig": {
          "shape": "S19"
        },
        "badge": {
          "type": "structure",
          "members": {
            "badgeEnabled": {
              "type": "boolean"
            },
            "badgeRequestUrl": {}
          }
        },
        "logsConfig": {
          "shape": "S1w"
        }
      }
    },
    "S1k": {
      "type": "structure",
      "required": [
        "type"
      ],
      "members": {
        "type": {},
        "location": {},
        "path": {},
        "namespaceType": {},
        "name": {},
        "packaging": {},
        "overrideArtifactName": {
          "type": "boolean"
        },
        "encryptionDisabled": {
          "type": "boolean"
        },
        "artifactIdentifier": {}
      }
    },
    "S1o": {
      "type": "list",
      "member": {
        "shape": "S1k"
      }
    },
    "S1q": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "key": {},
          "value": {}
        }
      }
    },
    "S1u": {
      "type": "structure",
      "members": {
        "url": {},
        "payloadUrl": {},
        "secret": {},
        "branchFilter": {},
        "lastModifiedSecret": {
          "type": "timestamp"
        }
      }
    },
    "S1w": {
      "type": "structure",
      "members": {
        "cloudWatchLogs": {
          "shape": "S14"
        },
        "s3Logs": {
          "shape": "S16"
        }
      }
    }
  }
}