@Override public Optional<AccountCredentials> getOne(AccountCredentials.Type credentialsType) { return accountNameToCredentialsMap .values() .stream() .filter(a -> a.getSupportedTypes().contains(credentialsType)) .findFirst(); }
public static Set<AccountCredentials> getAllAccountsOfType(AccountCredentials.Type accountType, AccountCredentialsRepository accountCredentialsRepository) { return accountCredentialsRepository .getAll() .stream() .filter(credentials -> credentials.getSupportedTypes().contains(accountType)) .collect(Collectors.toSet()); } }
@Bean @DependsOn({"registerGoogleCredentials"}) MetricsService stackdriverMetricsService(AccountCredentialsRepository accountCredentialsRepository) { StackdriverMetricsService.StackdriverMetricsServiceBuilder stackdriverMetricsServiceBuilder = StackdriverMetricsService.builder(); accountCredentialsRepository .getAll() .stream() .filter(c -> c instanceof GoogleNamedAccountCredentials) .filter(c -> c.getSupportedTypes().contains(AccountCredentials.Type.METRICS_STORE)) .map(c -> c.getName()) .forEach(stackdriverMetricsServiceBuilder::accountName); StackdriverMetricsService stackdriverMetricsService = stackdriverMetricsServiceBuilder.build(); log.info("Populated StackdriverMetricsService with {} Google accounts.", stackdriverMetricsService.getAccountNames().size()); return stackdriverMetricsService; } }
@Bean @DependsOn({"registerGoogleCredentials"}) public GcsStorageService gcsStorageService(AccountCredentialsRepository accountCredentialsRepository) { GcsStorageService.GcsStorageServiceBuilder gcsStorageServiceBuilder = GcsStorageService.builder(); accountCredentialsRepository .getAll() .stream() .filter(c -> c instanceof GoogleNamedAccountCredentials) .filter(c -> c.getSupportedTypes().contains(AccountCredentials.Type.OBJECT_STORE)) .map(c -> c.getName()) .forEach(gcsStorageServiceBuilder::accountName); GcsStorageService gcsStorageService = gcsStorageServiceBuilder.build(); log.info("Populated GcsStorageService with {} Google accounts.", gcsStorageService.getAccountNames().size()); return gcsStorageService; } }
@Bean @DependsOn({"registerAwsCredentials"}) public S3StorageService s3StorageService(AccountCredentialsRepository accountCredentialsRepository) { AmazonObjectMapperConfigurer.configure(kayentaObjectMapper); kayentaObjectMapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, true); S3StorageService.S3StorageServiceBuilder s3StorageServiceBuilder = S3StorageService.builder(); accountCredentialsRepository .getAll() .stream() .filter(c -> c instanceof AwsNamedAccountCredentials) .filter(c -> c.getSupportedTypes().contains(AccountCredentials.Type.OBJECT_STORE)) .map(c -> c.getName()) .forEach(s3StorageServiceBuilder::accountName); S3StorageService s3StorageService = s3StorageServiceBuilder.objectMapper(kayentaObjectMapper).build(); log.info("Populated S3StorageService with {} AWS accounts.", s3StorageService.getAccountNames().size()); return s3StorageService; } }
@Override public Optional<AccountCredentials> getOne(AccountCredentials.Type credentialsType) { return accountNameToCredentialsMap .values() .stream() .filter(a -> a.getSupportedTypes().contains(credentialsType)) .findFirst(); }
public static Set<AccountCredentials> getAllAccountsOfType(AccountCredentials.Type accountType, AccountCredentialsRepository accountCredentialsRepository) { return accountCredentialsRepository .getAll() .stream() .filter(credentials -> credentials.getSupportedTypes().contains(accountType)) .collect(Collectors.toSet()); } }
@Bean @DependsOn({"registerGoogleCredentials"}) MetricsService stackdriverMetricsService(AccountCredentialsRepository accountCredentialsRepository) { StackdriverMetricsService.StackdriverMetricsServiceBuilder stackdriverMetricsServiceBuilder = StackdriverMetricsService.builder(); accountCredentialsRepository .getAll() .stream() .filter(c -> c instanceof GoogleNamedAccountCredentials) .filter(c -> c.getSupportedTypes().contains(AccountCredentials.Type.METRICS_STORE)) .map(c -> c.getName()) .forEach(stackdriverMetricsServiceBuilder::accountName); StackdriverMetricsService stackdriverMetricsService = stackdriverMetricsServiceBuilder.build(); log.info("Populated StackdriverMetricsService with {} Google accounts.", stackdriverMetricsService.getAccountNames().size()); return stackdriverMetricsService; } }
@Bean @DependsOn({"registerAwsCredentials"}) public S3StorageService s3StorageService(AccountCredentialsRepository accountCredentialsRepository) { AmazonObjectMapperConfigurer.configure(kayentaObjectMapper); kayentaObjectMapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, true); S3StorageService.S3StorageServiceBuilder s3StorageServiceBuilder = S3StorageService.builder(); accountCredentialsRepository .getAll() .stream() .filter(c -> c instanceof AwsNamedAccountCredentials) .filter(c -> c.getSupportedTypes().contains(AccountCredentials.Type.OBJECT_STORE)) .map(c -> c.getName()) .forEach(s3StorageServiceBuilder::accountName); S3StorageService s3StorageService = s3StorageServiceBuilder.objectMapper(kayentaObjectMapper).build(); log.info("Populated S3StorageService with {} AWS accounts.", s3StorageService.getAccountNames().size()); return s3StorageService; } }