static UpdateClusterRequest translateToUpdateRequest()

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();
    }