defmodule Baiji.Codebuild do @moduledoc """ AWS CodeBuild AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apach Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the *AWS CodeBuild User Guide*. AWS CodeBuild supports these operations: """ @doc """ Deletes one or more builds. """ def batch_delete_builds(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "BatchDeleteBuilds", method: :post, input_shape: "BatchDeleteBuildsInput", output_shape: "BatchDeleteBuildsOutput", endpoint: __spec__() } end @doc """ Gets information about builds. """ def batch_get_builds(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "BatchGetBuilds", method: :post, input_shape: "BatchGetBuildsInput", output_shape: "BatchGetBuildsOutput", endpoint: __spec__() } end @doc """ Gets information about build projects. """ def batch_get_projects(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "BatchGetProjects", method: :post, input_shape: "BatchGetProjectsInput", output_shape: "BatchGetProjectsOutput", endpoint: __spec__() } end @doc """ Creates a build project. """ def create_project(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "CreateProject", method: :post, input_shape: "CreateProjectInput", output_shape: "CreateProjectOutput", endpoint: __spec__() } end @doc """ Deletes a build project. """ def delete_project(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "DeleteProject", method: :post, input_shape: "DeleteProjectInput", output_shape: "DeleteProjectOutput", endpoint: __spec__() } end @doc """ Gets a list of build IDs, with each build ID representing a single build. """ def list_builds(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "ListBuilds", method: :post, input_shape: "ListBuildsInput", output_shape: "ListBuildsOutput", endpoint: __spec__() } end @doc """ Gets a list of build IDs for the specified build project, with each build ID representing a single build. """ def list_builds_for_project(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "ListBuildsForProject", method: :post, input_shape: "ListBuildsForProjectInput", output_shape: "ListBuildsForProjectOutput", endpoint: __spec__() } end @doc """ Gets information about Docker images that are managed by AWS CodeBuild. """ def list_curated_environment_images(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "ListCuratedEnvironmentImages", method: :post, input_shape: "ListCuratedEnvironmentImagesInput", output_shape: "ListCuratedEnvironmentImagesOutput", endpoint: __spec__() } end @doc """ Gets a list of build project names, with each build project name representing a single build project. """ def list_projects(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "ListProjects", method: :post, input_shape: "ListProjectsInput", output_shape: "ListProjectsOutput", endpoint: __spec__() } end @doc """ Starts running a build. """ def start_build(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "StartBuild", method: :post, input_shape: "StartBuildInput", output_shape: "StartBuildOutput", endpoint: __spec__() } end @doc """ Attempts to stop running a build. """ def stop_build(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "StopBuild", method: :post, input_shape: "StopBuildInput", output_shape: "StopBuildOutput", endpoint: __spec__() } end @doc """ Changes the settings of a build project. """ def update_project(input \\ %{}, options \\ []) do %Baiji.Operation{ path: "/", input: input, options: options, action: "UpdateProject", method: :post, input_shape: "UpdateProjectInput", output_shape: "UpdateProjectOutput", endpoint: __spec__() } end @doc """ Outputs values common to all actions """ def __spec__ do %Baiji.Endpoint{ service: "codebuild", target_prefix: "CodeBuild_20161006", endpoint_prefix: "codebuild", type: :json, version: "2016-10-06", shapes: __shapes__() } end @doc """ Returns a map containing the input/output shapes for this endpoint """ def __shapes__ do %{"SourceType" => %{"enum" => ["CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET"], "type" => "string"}, "ProjectName" => %{"max" => 255, "min" => 2, "pattern" => "[A-Za-z0-9][A-Za-z0-9\\-_]{1,254}", "type" => "string"}, "ListBuildsForProjectInput" => %{"members" => %{"nextToken" => %{"shape" => "String"}, "projectName" => %{"shape" => "NonEmptyString"}, "sortOrder" => %{"shape" => "SortOrderType"}}, "required" => ["projectName"], "type" => "structure"}, "ArtifactsType" => %{"enum" => ["CODEPIPELINE", "S3", "NO_ARTIFACTS"], "type" => "string"}, "String" => %{"type" => "string"}, "BuildNotDeleted" => %{"members" => %{"id" => %{"shape" => "NonEmptyString"}, "statusCode" => %{"shape" => "String"}}, "type" => "structure"}, "Boolean" => %{"type" => "boolean"}, "ProjectNames" => %{"max" => 100, "member" => %{"shape" => "NonEmptyString"}, "min" => 1, "type" => "list"}, "SourceAuth" => %{"members" => %{"resource" => %{"shape" => "String"}, "type" => %{"shape" => "SourceAuthType"}}, "required" => ["type"], "type" => "structure"}, "ValueInput" => %{"max" => 255, "min" => 1, "pattern" => "^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$", "type" => "string"}, "DeleteProjectInput" => %{"members" => %{"name" => %{"shape" => "NonEmptyString"}}, "required" => ["name"], "type" => "structure"}, "StatusType" => %{"enum" => ["SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"], "type" => "string"}, "ArtifactPackaging" => %{"enum" => ["NONE", "ZIP"], "type" => "string"}, "LanguageType" => %{"enum" => ["JAVA", "PYTHON", "NODE_JS", "RUBY", "GOLANG", "DOCKER", "ANDROID", "DOTNET", "BASE"], "type" => "string"}, "KeyInput" => %{"max" => 127, "min" => 1, "pattern" => "^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$", "type" => "string"}, "WrapperInt" => %{"type" => "integer"}, "AccountLimitExceededException" => %{"exception" => true, "members" => %{}, "type" => "structure"}, "BatchGetProjectsInput" => %{"members" => %{"names" => %{"shape" => "ProjectNames"}}, "required" => ["names"], "type" => "structure"}, "ListBuildsForProjectOutput" => %{"members" => %{"ids" => %{"shape" => "BuildIds"}, "nextToken" => %{"shape" => "String"}}, "type" => "structure"}, "StopBuildOutput" => %{"members" => %{"build" => %{"shape" => "Build"}}, "type" => "structure"}, "ListCuratedEnvironmentImagesInput" => %{"members" => %{}, "type" => "structure"}, "StartBuildOutput" => %{"members" => %{"build" => %{"shape" => "Build"}}, "type" => "structure"}, "Project" => %{"members" => %{"arn" => %{"shape" => "String"}, "artifacts" => %{"shape" => "ProjectArtifacts"}, "created" => %{"shape" => "Timestamp"}, "description" => %{"shape" => "ProjectDescription"}, "encryptionKey" => %{"shape" => "NonEmptyString"}, "environment" => %{"shape" => "ProjectEnvironment"}, "lastModified" => %{"shape" => "Timestamp"}, "name" => %{"shape" => "ProjectName"}, "serviceRole" => %{"shape" => "NonEmptyString"}, "source" => %{"shape" => "ProjectSource"}, "tags" => %{"shape" => "TagList"}, "timeoutInMinutes" => %{"shape" => "TimeOut"}}, "type" => "structure"}, "PhaseContext" => %{"members" => %{"message" => %{"shape" => "String"}, "statusCode" => %{"shape" => "String"}}, "type" => "structure"}, "BuildPhase" => %{"members" => %{"contexts" => %{"shape" => "PhaseContexts"}, "durationInSeconds" => %{"shape" => "WrapperLong"}, "endTime" => %{"shape" => "Timestamp"}, "phaseStatus" => %{"shape" => "StatusType"}, "phaseType" => %{"shape" => "BuildPhaseType"}, "startTime" => %{"shape" => "Timestamp"}}, "type" => "structure"}, "WrapperBoolean" => %{"type" => "boolean"}, "CreateProjectInput" => %{"members" => %{"artifacts" => %{"shape" => "ProjectArtifacts"}, "description" => %{"shape" => "ProjectDescription"}, "encryptionKey" => %{"shape" => "NonEmptyString"}, "environment" => %{"shape" => "ProjectEnvironment"}, "name" => %{"shape" => "ProjectName"}, "serviceRole" => %{"shape" => "NonEmptyString"}, "source" => %{"shape" => "ProjectSource"}, "tags" => %{"shape" => "TagList"}, "timeoutInMinutes" => %{"shape" => "TimeOut"}}, "required" => ["name", "source", "artifacts", "environment"], "type" => "structure"}, "ProjectEnvironment" => %{"members" => %{"computeType" => %{"shape" => "ComputeType"}, "environmentVariables" => %{"shape" => "EnvironmentVariables"}, "image" => %{"shape" => "NonEmptyString"}, "privilegedMode" => %{"shape" => "WrapperBoolean"}, "type" => %{"shape" => "EnvironmentType"}}, "required" => ["type", "image", "computeType"], "type" => "structure"}, "ListBuildsInput" => %{"members" => %{"nextToken" => %{"shape" => "String"}, "sortOrder" => %{"shape" => "SortOrderType"}}, "type" => "structure"}, "NonEmptyString" => %{"min" => 1, "type" => "string"}, "StopBuildInput" => %{"members" => %{"id" => %{"shape" => "NonEmptyString"}}, "required" => ["id"], "type" => "structure"}, "EnvironmentVariables" => %{"member" => %{"shape" => "EnvironmentVariable"}, "type" => "list"}, "Tag" => %{"members" => %{"key" => %{"shape" => "KeyInput"}, "value" => %{"shape" => "ValueInput"}}, "type" => "structure"}, "ArtifactNamespace" => %{"enum" => ["NONE", "BUILD_ID"], "type" => "string"}, "Timestamp" => %{"type" => "timestamp"}, "LogsLocation" => %{"members" => %{"deepLink" => %{"shape" => "String"}, "groupName" => %{"shape" => "String"}, "streamName" => %{"shape" => "String"}}, "type" => "structure"}, "ListProjectsOutput" => %{"members" => %{"nextToken" => %{"shape" => "String"}, "projects" => %{"shape" => "ProjectNames"}}, "type" => "structure"}, "PhaseContexts" => %{"member" => %{"shape" => "PhaseContext"}, "type" => "list"}, "TagList" => %{"max" => 50, "member" => %{"shape" => "Tag"}, "min" => 0, "type" => "list"}, "EnvironmentPlatforms" => %{"member" => %{"shape" => "EnvironmentPlatform"}, "type" => "list"}, "BuildIds" => %{"max" => 100, "member" => %{"shape" => "NonEmptyString"}, "min" => 1, "type" => "list"}, "ListCuratedEnvironmentImagesOutput" => %{"members" => %{"platforms" => %{"shape" => "EnvironmentPlatforms"}}, "type" => "structure"}, "Builds" => %{"member" => %{"shape" => "Build"}, "type" => "list"}, "Build" => %{"members" => %{"arn" => %{"shape" => "NonEmptyString"}, "artifacts" => %{"shape" => "BuildArtifacts"}, "buildComplete" => %{"shape" => "Boolean"}, "buildStatus" => %{"shape" => "StatusType"}, "currentPhase" => %{"shape" => "String"}, "endTime" => %{"shape" => "Timestamp"}, "environment" => %{"shape" => "ProjectEnvironment"}, "id" => %{"shape" => "NonEmptyString"}, "initiator" => %{"shape" => "String"}, "logs" => %{"shape" => "LogsLocation"}, "phases" => %{"shape" => "BuildPhases"}, "projectName" => %{"shape" => "NonEmptyString"}, "source" => %{"shape" => "ProjectSource"}, "sourceVersion" => %{"shape" => "NonEmptyString"}, "startTime" => %{"shape" => "Timestamp"}, "timeoutInMinutes" => %{"shape" => "WrapperInt"}}, "type" => "structure"}, "ComputeType" => %{"enum" => ["BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE"], "type" => "string"}, "BuildPhases" => %{"member" => %{"shape" => "BuildPhase"}, "type" => "list"}, "EnvironmentVariable" => %{"members" => %{"name" => %{"shape" => "NonEmptyString"}, "type" => %{"shape" => "EnvironmentVariableType"}, "value" => %{"shape" => "String"}}, "required" => ["name", "value"], "type" => "structure"}, "BatchDeleteBuildsInput" => %{"members" => %{"ids" => %{"shape" => "BuildIds"}}, "required" => ["ids"], "type" => "structure"}, "EnvironmentImages" => %{"member" => %{"shape" => "EnvironmentImage"}, "type" => "list"}, "PlatformType" => %{"enum" => ["DEBIAN", "AMAZON_LINUX", "UBUNTU"], "type" => "string"}, "ResourceNotFoundException" => %{"exception" => true, "members" => %{}, "type" => "structure"}, "BatchGetProjectsOutput" => %{"members" => %{"projects" => %{"shape" => "Projects"}, "projectsNotFound" => %{"shape" => "ProjectNames"}}, "type" => "structure"}, "SourceAuthType" => %{"enum" => ["OAUTH"], "type" => "string"}, "BatchDeleteBuildsOutput" => %{"members" => %{"buildsDeleted" => %{"shape" => "BuildIds"}, "buildsNotDeleted" => %{"shape" => "BuildsNotDeleted"}}, "type" => "structure"}, "BatchGetBuildsOutput" => %{"members" => %{"builds" => %{"shape" => "Builds"}, "buildsNotFound" => %{"shape" => "BuildIds"}}, "type" => "structure"}, "ProjectArtifacts" => %{"members" => %{"location" => %{"shape" => "String"}, "name" => %{"shape" => "String"}, "namespaceType" => %{"shape" => "ArtifactNamespace"}, "packaging" => %{"shape" => "ArtifactPackaging"}, "path" => %{"shape" => "String"}, "type" => %{"shape" => "ArtifactsType"}}, "required" => ["type"], "type" => "structure"}, "WrapperLong" => %{"type" => "long"}, "ProjectSortByType" => %{"enum" => ["NAME", "CREATED_TIME", "LAST_MODIFIED_TIME"], "type" => "string"}, "EnvironmentPlatform" => %{"members" => %{"languages" => %{"shape" => "EnvironmentLanguages"}, "platform" => %{"shape" => "PlatformType"}}, "type" => "structure"}, "UpdateProjectInput" => %{"members" => %{"artifacts" => %{"shape" => "ProjectArtifacts"}, "description" => %{"shape" => "ProjectDescription"}, "encryptionKey" => %{"shape" => "NonEmptyString"}, "environment" => %{"shape" => "ProjectEnvironment"}, "name" => %{"shape" => "NonEmptyString"}, "serviceRole" => %{"shape" => "NonEmptyString"}, "source" => %{"shape" => "ProjectSource"}, "tags" => %{"shape" => "TagList"}, "timeoutInMinutes" => %{"shape" => "TimeOut"}}, "required" => ["name"], "type" => "structure"}, "EnvironmentImage" => %{"members" => %{"description" => %{"shape" => "String"}, "name" => %{"shape" => "String"}}, "type" => "structure"}, "BuildArtifacts" => %{"members" => %{"location" => %{"shape" => "String"}, "md5sum" => %{"shape" => "String"}, "sha256sum" => %{"shape" => "String"}}, "type" => "structure"}, "TimeOut" => %{"max" => 480, "min" => 5, "type" => "integer"}, "EnvironmentLanguage" => %{"members" => %{"images" => %{"shape" => "EnvironmentImages"}, "language" => %{"shape" => "LanguageType"}}, "type" => "structure"}, "ProjectDescription" => %{"max" => 255, "min" => 0, "type" => "string"}, "BuildPhaseType" => %{"enum" => ["SUBMITTED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING", "COMPLETED"], "type" => "string"}, "StartBuildInput" => %{"members" => %{"artifactsOverride" => %{"shape" => "ProjectArtifacts"}, "buildspecOverride" => %{"shape" => "String"}, "environmentVariablesOverride" => %{"shape" => "EnvironmentVariables"}, "projectName" => %{"shape" => "NonEmptyString"}, "sourceVersion" => %{"shape" => "String"}, "timeoutInMinutesOverride" => %{"shape" => "TimeOut"}}, "required" => ["projectName"], "type" => "structure"}, "ResourceAlreadyExistsException" => %{"exception" => true, "members" => %{}, "type" => "structure"}, "ListProjectsInput" => %{"members" => %{"nextToken" => %{"shape" => "NonEmptyString"}, "sortBy" => %{"shape" => "ProjectSortByType"}, "sortOrder" => %{"shape" => "SortOrderType"}}, "type" => "structure"}, "BuildsNotDeleted" => %{"member" => %{"shape" => "BuildNotDeleted"}, "type" => "list"}, "Projects" => %{"member" => %{"shape" => "Project"}, "type" => "list"}, "ProjectSource" => %{"members" => %{"auth" => %{"shape" => "SourceAuth"}, "buildspec" => %{"shape" => "String"}, "location" => %{"shape" => "String"}, "type" => %{"shape" => "SourceType"}}, "required" => ["type"], "type" => "structure"}, "DeleteProjectOutput" => %{"members" => %{}, "type" => "structure"}, "ListBuildsOutput" => %{"members" => %{"ids" => %{"shape" => "BuildIds"}, "nextToken" => %{"shape" => "String"}}, "type" => "structure"}, "EnvironmentLanguages" => %{"member" => %{"shape" => "EnvironmentLanguage"}, "type" => "list"}, "BatchGetBuildsInput" => %{"members" => %{"ids" => %{"shape" => "BuildIds"}}, "required" => ["ids"], "type" => "structure"}, "EnvironmentVariableType" => %{"enum" => ["PLAINTEXT", "PARAMETER_STORE"], "type" => "string"}, "UpdateProjectOutput" => %{"members" => %{"project" => %{"shape" => "Project"}}, "type" => "structure"}, "CreateProjectOutput" => %{"members" => %{"project" => %{"shape" => "Project"}}, "type" => "structure"}, "InvalidInputException" => %{"exception" => true, "members" => %{}, "type" => "structure"}, "EnvironmentType" => %{"enum" => ["LINUX_CONTAINER"], "type" => "string"}, "SortOrderType" => %{"enum" => ["ASCENDING", "DESCENDING"], "type" => "string"}} end end