/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.resiliencehub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Defines a configuration recommendation. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ConfigRecommendation implements Serializable, Cloneable, StructuredPojo { /** ** The name of the Application Component. *
*/ private String appComponentName; /** ** The current compliance against the resiliency policy before applying the configuration change. *
*/ private java.util.Map* The cost for the application. *
*/ private Cost cost; /** ** The optional description for an app. *
*/ private String description; /** ** The architecture type. *
*/ private String haArchitecture; /** ** The name of the recommendation configuration. *
*/ private String name; /** ** The type of optimization. *
*/ private String optimizationType; /** ** The expected compliance against the resiliency policy after applying the configuration change. *
*/ private java.util.Map* The reference identifier for the recommendation configuration. *
*/ private String referenceId; /** ** List of the suggested configuration changes. *
*/ private java.util.List* The name of the Application Component. *
* * @param appComponentName * The name of the Application Component. */ public void setAppComponentName(String appComponentName) { this.appComponentName = appComponentName; } /** ** The name of the Application Component. *
* * @return The name of the Application Component. */ public String getAppComponentName() { return this.appComponentName; } /** ** The name of the Application Component. *
* * @param appComponentName * The name of the Application Component. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withAppComponentName(String appComponentName) { setAppComponentName(appComponentName); return this; } /** ** The current compliance against the resiliency policy before applying the configuration change. *
* * @return The current compliance against the resiliency policy before applying the configuration change. */ public java.util.Map* The current compliance against the resiliency policy before applying the configuration change. *
* * @param compliance * The current compliance against the resiliency policy before applying the configuration change. */ public void setCompliance(java.util.Map* The current compliance against the resiliency policy before applying the configuration change. *
* * @param compliance * The current compliance against the resiliency policy before applying the configuration change. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withCompliance(java.util.Map* The cost for the application. *
* * @param cost * The cost for the application. */ public void setCost(Cost cost) { this.cost = cost; } /** ** The cost for the application. *
* * @return The cost for the application. */ public Cost getCost() { return this.cost; } /** ** The cost for the application. *
* * @param cost * The cost for the application. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withCost(Cost cost) { setCost(cost); return this; } /** ** The optional description for an app. *
* * @param description * The optional description for an app. */ public void setDescription(String description) { this.description = description; } /** ** The optional description for an app. *
* * @return The optional description for an app. */ public String getDescription() { return this.description; } /** ** The optional description for an app. *
* * @param description * The optional description for an app. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withDescription(String description) { setDescription(description); return this; } /** ** The architecture type. *
* * @param haArchitecture * The architecture type. * @see HaArchitecture */ public void setHaArchitecture(String haArchitecture) { this.haArchitecture = haArchitecture; } /** ** The architecture type. *
* * @return The architecture type. * @see HaArchitecture */ public String getHaArchitecture() { return this.haArchitecture; } /** ** The architecture type. *
* * @param haArchitecture * The architecture type. * @return Returns a reference to this object so that method calls can be chained together. * @see HaArchitecture */ public ConfigRecommendation withHaArchitecture(String haArchitecture) { setHaArchitecture(haArchitecture); return this; } /** ** The architecture type. *
* * @param haArchitecture * The architecture type. * @return Returns a reference to this object so that method calls can be chained together. * @see HaArchitecture */ public ConfigRecommendation withHaArchitecture(HaArchitecture haArchitecture) { this.haArchitecture = haArchitecture.toString(); return this; } /** ** The name of the recommendation configuration. *
* * @param name * The name of the recommendation configuration. */ public void setName(String name) { this.name = name; } /** ** The name of the recommendation configuration. *
* * @return The name of the recommendation configuration. */ public String getName() { return this.name; } /** ** The name of the recommendation configuration. *
* * @param name * The name of the recommendation configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withName(String name) { setName(name); return this; } /** ** The type of optimization. *
* * @param optimizationType * The type of optimization. * @see ConfigRecommendationOptimizationType */ public void setOptimizationType(String optimizationType) { this.optimizationType = optimizationType; } /** ** The type of optimization. *
* * @return The type of optimization. * @see ConfigRecommendationOptimizationType */ public String getOptimizationType() { return this.optimizationType; } /** ** The type of optimization. *
* * @param optimizationType * The type of optimization. * @return Returns a reference to this object so that method calls can be chained together. * @see ConfigRecommendationOptimizationType */ public ConfigRecommendation withOptimizationType(String optimizationType) { setOptimizationType(optimizationType); return this; } /** ** The type of optimization. *
* * @param optimizationType * The type of optimization. * @return Returns a reference to this object so that method calls can be chained together. * @see ConfigRecommendationOptimizationType */ public ConfigRecommendation withOptimizationType(ConfigRecommendationOptimizationType optimizationType) { this.optimizationType = optimizationType.toString(); return this; } /** ** The expected compliance against the resiliency policy after applying the configuration change. *
* * @return The expected compliance against the resiliency policy after applying the configuration change. */ public java.util.Map* The expected compliance against the resiliency policy after applying the configuration change. *
* * @param recommendationCompliance * The expected compliance against the resiliency policy after applying the configuration change. */ public void setRecommendationCompliance(java.util.Map* The expected compliance against the resiliency policy after applying the configuration change. *
* * @param recommendationCompliance * The expected compliance against the resiliency policy after applying the configuration change. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withRecommendationCompliance(java.util.Map* The reference identifier for the recommendation configuration. *
* * @param referenceId * The reference identifier for the recommendation configuration. */ public void setReferenceId(String referenceId) { this.referenceId = referenceId; } /** ** The reference identifier for the recommendation configuration. *
* * @return The reference identifier for the recommendation configuration. */ public String getReferenceId() { return this.referenceId; } /** ** The reference identifier for the recommendation configuration. *
* * @param referenceId * The reference identifier for the recommendation configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withReferenceId(String referenceId) { setReferenceId(referenceId); return this; } /** ** List of the suggested configuration changes. *
* * @return List of the suggested configuration changes. */ public java.util.List* List of the suggested configuration changes. *
* * @param suggestedChanges * List of the suggested configuration changes. */ public void setSuggestedChanges(java.util.Collection* List of the suggested configuration changes. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSuggestedChanges(java.util.Collection)} or {@link #withSuggestedChanges(java.util.Collection)} if you * want to override the existing values. *
* * @param suggestedChanges * List of the suggested configuration changes. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withSuggestedChanges(String... suggestedChanges) { if (this.suggestedChanges == null) { setSuggestedChanges(new java.util.ArrayList* List of the suggested configuration changes. *
* * @param suggestedChanges * List of the suggested configuration changes. * @return Returns a reference to this object so that method calls can be chained together. */ public ConfigRecommendation withSuggestedChanges(java.util.Collection