docs
reference
services
tessl install tessl/maven-com-pulumi--aws@7.16.0Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.
This document covers Pulumi AWS Java SDK developer tools services for continuous integration, deployment, and monitoring.
AWS CodeCommit provides Git-based source control.
import com.pulumi.aws.codecommit.Repository;
import com.pulumi.aws.codecommit.RepositoryArgs;
import com.pulumi.aws.codecommit.Trigger;
import com.pulumi.aws.codecommit.TriggerArgs;
import com.pulumi.aws.codecommit.ApprovalRuleTemplate;
import com.pulumi.aws.codecommit.ApprovalRuleTemplateArgs;@ResourceType(type="aws:codecommit/repository:Repository")
public class Repository extends com.pulumi.resources.CustomResource {
public Repository(String name, RepositoryArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> repositoryName();
public Output<String> cloneUrlHttp();
public Output<String> cloneUrlSsh();
public Output<Optional<String>> description();
public Output<Optional<String>> defaultBranch();
public Output<Optional<Map<String, String>>> tags();
}
public class RepositoryArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder repositoryName(Output<String> repositoryName);
public Builder description(Output<String> description);
public Builder defaultBranch(Output<String> defaultBranch);
public Builder tags(Output<Map<String, String>> tags);
public RepositoryArgs build();
}
}AWS CodeBuild provides build and test capabilities.
import com.pulumi.aws.codebuild.Project;
import com.pulumi.aws.codebuild.ProjectArgs;
import com.pulumi.aws.codebuild.ReportGroup;
import com.pulumi.aws.codebuild.ReportGroupArgs;
import com.pulumi.aws.codebuild.Webhook;
import com.pulumi.aws.codebuild.WebhookArgs;@ResourceType(type="aws:codebuild/project:Project")
public class Project extends com.pulumi.resources.CustomResource {
public Project(String name, ProjectArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<ProjectArtifacts> artifacts();
public Output<ProjectEnvironment> environment();
public Output<String> serviceRole();
public Output<ProjectSource> source();
public Output<Optional<String>> buildTimeout();
public Output<Optional<ProjectCache>> cache();
public Output<Optional<String>> description();
public Output<Optional<String>> encryptionKey();
public Output<Optional<ProjectLogsConfig>> logsConfig();
public Output<Optional<ProjectVpcConfig>> vpcConfig();
public Output<Optional<Map<String, String>>> tags();
}
public class ProjectArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder name(Output<String> name);
public Builder artifacts(Output<ProjectArtifactsArgs> artifacts);
public Builder environment(Output<ProjectEnvironmentArgs> environment);
public Builder serviceRole(Output<String> serviceRole);
public Builder source(Output<ProjectSourceArgs> source);
public Builder buildTimeout(Output<Integer> buildTimeout);
public Builder cache(Output<ProjectCacheArgs> cache);
public Builder description(Output<String> description);
public Builder encryptionKey(Output<String> encryptionKey);
public Builder logsConfig(Output<ProjectLogsConfigArgs> logsConfig);
public Builder vpcConfig(Output<ProjectVpcConfigArgs> vpcConfig);
public Builder tags(Output<Map<String, String>> tags);
public ProjectArgs build();
}
}AWS CodeDeploy automates application deployments.
import com.pulumi.aws.codedeploy.Application;
import com.pulumi.aws.codedeploy.ApplicationArgs;
import com.pulumi.aws.codedeploy.DeploymentGroup;
import com.pulumi.aws.codedeploy.DeploymentGroupArgs;
import com.pulumi.aws.codedeploy.DeploymentConfig;
import com.pulumi.aws.codedeploy.DeploymentConfigArgs;@ResourceType(type="aws:codedeploy/application:Application")
public class Application extends com.pulumi.resources.CustomResource {
public Application(String name, ApplicationArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<Optional<String>> computePlatform();
public Output<Optional<Map<String, String>>> tags();
}
public class ApplicationArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder name(Output<String> name);
public Builder computePlatform(Output<String> computePlatform);
public Builder tags(Output<Map<String, String>> tags);
public ApplicationArgs build();
}
}AWS CodePipeline provides CI/CD automation.
import com.pulumi.aws.codepipeline.Pipeline;
import com.pulumi.aws.codepipeline.PipelineArgs;
import com.pulumi.aws.codepipeline.Webhook;
import com.pulumi.aws.codepipeline.WebhookArgs;
import com.pulumi.aws.codepipeline.CustomActionType;
import com.pulumi.aws.codepipeline.CustomActionTypeArgs;@ResourceType(type="aws:codepipeline/pipeline:Pipeline")
public class Pipeline extends com.pulumi.resources.CustomResource {
public Pipeline(String name, PipelineArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<PipelineArtifactStore> artifactStore();
public Output<String> roleArn();
public Output<List<PipelineStage>> stages();
public Output<Optional<Map<String, String>>> tags();
}
public class PipelineArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder name(Output<String> name);
public Builder roleArn(Output<String> roleArn);
public Builder artifactStore(Output<PipelineArtifactStoreArgs> artifactStore);
public Builder stages(Output<List<PipelineStageArgs>> stages);
public Builder tags(Output<Map<String, String>> tags);
public PipelineArgs build();
}
}AWS CodeArtifact provides artifact repository management.
import com.pulumi.aws.codeartifact.Domain;
import com.pulumi.aws.codeartifact.DomainArgs;
import com.pulumi.aws.codeartifact.Repository;
import com.pulumi.aws.codeartifact.RepositoryArgs;@ResourceType(type="aws:codeartifact/domain:Domain")
public class Domain extends com.pulumi.resources.CustomResource {
public Domain(String name, DomainArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> domain();
public Output<String> owner();
public Output<Optional<String>> encryptionKey();
public Output<Optional<Map<String, String>>> tags();
}
public class DomainArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder domain(Output<String> domain);
public Builder encryptionKey(Output<String> encryptionKey);
public Builder tags(Output<Map<String, String>> tags);
public DomainArgs build();
}
}AWS X-Ray provides application tracing and analysis.
import com.pulumi.aws.xray.Group;
import com.pulumi.aws.xray.GroupArgs;
import com.pulumi.aws.xray.SamplingRule;
import com.pulumi.aws.xray.SamplingRuleArgs;
import com.pulumi.aws.xray.EncryptionConfig;
import com.pulumi.aws.xray.EncryptionConfigArgs;@ResourceType(type="aws:xray/group:Group")
public class Group extends com.pulumi.resources.CustomResource {
public Group(String name, GroupArgs args);
public Output<String> id();
public Output<String> arn();
public Output<String> groupName();
public Output<String> filterExpression();
public Output<Optional<GroupInsightsConfiguration>> insightsConfiguration();
public Output<Optional<Map<String, String>>> tags();
}
public class GroupArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder();
public static final class Builder {
public Builder groupName(Output<String> groupName);
public Builder filterExpression(Output<String> filterExpression);
public Builder insightsConfiguration(Output<GroupInsightsConfigurationArgs> insightsConfiguration);
public Builder tags(Output<Map<String, String>> tags);
public GroupArgs build();
}
}import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.aws.codebuild.*;
import com.pulumi.aws.codepipeline.*;
import java.util.List;
import java.util.Map;
public class DevToolsExample {
public static void main(String[] args) {
Pulumi.run(DevToolsExample::stack);
}
public static void stack(Context ctx) {
// Create CodeBuild Project
var buildProject = new Project("buildProject", ProjectArgs.builder()
.name("app-build")
.serviceRole("arn:aws:iam::123456789012:role/CodeBuildRole")
.artifacts(ProjectArtifactsArgs.builder()
.type("CODEPIPELINE")
.build())
.environment(ProjectEnvironmentArgs.builder()
.computeType("BUILD_GENERAL1_SMALL")
.image("aws/codebuild/standard:5.0")
.type("LINUX_CONTAINER")
.build())
.source(ProjectSourceArgs.builder()
.type("CODEPIPELINE")
.buildspec("buildspec.yml")
.build())
.build());
// Create CodePipeline
var pipeline = new Pipeline("appPipeline", PipelineArgs.builder()
.name("app-pipeline")
.roleArn("arn:aws:iam::123456789012:role/CodePipelineRole")
.artifactStore(PipelineArtifactStoreArgs.builder()
.type("S3")
.location("my-pipeline-artifacts")
.build())
.stages(List.of(
PipelineStageArgs.builder()
.name("Source")
.actions(List.of(PipelineStageActionArgs.builder()
.name("Source")
.category("Source")
.owner("AWS")
.provider("CodeCommit")
.version("1")
.outputArtifacts(List.of("source_output"))
.configuration(Map.of(
"RepositoryName", "my-repo",
"BranchName", "main"
))
.build()))
.build(),
PipelineStageArgs.builder()
.name("Build")
.actions(List.of(PipelineStageActionArgs.builder()
.name("Build")
.category("Build")
.owner("AWS")
.provider("CodeBuild")
.version("1")
.inputArtifacts(List.of("source_output"))
.outputArtifacts(List.of("build_output"))
.configuration(Map.of(
"ProjectName", buildProject.name()
))
.build()))
.build()
))
.build());
ctx.export("pipelineName", pipeline.name());
}
}