/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Lightsail { namespace Model { /** */ class UpdateLoadBalancerAttributeRequest : public LightsailRequest { public: AWS_LIGHTSAIL_API UpdateLoadBalancerAttributeRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateLoadBalancerAttribute"; } AWS_LIGHTSAIL_API Aws::String SerializePayload() const override; AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline UpdateLoadBalancerAttributeRequest& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline UpdateLoadBalancerAttributeRequest& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} /** *

The name of the load balancer that you want to modify (e.g., * my-load-balancer.

*/ inline UpdateLoadBalancerAttributeRequest& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} /** *

The name of the attribute you want to update.

*/ inline const LoadBalancerAttributeName& GetAttributeName() const{ return m_attributeName; } /** *

The name of the attribute you want to update.

*/ inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; } /** *

The name of the attribute you want to update.

*/ inline void SetAttributeName(const LoadBalancerAttributeName& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; } /** *

The name of the attribute you want to update.

*/ inline void SetAttributeName(LoadBalancerAttributeName&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); } /** *

The name of the attribute you want to update.

*/ inline UpdateLoadBalancerAttributeRequest& WithAttributeName(const LoadBalancerAttributeName& value) { SetAttributeName(value); return *this;} /** *

The name of the attribute you want to update.

*/ inline UpdateLoadBalancerAttributeRequest& WithAttributeName(LoadBalancerAttributeName&& value) { SetAttributeName(std::move(value)); return *this;} /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline const Aws::String& GetAttributeValue() const{ return m_attributeValue; } /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline bool AttributeValueHasBeenSet() const { return m_attributeValueHasBeenSet; } /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline void SetAttributeValue(const Aws::String& value) { m_attributeValueHasBeenSet = true; m_attributeValue = value; } /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline void SetAttributeValue(Aws::String&& value) { m_attributeValueHasBeenSet = true; m_attributeValue = std::move(value); } /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline void SetAttributeValue(const char* value) { m_attributeValueHasBeenSet = true; m_attributeValue.assign(value); } /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline UpdateLoadBalancerAttributeRequest& WithAttributeValue(const Aws::String& value) { SetAttributeValue(value); return *this;} /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline UpdateLoadBalancerAttributeRequest& WithAttributeValue(Aws::String&& value) { SetAttributeValue(std::move(value)); return *this;} /** *

The value that you want to specify for the attribute name.

The * following values are supported depending on what you specify for the * attributeName request parameter:

  • If you specify * HealthCheckPath for the attributeName request * parameter, then the attributeValue request parameter must be the * path to ping on the target (for example, * /weather/us/wa/seattle).

  • If you specify * SessionStickinessEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate session stickiness or false to * deactivate session stickiness.

  • If you specify * SessionStickiness_LB_CookieDurationSeconds for the * attributeName request parameter, then the * attributeValue request parameter must be an interger that * represents the cookie duration in seconds.

  • If you specify * HttpsRedirectionEnabled for the attributeName request * parameter, then the attributeValue request parameter must be * true to activate HTTP to HTTPS redirection or false to * deactivate HTTP to HTTPS redirection.

  • If you specify * TlsPolicyName for the attributeName request parameter, * then the attributeValue request parameter must be the name of the * TLS policy.

    Use the GetLoadBalancerTlsPolicies * action to get a list of TLS policy names that you can specify.

*/ inline UpdateLoadBalancerAttributeRequest& WithAttributeValue(const char* value) { SetAttributeValue(value); return *this;} private: Aws::String m_loadBalancerName; bool m_loadBalancerNameHasBeenSet = false; LoadBalancerAttributeName m_attributeName; bool m_attributeNameHasBeenSet = false; Aws::String m_attributeValue; bool m_attributeValueHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws