/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace DirectConnect { namespace Model { /** */ class AcceptDirectConnectGatewayAssociationProposalRequest : public DirectConnectRequest { public: AWS_DIRECTCONNECT_API AcceptDirectConnectGatewayAssociationProposalRequest(); // 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 "AcceptDirectConnectGatewayAssociationProposal"; } AWS_DIRECTCONNECT_API Aws::String SerializePayload() const override; AWS_DIRECTCONNECT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the Direct Connect gateway.

*/ inline const Aws::String& GetDirectConnectGatewayId() const{ return m_directConnectGatewayId; } /** *

The ID of the Direct Connect gateway.

*/ inline bool DirectConnectGatewayIdHasBeenSet() const { return m_directConnectGatewayIdHasBeenSet; } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(const Aws::String& value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId = value; } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(Aws::String&& value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId = std::move(value); } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(const char* value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId.assign(value); } /** *

The ID of the Direct Connect gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithDirectConnectGatewayId(const Aws::String& value) { SetDirectConnectGatewayId(value); return *this;} /** *

The ID of the Direct Connect gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithDirectConnectGatewayId(Aws::String&& value) { SetDirectConnectGatewayId(std::move(value)); return *this;} /** *

The ID of the Direct Connect gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithDirectConnectGatewayId(const char* value) { SetDirectConnectGatewayId(value); return *this;} /** *

The ID of the request proposal.

*/ inline const Aws::String& GetProposalId() const{ return m_proposalId; } /** *

The ID of the request proposal.

*/ inline bool ProposalIdHasBeenSet() const { return m_proposalIdHasBeenSet; } /** *

The ID of the request proposal.

*/ inline void SetProposalId(const Aws::String& value) { m_proposalIdHasBeenSet = true; m_proposalId = value; } /** *

The ID of the request proposal.

*/ inline void SetProposalId(Aws::String&& value) { m_proposalIdHasBeenSet = true; m_proposalId = std::move(value); } /** *

The ID of the request proposal.

*/ inline void SetProposalId(const char* value) { m_proposalIdHasBeenSet = true; m_proposalId.assign(value); } /** *

The ID of the request proposal.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithProposalId(const Aws::String& value) { SetProposalId(value); return *this;} /** *

The ID of the request proposal.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithProposalId(Aws::String&& value) { SetProposalId(std::move(value)); return *this;} /** *

The ID of the request proposal.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithProposalId(const char* value) { SetProposalId(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline const Aws::String& GetAssociatedGatewayOwnerAccount() const{ return m_associatedGatewayOwnerAccount; } /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline bool AssociatedGatewayOwnerAccountHasBeenSet() const { return m_associatedGatewayOwnerAccountHasBeenSet; } /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline void SetAssociatedGatewayOwnerAccount(const Aws::String& value) { m_associatedGatewayOwnerAccountHasBeenSet = true; m_associatedGatewayOwnerAccount = value; } /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline void SetAssociatedGatewayOwnerAccount(Aws::String&& value) { m_associatedGatewayOwnerAccountHasBeenSet = true; m_associatedGatewayOwnerAccount = std::move(value); } /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline void SetAssociatedGatewayOwnerAccount(const char* value) { m_associatedGatewayOwnerAccountHasBeenSet = true; m_associatedGatewayOwnerAccount.assign(value); } /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithAssociatedGatewayOwnerAccount(const Aws::String& value) { SetAssociatedGatewayOwnerAccount(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithAssociatedGatewayOwnerAccount(Aws::String&& value) { SetAssociatedGatewayOwnerAccount(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services account that owns the virtual private * gateway or transit gateway.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithAssociatedGatewayOwnerAccount(const char* value) { SetAssociatedGatewayOwnerAccount(value); return *this;} /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline const Aws::Vector& GetOverrideAllowedPrefixesToDirectConnectGateway() const{ return m_overrideAllowedPrefixesToDirectConnectGateway; } /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline bool OverrideAllowedPrefixesToDirectConnectGatewayHasBeenSet() const { return m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet; } /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline void SetOverrideAllowedPrefixesToDirectConnectGateway(const Aws::Vector& value) { m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet = true; m_overrideAllowedPrefixesToDirectConnectGateway = value; } /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline void SetOverrideAllowedPrefixesToDirectConnectGateway(Aws::Vector&& value) { m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet = true; m_overrideAllowedPrefixesToDirectConnectGateway = std::move(value); } /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithOverrideAllowedPrefixesToDirectConnectGateway(const Aws::Vector& value) { SetOverrideAllowedPrefixesToDirectConnectGateway(value); return *this;} /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& WithOverrideAllowedPrefixesToDirectConnectGateway(Aws::Vector&& value) { SetOverrideAllowedPrefixesToDirectConnectGateway(std::move(value)); return *this;} /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& AddOverrideAllowedPrefixesToDirectConnectGateway(const RouteFilterPrefix& value) { m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet = true; m_overrideAllowedPrefixesToDirectConnectGateway.push_back(value); return *this; } /** *

Overrides the Amazon VPC prefixes advertised to the Direct Connect * gateway.

For information about how to set the prefixes, see Allowed * Prefixes in the Direct Connect User Guide.

*/ inline AcceptDirectConnectGatewayAssociationProposalRequest& AddOverrideAllowedPrefixesToDirectConnectGateway(RouteFilterPrefix&& value) { m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet = true; m_overrideAllowedPrefixesToDirectConnectGateway.push_back(std::move(value)); return *this; } private: Aws::String m_directConnectGatewayId; bool m_directConnectGatewayIdHasBeenSet = false; Aws::String m_proposalId; bool m_proposalIdHasBeenSet = false; Aws::String m_associatedGatewayOwnerAccount; bool m_associatedGatewayOwnerAccountHasBeenSet = false; Aws::Vector m_overrideAllowedPrefixesToDirectConnectGateway; bool m_overrideAllowedPrefixesToDirectConnectGatewayHasBeenSet = false; }; } // namespace Model } // namespace DirectConnect } // namespace Aws