Resource Policy
Provides a CodeBuild Resource Policy Resource.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.codebuild.ReportGroup;
import com.pulumi.aws.codebuild.ReportGroupArgs;
import com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.codebuild.ResourcePolicy;
import com.pulumi.aws.codebuild.ResourcePolicyArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleReportGroup = new ReportGroup("exampleReportGroup", ReportGroupArgs.builder()
.type("TEST")
.exportConfig(ReportGroupExportConfigArgs.builder()
.type("NO_EXPORT")
.build())
.build());
final var currentPartition = AwsFunctions.getPartition();
final var currentCallerIdentity = AwsFunctions.getCallerIdentity();
var exampleResourcePolicy = new ResourcePolicy("exampleResourcePolicy", ResourcePolicyArgs.builder()
.resourceArn(exampleReportGroup.arn())
.policy(exampleReportGroup.arn().applyValue(arn -> serializeJson(
jsonObject(
jsonProperty("Version", "2012-10-17"),
jsonProperty("Id", "default"),
jsonProperty("Statement", jsonArray(jsonObject(
jsonProperty("Sid", "default"),
jsonProperty("Effect", "Allow"),
jsonProperty("Principal", jsonObject(
jsonProperty("AWS", String.format("arn:%s:iam::%s:root", currentPartition.applyValue(getPartitionResult -> getPartitionResult.partition()),currentCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())))
)),
jsonProperty("Action", jsonArray(
"codebuild:BatchGetReportGroups",
"codebuild:BatchGetReports",
"codebuild:ListReportsForReportGroup",
"codebuild:DescribeTestCases"
)),
jsonProperty("Resource", arn)
)))
))))
.build());
}
}
Content copied to clipboard
Import
CodeBuild Resource Policy can be imported using the CodeBuild Resource Policy arn, e.g.,
$ pulumi import aws:codebuild/resourcePolicy:ResourcePolicy example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name
Content copied to clipboard
Properties
Link copied to clipboard
A JSON-formatted resource policy. For more information, see Sharing a Projec and Sharing a Report Group.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The ARN of the Project or ReportGroup resource you want to associate with a resource policy.