com.amazonaws.services.ec2.model.InstanceAttribute Java Examples
The following examples show how to use
com.amazonaws.services.ec2.model.InstanceAttribute.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Ec2InstanceStore.java From soundwave with Apache License 2.0 | 6 votes |
@Override public InstanceAttribute getInstanceAttribute(String instanceId, String attributeName) { OperationStats ops = new OperationStats("es2InstanceStore", "getInstanceAttribute"); try { awsRateLimiter.acquire(); DescribeInstanceAttributeRequest request = new DescribeInstanceAttributeRequest() .withInstanceId(instanceId) .withAttribute(InstanceAttributeName.fromValue(attributeName)) .withSdkRequestTimeout(300 * 1000).withSdkClientExecutionTimeout(600 * 1000); DescribeInstanceAttributeResult result = defaultClient.describeInstanceAttribute(request); while (result != null) { ops.succeed(); return result.getInstanceAttribute(); } } catch (Exception ex) { ops.failed(); throw ex; } return null; }
Example #2
Source File: Ec2InstanceStore.java From soundwave with Apache License 2.0 | 6 votes |
@Override public Map<String, String> getUserData(String instanceId) throws Exception { Preconditions.checkNotNull(instanceId); awsRateLimiter.acquire(); OperationStats op = new OperationStats("ec2InstanceStore", "getUserData"); try { InstanceAttribute attribute = this.getInstanceAttribute(instanceId, "userData"); if (attribute != null) { String base64EncodedString = attribute.getUserData(); if (StringUtils.isNoneEmpty(base64EncodedString)) { Map<String, String> userData = Ec2InstanceStore.parseEc2UserData(base64EncodedString); op.succeed(); return userData; } } } catch (Exception ex) { op.failed(); throw ex; } op.succeed(); return new HashMap<>(); }
Example #3
Source File: FetchTaupageYamlImplTest.java From fullstop with Apache License 2.0 | 6 votes |
@Test public void testBrokenYaml() throws Exception{ // a yaml list is not a valid taupage format. Map is required. final String yamlData = "- a\n- b\n- c\n"; when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString(yamlData.getBytes())))); final FetchTaupageYaml fetchTaupageYaml = new FetchTaupageYamlImpl(clientProviderMock); final Optional<TaupageYaml> result = fetchTaupageYaml.getTaupageYaml(INSTANCE_ID, ACCOUNT, REGION); assertThat(result).isEmpty(); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #4
Source File: TaupageYamlProviderImplTest.java From fullstop with Apache License 2.0 | 6 votes |
@Test public void testApplyWithTaupageAmi() throws Exception { when(ec2InstanceContextMock.isTaupageAmi()).thenReturn(Optional.of(true)); when(ec2InstanceContextMock.getInstanceId()).thenReturn(INSTANCE_ID); when(ec2InstanceContextMock.getClient(eq(AmazonEC2Client.class))).thenReturn(amazonEC2ClientMock); when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString("blub: fdsa".getBytes())))); final Optional<TaupageYaml> result = taupageYamlProvider.apply(ec2InstanceContextMock); assertThat(result).isPresent(); verify(ec2InstanceContextMock).isTaupageAmi(); verify(ec2InstanceContextMock).getInstanceId(); verify(ec2InstanceContextMock).getClient(eq(AmazonEC2Client.class)); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #5
Source File: TaupageYamlProviderImplTest.java From fullstop with Apache License 2.0 | 6 votes |
@Test public void testApplyWithVersionSimilarToNumber() throws Exception { when(ec2InstanceContextMock.isTaupageAmi()).thenReturn(Optional.of(true)); when(ec2InstanceContextMock.getInstanceId()).thenReturn(INSTANCE_ID); when(ec2InstanceContextMock.getClient(eq(AmazonEC2Client.class))).thenReturn(amazonEC2ClientMock); when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString("application_id: fdsa\napplication_version: 6478e18".getBytes())))); final Optional<TaupageYaml> result = taupageYamlProvider.apply(ec2InstanceContextMock); assertThat(result).isPresent(); assertThat(result.get().getApplicationId()).isEqualTo("fdsa"); assertThat(result.get().getApplicationVersion()).isEqualTo("6478e18"); verify(ec2InstanceContextMock).isTaupageAmi(); verify(ec2InstanceContextMock).getInstanceId(); verify(ec2InstanceContextMock).getClient(eq(AmazonEC2Client.class)); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #6
Source File: TaupageYamlProviderImplTest.java From fullstop with Apache License 2.0 | 6 votes |
@Test public void testApplyWithVersionSimilarToNumber1() throws Exception { when(ec2InstanceContextMock.isTaupageAmi()).thenReturn(Optional.of(true)); when(ec2InstanceContextMock.getInstanceId()).thenReturn(INSTANCE_ID); when(ec2InstanceContextMock.getClient(eq(AmazonEC2Client.class))).thenReturn(amazonEC2ClientMock); when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString("application_id: fdsa\napplication_version: '6478e18'".getBytes())))); final Optional<TaupageYaml> result = taupageYamlProvider.apply(ec2InstanceContextMock); assertThat(result).isPresent(); assertThat(result.get().getApplicationId()).isEqualTo("fdsa"); assertThat(result.get().getApplicationVersion()).isEqualTo("6478e18"); verify(ec2InstanceContextMock).isTaupageAmi(); verify(ec2InstanceContextMock).getInstanceId(); verify(ec2InstanceContextMock).getClient(eq(AmazonEC2Client.class)); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #7
Source File: TaupageYamlProviderImplTest.java From fullstop with Apache License 2.0 | 6 votes |
@Test public void testApplyWithTaupageAmiButInvalidYaml() throws Exception { // a yaml list is not a valid taupage format. Map is required. final String yamlData = "- a\n- b\n- c\n"; when(ec2InstanceContextMock.isTaupageAmi()).thenReturn(Optional.of(true)); when(ec2InstanceContextMock.getInstanceId()).thenReturn(INSTANCE_ID); when(ec2InstanceContextMock.getClient(eq(AmazonEC2Client.class))).thenReturn(amazonEC2ClientMock); when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString(yamlData.getBytes())))); final Optional<TaupageYaml> result = taupageYamlProvider.apply(ec2InstanceContextMock); assertThat(result).isEmpty(); verify(ec2InstanceContextMock).isTaupageAmi(); verify(ec2InstanceContextMock).getInstanceId(); verify(ec2InstanceContextMock).getClient(eq(AmazonEC2Client.class)); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #8
Source File: MockEc2OperationsImpl.java From herd with Apache License 2.0 | 5 votes |
@Override public DescribeInstanceAttributeResult describeInstanceAttribute(AmazonEC2Client ec2Client, DescribeInstanceAttributeRequest describeInstanceAttributeRequest) { InstanceAttribute instanceAttribute = new InstanceAttribute(); instanceAttribute.withGroups(new GroupIdentifier().withGroupId("A_TEST_SECURITY_GROUP")); return new DescribeInstanceAttributeResult().withInstanceAttribute(instanceAttribute); }
Example #9
Source File: FetchTaupageYamlImpl.java From fullstop with Apache License 2.0 | 5 votes |
@Override public Optional<TaupageYaml> getTaupageYaml(final String instanceId, final String account, final String region) { final AmazonEC2Client client = clientProvider.getClient(AmazonEC2Client.class, account, Region.getRegion(Regions.fromName(region))); try { final DescribeInstanceAttributeResult response = client.describeInstanceAttribute( new DescribeInstanceAttributeRequest() .withInstanceId(instanceId) .withAttribute(USER_DATA)); return ofNullable(response) .map(DescribeInstanceAttributeResult::getInstanceAttribute) .map(InstanceAttribute::getUserData) .map(Base64::decode) .map(String::new) .map(TaupageYamlUtil::parseTaupageYaml); } catch (final AmazonClientException e) { log.warn("Could not get Taupage YAML for instance: " + instanceId, e); return empty(); } catch (YAMLException | IllegalArgumentException s) { log.warn("Taupage YAML is not valid for instance: " + instanceId, s); return empty(); } }
Example #10
Source File: FetchTaupageYamlImplTest.java From fullstop with Apache License 2.0 | 5 votes |
@Test public void testGetTaupageYaml() throws Exception { when(amazonEC2ClientMock.describeInstanceAttribute(any())).thenReturn(new DescribeInstanceAttributeResult(). withInstanceAttribute(new InstanceAttribute() .withUserData(Base64.encodeAsString("blub: fdsa".getBytes())))); final FetchTaupageYaml fetchTaupageYaml = new FetchTaupageYamlImpl(clientProviderMock); final Optional<TaupageYaml> result = fetchTaupageYaml.getTaupageYaml(INSTANCE_ID, ACCOUNT, REGION); assertThat(result).isPresent(); verify(amazonEC2ClientMock).describeInstanceAttribute(any()); }
Example #11
Source File: TaupageYamlProviderImpl.java From fullstop with Apache License 2.0 | 5 votes |
private Optional<TaupageYaml> getTaupageYaml(@Nonnull final EC2InstanceContext context) { if (context.isTaupageAmi().orElse(false)) { final String instanceId = context.getInstanceId(); try { return Optional.of(context.getClient(AmazonEC2Client.class)) .map(client -> client.describeInstanceAttribute(new DescribeInstanceAttributeRequest() .withInstanceId(instanceId) .withAttribute(USER_DATA))) .map(DescribeInstanceAttributeResult::getInstanceAttribute) .map(InstanceAttribute::getUserData) .map(Base64::decode) .map(String::new) .map(TaupageYamlUtil::parseTaupageYaml); } catch (final AmazonClientException e) { log.warn("Could not get Taupage YAML for instance: " + instanceId, e); return empty(); } catch (YAMLException | IllegalArgumentException s) { log.warn("Taupage YAML is not valid for instance: " + instanceId, s); return empty(); } } else { return empty(); } }
Example #12
Source File: CloudInstanceStore.java From soundwave with Apache License 2.0 | votes |
InstanceAttribute getInstanceAttribute(String instanceId, String attributeName) throws Exception;