/** * Provides a named "skin" as a signal for Spinnaker API clients, e.g. Deck, to alter their behavior. * By default, returns an account's provider version, * but does not need to be coupled to a provider version. * * @return the account's skin. */ default String getSkin() { return getProviderVersion().toString(); }
@Override public Set<? extends AccountCredentials> getAll() { return repository.getAll(); }
@Override public AccountCredentials getCredentials(String name) { return repository.getOne(name); } }
private String getAccountName(String accountIdOrName) { return accountCredentialsRepository.getAll() .stream() .filter(c -> accountIdOrName.equalsIgnoreCase(c.getAccountId()) || accountIdOrName.equalsIgnoreCase(c.getName())) .map(AccountCredentials::getName) .findFirst() .orElseThrow(() -> new IllegalArgumentException("Unsupported account identifier (accountId: " + accountIdOrName + ")")); } }
@Override default String getAccount() { return getCredentials().getName(); } }
EntityTags.EntityRef entityRef = entityTags.getEntityRef(); Optional<NetflixAmazonCredentials> credentials = Optional.ofNullable( accountCredentialsProvider.getCredentials(entityRef.getAccount())) .filter((c) -> c instanceof NetflixAmazonCredentials) .map(NetflixAmazonCredentials.class::cast);
private NetflixAmazonCredentials getAccountCredentialsById(String accountId) { for (AccountCredentials credentials : accountCredentialsProvider.getAll()) { if (credentials.getAccountId() != null && credentials.getAccountId().equals(accountId)) { return (NetflixAmazonCredentials) credentials; } } return null; }
LaunchFailureNotificationAgent(ObjectMapper objectMapper, AmazonClientProvider amazonClientProvider, AccountCredentialsProvider accountCredentialsProvider, LaunchFailureConfigurationProperties properties, EntityTagger serverGroupTagger) { this.objectMapper = objectMapper; this.amazonClientProvider = amazonClientProvider; this.accountCredentialsProvider = accountCredentialsProvider; this.properties = properties; this.serverGroupTagger = serverGroupTagger; Set<? extends AccountCredentials> accountCredentials = accountCredentialsProvider.getAll(); this.topicARN = new ARN(accountCredentials, properties.getTopicARN()); this.queueARN = new ARN(accountCredentials, properties.getQueueARN()); }
public DefaultAccountCredentialsProvider() { this.repository = new MapBackedAccountCredentialsRepository(); }
ARN(Collection<? extends AccountCredentials> accountCredentials, String arn) { this.arn = arn; Matcher sqsMatcher = PATTERN.matcher(arn); if (!sqsMatcher.matches()) { throw new IllegalArgumentException(arn + " is not a valid SNS or SQS ARN"); } this.region = sqsMatcher.group(1); this.name = sqsMatcher.group(3); String accountId = sqsMatcher.group(2); this.account = (NetflixAmazonCredentials) accountCredentials.stream() .filter(c -> accountId.equals(c.getAccountId())) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No account credentials found for " + accountId)); } }
default Permissions getPermissions() { Set<String> rgm = Optional.ofNullable(getRequiredGroupMembership()) .map(l -> l.stream() .map(s -> Optional.ofNullable(s) .map(String::trim) .map(String::toLowerCase) .orElse("")) .filter(s -> !s.isEmpty()) .collect(Collectors.toSet())) .orElse(Collections.EMPTY_SET); if (rgm.isEmpty()) { return Permissions.EMPTY; } Permissions.Builder perms = new Permissions.Builder(); for (String role : rgm) { perms.add(Authorization.READ, role); perms.add(Authorization.WRITE, role); } return perms.build(); } }
@Override public Collection<Agent> agents() { NetflixAmazonCredentials credentials = (NetflixAmazonCredentials) accountCredentialsProvider.getCredentials( properties.getAccountName() );
@Override public CacheResult loadData(ProviderCache providerCache) { try { Set<String> matchingAccounts = accountCredentialsRepository.getAll() .stream() .filter(AmazonCredentials.class::isInstance)
protected S3Object fetchObject(String bucketAccount, String bucketRegion, String bucketName, String objectId) { NetflixAmazonCredentials account = (NetflixAmazonCredentials) accountCredentialsRepository.getOne(bucketAccount); AmazonS3 amazonS3 = amazonClientProvider.getAmazonS3(account, bucketRegion); return amazonS3.getObject(bucketName, objectId); }
public InstanceTerminationLifecycleWorker(ObjectMapper objectMapper, AmazonClientProvider amazonClientProvider, AccountCredentialsProvider accountCredentialsProvider, InstanceTerminationConfigurationProperties properties, Provider<AwsEurekaSupport> discoverySupport, Registry registry) { this.objectMapper = objectMapper; this.amazonClientProvider = amazonClientProvider; this.accountCredentialsProvider = accountCredentialsProvider; this.properties = properties; this.discoverySupport = discoverySupport; this.registry = registry; Set<? extends AccountCredentials> accountCredentials = accountCredentialsProvider.getAll(); this.queueARN = new ARN(accountCredentials, properties.getQueueARN()); this.topicARN = new ARN(accountCredentials, properties.getTopicARN()); }
@PostConstruct public void start() { NetflixAmazonCredentials credentials = (NetflixAmazonCredentials) accountCredentialsProvider.getCredentials( properties.getAccountName() );
@Override public void run() { List<String> allAccountIds = accountCredentialsProvider.getAll().stream() .filter(c -> c instanceof NetflixAmazonCredentials) .map(AccountCredentials::getAccountId)
AmazonSNS amazonSNS = amazonClientProvider.getAmazonSNS(topicARN.account, topicARN.region); Set<? extends AccountCredentials> accountCredentials = accountCredentialsProvider.getAll(); List<String> allAccountIds = getAllAccountIds(accountCredentials);