Java源码示例:com.amazonaws.services.simplesystemsmanagement.model.Parameter
示例1
@Test
void followsNextToken() {
GetParametersByPathResult firstResult = new GetParametersByPathResult()
.withNextToken("next").withParameters(
new Parameter().withName("/config/myservice/key1")
.withValue("value1"),
new Parameter().withName("/config/myservice/key2")
.withValue("value2"));
GetParametersByPathResult nextResult = new GetParametersByPathResult()
.withParameters(
new Parameter().withName("/config/myservice/key3")
.withValue("value3"),
new Parameter().withName("/config/myservice/key4")
.withValue("value4"));
when(ssmClient.getParametersByPath(any(GetParametersByPathRequest.class)))
.thenReturn(firstResult, nextResult);
propertySource.init();
assertThat(propertySource.getPropertyNames()).containsExactly("key1", "key2",
"key3", "key4");
assertThat(propertySource.getProperty("key3")).isEqualTo("value3");
}
示例2
/**
* Get list of parameters with prefix
* @param prefix parameter prefix
* @return list of parameters
*/
public static List<Parameter> getParametersWithPrefix(String prefix){
AWSCredentialsProvider credentials = InstanceProfileCredentialsProvider.getInstance();
AWSSimpleSystemsManagement simpleSystemsManagementClient =
AWSSimpleSystemsManagementClientBuilder.standard().withCredentials(credentials)
.withRegion(Regions.getCurrentRegion().getName()).build();
GetParametersByPathRequest getParametersByPathRequest = new GetParametersByPathRequest()
.withPath(prefix)
.withRecursive(true);
GetParametersByPathResult parameterResult = simpleSystemsManagementClient.getParametersByPath(getParametersByPathRequest);
return parameterResult.getParameters();
}
示例3
private static Parameter getParameter(String parameterKey, boolean isEncrypted) {
LOGGER.info("get ssm parameter key:" + parameterKey);
AWSCredentialsProvider credentials = InstanceProfileCredentialsProvider.getInstance();
AWSSimpleSystemsManagement simpleSystemsManagementClient =
AWSSimpleSystemsManagementClientBuilder.standard().withCredentials(credentials)
.withRegion(Regions.getCurrentRegion().getName()).build();
GetParameterRequest parameterRequest = new GetParameterRequest();
parameterRequest.withName(parameterKey).setWithDecryption(isEncrypted);
GetParameterResult parameterResult = simpleSystemsManagementClient.getParameter(parameterRequest);
return parameterResult.getParameter();
}
示例4
@Test
public void testGetProperty()
{
when(ssmClientMock.getParameter(getParameterRequest(VALID_PROPERTY_NAME))).thenReturn(getGetParameterResult().withParameter(new Parameter().withValue(VALID_PROPERTY_VALUE)));
Object value = parameterStoreSource.getProperty(VALID_PROPERTY_NAME);
assertThat(value, is(VALID_PROPERTY_VALUE));
}
示例5
@Test(expected = ParameterStoreError.class)
public void shouldThrowWhenParameterValueIsNull()
{
when(ssmClientMock.getParameter(getParameterRequest(VALID_PROPERTY_NAME))).thenReturn(getGetParameterResult().withParameter(new Parameter()));
ParameterStoreSource parameterStoreSourceHaltingBoot = new ParameterStoreSource(ssmClientMock, true);
parameterStoreSourceHaltingBoot.getProperty(VALID_PROPERTY_NAME);
}
示例6
private void getParameters(GetParametersByPathRequest paramsRequest) {
GetParametersByPathResult paramsResult = source
.getParametersByPath(paramsRequest);
for (Parameter parameter : paramsResult.getParameters()) {
String key = parameter.getName().replace(context, "").replace('/', '.');
LOGGER.debug("Populating property retrieved from AWS Parameter Store: {}",
key);
properties.put(key, parameter.getValue());
}
if (paramsResult.getNextToken() != null) {
getParameters(paramsRequest.withNextToken(paramsResult.getNextToken()));
}
}
示例7
public static Parameter getPlainTextParameter(String parameterKey) {
return getParameter(parameterKey, false);
}
示例8
public static Parameter getSecureParameter(String parameterKey) {
return getParameter(parameterKey, true);
}
示例9
private static Parameter getSsmParameter(SsmParameterKeyEnum parameterKey, boolean isEncrypted) {
return getParameter(parameterKey.getParameterKey(), isEncrypted);
}
示例10
private static GetParametersByPathResult getNextResult() {
return new GetParametersByPathResult().withParameters(
new Parameter().withName("/config/myservice/key3").withValue("value3"),
new Parameter().withName("/config/myservice/key4").withValue("value4"));
}
示例11
private static GetParametersByPathResult getFirstResult() {
return new GetParametersByPathResult().withParameters(
new Parameter().withName("/config/myservice/key3").withValue("value3"),
new Parameter().withName("/config/myservice/key4").withValue("value4"));
}
示例12
/**
* Fetches the most recent deployment id from parameter-store, populated by the Herd upgrade utility.
*
* @param instanceName the specified MDL instance name
* @param environment the specified environment
* @return String. The most recent deployment id
*/
private String getMostRecentDeploymentId(String instanceName, String environment) {
final String mostRecentDeploymendIdFormat = "/app/MDL/%s/%s/HERD/MostRecentDeploymentId";
Parameter parameter = SsmUtil
.getPlainTextParameter(String.format(mostRecentDeploymendIdFormat, instanceName, environment));
return parameter.getValue();
}
示例13
/**
* Get parameter using parameter key
*
* @param parameterKey parameter key
* @return Parameter
*/
public static Parameter getPlainLdapParameter(SsmParameterKeyEnum parameterKey) {
return getSsmParameter(parameterKey, false);
}
示例14
/**
* Get parameter using parameter key
*
* @param parameterKey parameter key
* @return Parameter
*/
public static Parameter getPlainVpcParameter(SsmParameterKeyEnum parameterKey) {
return getSsmParameter(parameterKey, false);
}
示例15
/**
* Get parameter with decrypted value using parameter key
*
* @param parameterKey parameter key
* @return Parameter
*/
public static Parameter getDecryptedLdapParameter(SsmParameterKeyEnum parameterKey) {
return getSsmParameter(parameterKey, true);
}