import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CodeBuildClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeBuildClient"; import type { UpdateProjectVisibilityInput, UpdateProjectVisibilityOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link UpdateProjectVisibilityCommand}. */ export interface UpdateProjectVisibilityCommandInput extends UpdateProjectVisibilityInput { } /** * @public * * The output of {@link UpdateProjectVisibilityCommand}. */ export interface UpdateProjectVisibilityCommandOutput extends UpdateProjectVisibilityOutput, __MetadataBearer { } declare const UpdateProjectVisibilityCommand_base: { new (input: UpdateProjectVisibilityCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: UpdateProjectVisibilityCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Changes the public visibility for a project. The project's build results, logs, and * artifacts are available to the general public. For more information, see Public build * projects in the CodeBuild User Guide.

* *

The following should be kept in mind when making your projects public:

*
    *
  • *

    All of a project's build results, logs, and artifacts, including builds that were run * when the project was private, are available to the general public.

    *
  • *
  • *

    All build logs and artifacts are available to the public. Environment variables, source * code, and other sensitive information may have been output to the build logs and artifacts. * You must be careful about what information is output to the build logs. Some best practice * are:

    *
      *
    • *

      Do not store sensitive values in environment variables. We recommend that you use an Amazon EC2 Systems Manager Parameter Store * or Secrets Manager to store sensitive values.

      *
    • *
    • *

      Follow Best * practices for using webhooks in the CodeBuild User * Guide to limit which entities can trigger a build, and do * not store the buildspec in the project itself, to ensure that your webhooks are as * secure as possible.

      *
    • *
    *
  • *
  • *

    A malicious user can use public builds to distribute malicious artifacts. We recommend * that you review all pull requests to verify that the pull request is a legitimate change. We * also recommend that you validate any artifacts with their checksums to make sure that the * correct artifacts are being downloaded.

    *
  • *
*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CodeBuildClient, UpdateProjectVisibilityCommand } from "@aws-sdk/client-codebuild"; // ES Modules import * // const { CodeBuildClient, UpdateProjectVisibilityCommand } = require("@aws-sdk/client-codebuild"); // CommonJS import * // import type { CodeBuildClientConfig } from "@aws-sdk/client-codebuild"; * const config = {}; // type is CodeBuildClientConfig * const client = new CodeBuildClient(config); * const input = { // UpdateProjectVisibilityInput * projectArn: "STRING_VALUE", // required * projectVisibility: "PUBLIC_READ" || "PRIVATE", // required * resourceAccessRole: "STRING_VALUE", * }; * const command = new UpdateProjectVisibilityCommand(input); * const response = await client.send(command); * // { // UpdateProjectVisibilityOutput * // projectArn: "STRING_VALUE", * // publicProjectAlias: "STRING_VALUE", * // projectVisibility: "PUBLIC_READ" || "PRIVATE", * // }; * * ``` * * @param UpdateProjectVisibilityCommandInput - {@link UpdateProjectVisibilityCommandInput} * @returns {@link UpdateProjectVisibilityCommandOutput} * @see {@link UpdateProjectVisibilityCommandInput} for command's `input` shape. * @see {@link UpdateProjectVisibilityCommandOutput} for command's `response` shape. * @see {@link CodeBuildClientResolvedConfig | config} for CodeBuildClient's `config` shape. * * @throws {@link InvalidInputException} (client fault) *

The input value that was provided is not valid.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified Amazon Web Services resource cannot be found.

* * @throws {@link CodeBuildServiceException} *

Base exception class for all service exceptions from CodeBuild service.

* * * @public */ export declare class UpdateProjectVisibilityCommand extends UpdateProjectVisibilityCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateProjectVisibilityInput; output: UpdateProjectVisibilityOutput; }; sdk: { input: UpdateProjectVisibilityCommandInput; output: UpdateProjectVisibilityCommandOutput; }; }; }