in aws-memorydb-cluster/src/main/java/software/amazon/memorydb/cluster/Translator.java [135:184]
static UpdateClusterRequest translateToUpdateRequest(final ResourceModel model, ClusterUpdateFieldType fieldType) {
UpdateClusterRequest.Builder builder = UpdateClusterRequest.builder().clusterName(model.getClusterName());
switch (fieldType) {
case DESCRIPTION:
builder.description(model.getDescription());
break;
case SECURITY_GROUP_IDS:
builder.securityGroupIds(model.getSecurityGroupIds());
break;
case MAINTENANCE_WINDOW:
builder.maintenanceWindow(model.getMaintenanceWindow());
break;
case SNS_TOPIC_ARN:
builder.snsTopicArn(model.getSnsTopicArn());
builder.snsTopicStatus(model.getSnsTopicStatus());
break;
case SNS_TOPIC_STATUS:
builder.snsTopicStatus(model.getSnsTopicStatus());
break;
case PARAMETER_GROUP_NAME:
builder.parameterGroupName(model.getParameterGroupName());
break;
case SNAPSHOT_WINDOW:
builder.snapshotWindow(model.getSnapshotWindow());
break;
case SNAPSHOT_RETENTION_LIMIT:
builder.snapshotRetentionLimit(model.getSnapshotRetentionLimit());
break;
case NODE_TYPE:
builder.nodeType(model.getNodeType());
break;
case ENGINE_VERSION:
builder.engineVersion(model.getEngineVersion());
builder.parameterGroupName(model.getParameterGroupName());
break;
case REPLICA_CONFIGURATION:
builder.replicaConfiguration(ReplicaConfigurationRequest.builder().replicaCount(model.getNumReplicasPerShard()).build());
break;
case SHARD_CONFIGURATION:
builder.shardConfiguration(ShardConfigurationRequest.builder().shardCount(model.getNumShards()).build());
break;
case ACL_NAME:
builder.aclName(model.getACLName()).build();
break;
default:
throw new RuntimeException("Unknown ClusterUpdateFieldType " + fieldType);
}
return builder.build();
}