/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the codebuild-2016-10-06.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CodeBuild.Model
{
///
/// Container for the parameters to the UpdateProjectVisibility operation.
/// 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, especially Amazon Web Services access key IDs and secret
/// access keys, 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.
///
///
///
public partial class UpdateProjectVisibilityRequest : AmazonCodeBuildRequest
{
private string _projectArn;
private ProjectVisibilityType _projectVisibility;
private string _resourceAccessRole;
///
/// Gets and sets the property ProjectArn.
///
/// The Amazon Resource Name (ARN) of the build project.
///
///
[AWSProperty(Required=true, Min=1)]
public string ProjectArn
{
get { return this._projectArn; }
set { this._projectArn = value; }
}
// Check to see if ProjectArn property is set
internal bool IsSetProjectArn()
{
return this._projectArn != null;
}
///
/// Gets and sets the property ProjectVisibility.
///
[AWSProperty(Required=true)]
public ProjectVisibilityType ProjectVisibility
{
get { return this._projectVisibility; }
set { this._projectVisibility = value; }
}
// Check to see if ProjectVisibility property is set
internal bool IsSetProjectVisibility()
{
return this._projectVisibility != null;
}
///
/// Gets and sets the property ResourceAccessRole.
///
/// The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon
/// S3 artifacts for the project's builds.
///
///
[AWSProperty(Min=1)]
public string ResourceAccessRole
{
get { return this._resourceAccessRole; }
set { this._resourceAccessRole = value; }
}
// Check to see if ResourceAccessRole property is set
internal bool IsSetResourceAccessRole()
{
return this._resourceAccessRole != null;
}
}
}