/** * 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 OpenSearchServerless { namespace Model { /** */ class UpdateVpcEndpointRequest : public OpenSearchServerlessRequest { public: AWS_OPENSEARCHSERVERLESS_API UpdateVpcEndpointRequest(); // 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 "UpdateVpcEndpoint"; } AWS_OPENSEARCHSERVERLESS_API Aws::String SerializePayload() const override; AWS_OPENSEARCHSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline const Aws::Vector& GetAddSecurityGroupIds() const{ return m_addSecurityGroupIds; } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline bool AddSecurityGroupIdsHasBeenSet() const { return m_addSecurityGroupIdsHasBeenSet; } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline void SetAddSecurityGroupIds(const Aws::Vector& value) { m_addSecurityGroupIdsHasBeenSet = true; m_addSecurityGroupIds = value; } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline void SetAddSecurityGroupIds(Aws::Vector&& value) { m_addSecurityGroupIdsHasBeenSet = true; m_addSecurityGroupIds = std::move(value); } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline UpdateVpcEndpointRequest& WithAddSecurityGroupIds(const Aws::Vector& value) { SetAddSecurityGroupIds(value); return *this;} /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline UpdateVpcEndpointRequest& WithAddSecurityGroupIds(Aws::Vector&& value) { SetAddSecurityGroupIds(std::move(value)); return *this;} /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSecurityGroupIds(const Aws::String& value) { m_addSecurityGroupIdsHasBeenSet = true; m_addSecurityGroupIds.push_back(value); return *this; } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSecurityGroupIds(Aws::String&& value) { m_addSecurityGroupIdsHasBeenSet = true; m_addSecurityGroupIds.push_back(std::move(value)); return *this; } /** *

The unique identifiers of the security groups to add to the endpoint. * Security groups define the ports, protocols, and sources for inbound traffic * that you are authorizing into your endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSecurityGroupIds(const char* value) { m_addSecurityGroupIdsHasBeenSet = true; m_addSecurityGroupIds.push_back(value); return *this; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline const Aws::Vector& GetAddSubnetIds() const{ return m_addSubnetIds; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline bool AddSubnetIdsHasBeenSet() const { return m_addSubnetIdsHasBeenSet; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline void SetAddSubnetIds(const Aws::Vector& value) { m_addSubnetIdsHasBeenSet = true; m_addSubnetIds = value; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline void SetAddSubnetIds(Aws::Vector&& value) { m_addSubnetIdsHasBeenSet = true; m_addSubnetIds = std::move(value); } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline UpdateVpcEndpointRequest& WithAddSubnetIds(const Aws::Vector& value) { SetAddSubnetIds(value); return *this;} /** *

The ID of one or more subnets to add to the endpoint.

*/ inline UpdateVpcEndpointRequest& WithAddSubnetIds(Aws::Vector&& value) { SetAddSubnetIds(std::move(value)); return *this;} /** *

The ID of one or more subnets to add to the endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSubnetIds(const Aws::String& value) { m_addSubnetIdsHasBeenSet = true; m_addSubnetIds.push_back(value); return *this; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSubnetIds(Aws::String&& value) { m_addSubnetIdsHasBeenSet = true; m_addSubnetIds.push_back(std::move(value)); return *this; } /** *

The ID of one or more subnets to add to the endpoint.

*/ inline UpdateVpcEndpointRequest& AddAddSubnetIds(const char* value) { m_addSubnetIdsHasBeenSet = true; m_addSubnetIds.push_back(value); return *this; } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline UpdateVpcEndpointRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline UpdateVpcEndpointRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier to ensure idempotency of the request.

*/ inline UpdateVpcEndpointRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The unique identifier of the interface endpoint to update.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique identifier of the interface endpoint to update.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique identifier of the interface endpoint to update.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique identifier of the interface endpoint to update.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique identifier of the interface endpoint to update.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique identifier of the interface endpoint to update.

*/ inline UpdateVpcEndpointRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique identifier of the interface endpoint to update.

*/ inline UpdateVpcEndpointRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique identifier of the interface endpoint to update.

*/ inline UpdateVpcEndpointRequest& WithId(const char* value) { SetId(value); return *this;} /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline const Aws::Vector& GetRemoveSecurityGroupIds() const{ return m_removeSecurityGroupIds; } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline bool RemoveSecurityGroupIdsHasBeenSet() const { return m_removeSecurityGroupIdsHasBeenSet; } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline void SetRemoveSecurityGroupIds(const Aws::Vector& value) { m_removeSecurityGroupIdsHasBeenSet = true; m_removeSecurityGroupIds = value; } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline void SetRemoveSecurityGroupIds(Aws::Vector&& value) { m_removeSecurityGroupIdsHasBeenSet = true; m_removeSecurityGroupIds = std::move(value); } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline UpdateVpcEndpointRequest& WithRemoveSecurityGroupIds(const Aws::Vector& value) { SetRemoveSecurityGroupIds(value); return *this;} /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline UpdateVpcEndpointRequest& WithRemoveSecurityGroupIds(Aws::Vector&& value) { SetRemoveSecurityGroupIds(std::move(value)); return *this;} /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSecurityGroupIds(const Aws::String& value) { m_removeSecurityGroupIdsHasBeenSet = true; m_removeSecurityGroupIds.push_back(value); return *this; } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSecurityGroupIds(Aws::String&& value) { m_removeSecurityGroupIdsHasBeenSet = true; m_removeSecurityGroupIds.push_back(std::move(value)); return *this; } /** *

The unique identifiers of the security groups to remove from the * endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSecurityGroupIds(const char* value) { m_removeSecurityGroupIdsHasBeenSet = true; m_removeSecurityGroupIds.push_back(value); return *this; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline const Aws::Vector& GetRemoveSubnetIds() const{ return m_removeSubnetIds; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline bool RemoveSubnetIdsHasBeenSet() const { return m_removeSubnetIdsHasBeenSet; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline void SetRemoveSubnetIds(const Aws::Vector& value) { m_removeSubnetIdsHasBeenSet = true; m_removeSubnetIds = value; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline void SetRemoveSubnetIds(Aws::Vector&& value) { m_removeSubnetIdsHasBeenSet = true; m_removeSubnetIds = std::move(value); } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline UpdateVpcEndpointRequest& WithRemoveSubnetIds(const Aws::Vector& value) { SetRemoveSubnetIds(value); return *this;} /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline UpdateVpcEndpointRequest& WithRemoveSubnetIds(Aws::Vector&& value) { SetRemoveSubnetIds(std::move(value)); return *this;} /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSubnetIds(const Aws::String& value) { m_removeSubnetIdsHasBeenSet = true; m_removeSubnetIds.push_back(value); return *this; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSubnetIds(Aws::String&& value) { m_removeSubnetIdsHasBeenSet = true; m_removeSubnetIds.push_back(std::move(value)); return *this; } /** *

The unique identifiers of the subnets to remove from the endpoint.

*/ inline UpdateVpcEndpointRequest& AddRemoveSubnetIds(const char* value) { m_removeSubnetIdsHasBeenSet = true; m_removeSubnetIds.push_back(value); return *this; } private: Aws::Vector m_addSecurityGroupIds; bool m_addSecurityGroupIdsHasBeenSet = false; Aws::Vector m_addSubnetIds; bool m_addSubnetIdsHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Vector m_removeSecurityGroupIds; bool m_removeSecurityGroupIdsHasBeenSet = false; Aws::Vector m_removeSubnetIds; bool m_removeSubnetIdsHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchServerless } // namespace Aws