/** * 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 NetworkFirewall { namespace Model { /** */ class DisassociateSubnetsRequest : public NetworkFirewallRequest { public: AWS_NETWORKFIREWALL_API DisassociateSubnetsRequest(); // 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 "DisassociateSubnets"; } AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline const Aws::String& GetUpdateToken() const{ return m_updateToken; } /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline bool UpdateTokenHasBeenSet() const { return m_updateTokenHasBeenSet; } /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline void SetUpdateToken(const Aws::String& value) { m_updateTokenHasBeenSet = true; m_updateToken = value; } /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline void SetUpdateToken(Aws::String&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::move(value); } /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline void SetUpdateToken(const char* value) { m_updateTokenHasBeenSet = true; m_updateToken.assign(value); } /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline DisassociateSubnetsRequest& WithUpdateToken(const Aws::String& value) { SetUpdateToken(value); return *this;} /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline DisassociateSubnetsRequest& WithUpdateToken(Aws::String&& value) { SetUpdateToken(std::move(value)); return *this;} /** *

An optional token that you can use for optimistic locking. Network Firewall * returns a token to your requests that access the firewall. The token marks the * state of the firewall resource at the time of the request.

To make an * unconditional change to the firewall, omit the token in your update request. * Without the token, Network Firewall performs your updates regardless of whether * the firewall has changed since you last retrieved it.

To make a * conditional change to the firewall, provide the token in your update request. * Network Firewall uses the token to ensure that the firewall hasn't changed since * you last retrieved it. If it has changed, the operation fails with an * InvalidTokenException. If this happens, retrieve the firewall again * to get a current copy of it with a new token. Reapply your changes as needed, * then try the operation again using the new token.

*/ inline DisassociateSubnetsRequest& WithUpdateToken(const char* value) { SetUpdateToken(value); return *this;} /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline const Aws::String& GetFirewallArn() const{ return m_firewallArn; } /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline void SetFirewallArn(const Aws::String& value) { m_firewallArnHasBeenSet = true; m_firewallArn = value; } /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline void SetFirewallArn(Aws::String&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline void SetFirewallArn(const char* value) { m_firewallArnHasBeenSet = true; m_firewallArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallArn(const Aws::String& value) { SetFirewallArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallArn(Aws::String&& value) { SetFirewallArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the firewall.

You must specify the * ARN or the name, and you can specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallArn(const char* value) { SetFirewallArn(value); return *this;} /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline const Aws::String& GetFirewallName() const{ return m_firewallName; } /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline void SetFirewallName(const Aws::String& value) { m_firewallNameHasBeenSet = true; m_firewallName = value; } /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline void SetFirewallName(Aws::String&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::move(value); } /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline void SetFirewallName(const char* value) { m_firewallNameHasBeenSet = true; m_firewallName.assign(value); } /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallName(const Aws::String& value) { SetFirewallName(value); return *this;} /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallName(Aws::String&& value) { SetFirewallName(std::move(value)); return *this;} /** *

The descriptive name of the firewall. You can't change the name of a firewall * after you create it.

You must specify the ARN or the name, and you can * specify both.

*/ inline DisassociateSubnetsRequest& WithFirewallName(const char* value) { SetFirewallName(value); return *this;} /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline DisassociateSubnetsRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline DisassociateSubnetsRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline DisassociateSubnetsRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline DisassociateSubnetsRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *

The unique identifiers for the subnets that you want to disassociate.

*/ inline DisassociateSubnetsRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } private: Aws::String m_updateToken; bool m_updateTokenHasBeenSet = false; Aws::String m_firewallArn; bool m_firewallArnHasBeenSet = false; Aws::String m_firewallName; bool m_firewallNameHasBeenSet = false; Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws