in services/elasticache/src/it/java/software/amazon/awssdk/services/elasticache/ParameterGroupsIntegrationTest.java [65:142]
public void testParameterGroupOperations() throws Exception {
// Describe Engine Default Parameters
EngineDefaults engineDefaults = elasticache
.describeEngineDefaultParameters(
DescribeEngineDefaultParametersRequest.builder().cacheParameterGroupFamily(CACHE_PARAMETER_GROUP_FAMILY)
.build()).engineDefaults();
assertTrue(engineDefaults.cacheNodeTypeSpecificParameters().size() > 0);
CacheNodeTypeSpecificParameter cacheNodeParameter = engineDefaults.cacheNodeTypeSpecificParameters().get(0);
assertNotEmpty(cacheNodeParameter.parameterName());
assertTrue(cacheNodeParameter.cacheNodeTypeSpecificValues().size() > 0);
assertEquals(CACHE_PARAMETER_GROUP_FAMILY, engineDefaults.cacheParameterGroupFamily());
assertTrue(engineDefaults.parameters().size() > 0);
Parameter parameter = engineDefaults.parameters().get(0);
assertNotEmpty(parameter.parameterName());
assertNotEmpty(parameter.parameterValue());
// Create Cache Parameter Group
cacheParameterGroupName = "java-sdk-integ-test-" + System.currentTimeMillis();
CacheParameterGroup cacheParameterGroup = elasticache.createCacheParameterGroup(
CreateCacheParameterGroupRequest.builder().cacheParameterGroupName(cacheParameterGroupName)
.cacheParameterGroupFamily(CACHE_PARAMETER_GROUP_FAMILY).description(DESCRIPTION)
.build()).cacheParameterGroup();
assertEquals(CACHE_PARAMETER_GROUP_FAMILY, cacheParameterGroup.cacheParameterGroupFamily());
assertEquals(cacheParameterGroupName, cacheParameterGroup.cacheParameterGroupName());
assertEquals(DESCRIPTION, cacheParameterGroup.description());
// Describe Cache Parameters
DescribeCacheParametersResponse describeCacheParameters =
elasticache.describeCacheParameters(
DescribeCacheParametersRequest.builder().cacheParameterGroupName(cacheParameterGroupName).build());
assertTrue(describeCacheParameters.cacheNodeTypeSpecificParameters().size() > 0);
cacheNodeParameter = describeCacheParameters.cacheNodeTypeSpecificParameters().get(0);
assertNotEmpty(cacheNodeParameter.parameterName());
assertTrue(cacheNodeParameter.cacheNodeTypeSpecificValues().size() > 0);
assertTrue(describeCacheParameters.parameters().size() > 0);
parameter = describeCacheParameters.parameters().get(0);
assertNotEmpty(parameter.parameterName());
assertNotEmpty(parameter.parameterValue());
// Modify Cache Parameter Group
List<ParameterNameValue> paramsToModify = new ArrayList<ParameterNameValue>();
paramsToModify.add(ParameterNameValue.builder().parameterName("max_item_size").parameterValue("100000").build());
ModifyCacheParameterGroupResponse modifyCacheParameterGroup = elasticache
.modifyCacheParameterGroup(
ModifyCacheParameterGroupRequest.builder().cacheParameterGroupName(cacheParameterGroupName)
.parameterNameValues(paramsToModify).build());
assertEquals(cacheParameterGroupName, modifyCacheParameterGroup.cacheParameterGroupName());
// Reset Cache Parameter Group
List<ParameterNameValue> paramsToReset = new ArrayList<ParameterNameValue>();
paramsToReset.add(ParameterNameValue.builder().parameterName("binding_protocol").build());
ResetCacheParameterGroupResponse resetCacheParameterGroup =
elasticache.resetCacheParameterGroup(
ResetCacheParameterGroupRequest.builder().cacheParameterGroupName(cacheParameterGroupName)
.parameterNameValues(paramsToReset).build());
assertEquals(cacheParameterGroupName, resetCacheParameterGroup.cacheParameterGroupName());
// Describe Cache Parameter Groups
DescribeCacheParameterGroupsResponse describeCacheParameterGroups =
elasticache.describeCacheParameterGroups(
DescribeCacheParameterGroupsRequest.builder().cacheParameterGroupName(cacheParameterGroupName).build());
assertEquals(1, describeCacheParameterGroups.cacheParameterGroups().size());
CacheParameterGroup parameterGroup = describeCacheParameterGroups.cacheParameterGroups().get(0);
assertEquals(CACHE_PARAMETER_GROUP_FAMILY, parameterGroup.cacheParameterGroupFamily());
assertEquals(cacheParameterGroupName, parameterGroup.cacheParameterGroupName());
assertEquals(DESCRIPTION, parameterGroup.description());
// Delete Cache Parameter Group
elasticache.deleteCacheParameterGroup(
DeleteCacheParameterGroupRequest.builder().cacheParameterGroupName(cacheParameterGroupName).build());
}