Search in sources :

Example 1 with AwsCredentialsProvider

use of software.amazon.awssdk.auth.AwsCredentialsProvider in project janusgraph by JanusGraph.

the class AwsCodePipelinesCi method run.

private void run() throws IOException {
    final File file = new File(getOptionValue(PIPELINES_JSON_OPTION));
    final Region region = Region.of(getOptionValue(REGION_OPTION));
    final AwsCredentialsProvider provider = ProfileCredentialsProvider.builder().profileName(getOptionValue(PROFILE_OPTION)).build();
    final ClientHttpConfiguration http = ClientHttpConfiguration.builder().httpClient(// consider netty some other time
    ApacheSdkHttpClientFactory.builder().socketTimeout(Duration.ofSeconds(10)).connectionTimeout(Duration.ofMillis(750)).build().createHttpClient()).build();
    final AwsCodePipelinesLogic.AwsCodePipelinesLogicBuilder builder = AwsCodePipelinesLogic.builder().githubToken(getOptionValue(GITHUB_TOKEN_OPTION)).githubOwner(getOptionValue(GITHUB_OWNER_OPTION)).githubRepo(getOptionValue(GITHUB_REPO_OPTION)).githubBranch(getOptionValue(GITHUB_BRANCH_OPTION)).codeBuildServiceRoleArn(getOptionValue(CODE_BUILD_SERVICE_ROLE_ARN_OPTION)).codePipelineRoleArn(getOptionValue(CODEPIPELINE_ROLE_ARN_OPTION)).s3Bucket(getOptionValue(BUCKET_OPTION)).s3BucketLocationConstraint(BucketLocationConstraint.fromValue(region.value())).s3(S3Client.builder().httpConfiguration(http).region(region).credentialsProvider(provider).build()).codeBuild(CodeBuildClient.builder().httpConfiguration(http).region(region).credentialsProvider(provider).build()).codePipeline(CodePipelineClient.builder().httpConfiguration(http).region(region).credentialsProvider(provider).build());
    final Tag timeTag = Tag.builder().key("date").value(Long.toString(System.currentTimeMillis())).build();
    final PipelineDefinitions definitions = new ObjectMapper(new YAMLFactory()).readValue(file, PipelineDefinitions.class);
    definitions.getPipelines().stream().map(def -> builder.pipelineName(def.getName()).sourceOutputArtifactName(def.getName() + "Source").parallelBuildActions(def.getParallelBuildActions()).defaultComputeImage(definitions.getDefaultComputeImage()).defaultComputeType(definitions.getDefaultComputeType()).defaultPrivilegedMode(definitions.isDefaultPrivilegedMode()).tags(ImmutableList.of(Tag.builder().key("project").value(def.getName()).build(), timeTag)).build()).forEach(AwsCodePipelinesLogic::run);
}
Also used : IAMException(software.amazon.awssdk.services.iam.model.IAMException) RequiredArgsConstructor(lombok.RequiredArgsConstructor) Options(org.apache.commons.cli.Options) PipelineDefinitions(org.janusgraph.codepipelines.model.PipelineDefinitions) CodeBuildClient(software.amazon.awssdk.services.codebuild.CodeBuildClient) BucketLocationConstraint(software.amazon.awssdk.services.s3.model.BucketLocationConstraint) DefaultParser(org.apache.commons.cli.DefaultParser) ImmutableList(com.google.common.collect.ImmutableList) ApacheSdkHttpClientFactory(software.amazon.awssdk.http.apache.ApacheSdkHttpClientFactory) Duration(java.time.Duration) YAMLFactory(com.fasterxml.jackson.dataformat.yaml.YAMLFactory) CommandLine(org.apache.commons.cli.CommandLine) Region(software.amazon.awssdk.regions.Region) Option(org.apache.commons.cli.Option) ClientHttpConfiguration(software.amazon.awssdk.client.builder.ClientHttpConfiguration) S3Client(software.amazon.awssdk.services.s3.S3Client) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) IOException(java.io.IOException) CodePipelineClient(software.amazon.awssdk.services.codepipeline.CodePipelineClient) File(java.io.File) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) ParseException(org.apache.commons.cli.ParseException) AwsCredentialsProvider(software.amazon.awssdk.auth.AwsCredentialsProvider) ProfileCredentialsProvider(software.amazon.awssdk.auth.ProfileCredentialsProvider) Tag(software.amazon.awssdk.services.s3.model.Tag) ClientHttpConfiguration(software.amazon.awssdk.client.builder.ClientHttpConfiguration) AwsCredentialsProvider(software.amazon.awssdk.auth.AwsCredentialsProvider) Region(software.amazon.awssdk.regions.Region) YAMLFactory(com.fasterxml.jackson.dataformat.yaml.YAMLFactory) PipelineDefinitions(org.janusgraph.codepipelines.model.PipelineDefinitions) Tag(software.amazon.awssdk.services.s3.model.Tag) File(java.io.File) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Aggregations

ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 YAMLFactory (com.fasterxml.jackson.dataformat.yaml.YAMLFactory)1 ImmutableList (com.google.common.collect.ImmutableList)1 File (java.io.File)1 IOException (java.io.IOException)1 Duration (java.time.Duration)1 List (java.util.List)1 RequiredArgsConstructor (lombok.RequiredArgsConstructor)1 Slf4j (lombok.extern.slf4j.Slf4j)1 CommandLine (org.apache.commons.cli.CommandLine)1 DefaultParser (org.apache.commons.cli.DefaultParser)1 Option (org.apache.commons.cli.Option)1 Options (org.apache.commons.cli.Options)1 ParseException (org.apache.commons.cli.ParseException)1 PipelineDefinitions (org.janusgraph.codepipelines.model.PipelineDefinitions)1 AwsCredentialsProvider (software.amazon.awssdk.auth.AwsCredentialsProvider)1 ProfileCredentialsProvider (software.amazon.awssdk.auth.ProfileCredentialsProvider)1 ClientHttpConfiguration (software.amazon.awssdk.client.builder.ClientHttpConfiguration)1 ApacheSdkHttpClientFactory (software.amazon.awssdk.http.apache.ApacheSdkHttpClientFactory)1 Region (software.amazon.awssdk.regions.Region)1