/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LicenseManagerUserSubscriptions { namespace Model { /** *

Updates the registered identity provider’s product related configuration * settings such as the subnets to provision VPC endpoints.

See * Also:

AWS * API Reference

*/ class UpdateSettings { public: AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API UpdateSettings(); AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API UpdateSettings(Aws::Utils::Json::JsonView jsonValue); AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API UpdateSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline const Aws::Vector& GetAddSubnets() const{ return m_addSubnets; } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline bool AddSubnetsHasBeenSet() const { return m_addSubnetsHasBeenSet; } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline void SetAddSubnets(const Aws::Vector& value) { m_addSubnetsHasBeenSet = true; m_addSubnets = value; } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline void SetAddSubnets(Aws::Vector&& value) { m_addSubnetsHasBeenSet = true; m_addSubnets = std::move(value); } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline UpdateSettings& WithAddSubnets(const Aws::Vector& value) { SetAddSubnets(value); return *this;} /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline UpdateSettings& WithAddSubnets(Aws::Vector&& value) { SetAddSubnets(std::move(value)); return *this;} /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline UpdateSettings& AddAddSubnets(const Aws::String& value) { m_addSubnetsHasBeenSet = true; m_addSubnets.push_back(value); return *this; } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline UpdateSettings& AddAddSubnets(Aws::String&& value) { m_addSubnetsHasBeenSet = true; m_addSubnets.push_back(std::move(value)); return *this; } /** *

The ID of one or more subnets in which License Manager will create a VPC * endpoint for products that require connectivity to activation servers.

*/ inline UpdateSettings& AddAddSubnets(const char* value) { m_addSubnetsHasBeenSet = true; m_addSubnets.push_back(value); return *this; } /** *

The ID of one or more subnets to remove.

*/ inline const Aws::Vector& GetRemoveSubnets() const{ return m_removeSubnets; } /** *

The ID of one or more subnets to remove.

*/ inline bool RemoveSubnetsHasBeenSet() const { return m_removeSubnetsHasBeenSet; } /** *

The ID of one or more subnets to remove.

*/ inline void SetRemoveSubnets(const Aws::Vector& value) { m_removeSubnetsHasBeenSet = true; m_removeSubnets = value; } /** *

The ID of one or more subnets to remove.

*/ inline void SetRemoveSubnets(Aws::Vector&& value) { m_removeSubnetsHasBeenSet = true; m_removeSubnets = std::move(value); } /** *

The ID of one or more subnets to remove.

*/ inline UpdateSettings& WithRemoveSubnets(const Aws::Vector& value) { SetRemoveSubnets(value); return *this;} /** *

The ID of one or more subnets to remove.

*/ inline UpdateSettings& WithRemoveSubnets(Aws::Vector&& value) { SetRemoveSubnets(std::move(value)); return *this;} /** *

The ID of one or more subnets to remove.

*/ inline UpdateSettings& AddRemoveSubnets(const Aws::String& value) { m_removeSubnetsHasBeenSet = true; m_removeSubnets.push_back(value); return *this; } /** *

The ID of one or more subnets to remove.

*/ inline UpdateSettings& AddRemoveSubnets(Aws::String&& value) { m_removeSubnetsHasBeenSet = true; m_removeSubnets.push_back(std::move(value)); return *this; } /** *

The ID of one or more subnets to remove.

*/ inline UpdateSettings& AddRemoveSubnets(const char* value) { m_removeSubnetsHasBeenSet = true; m_removeSubnets.push_back(value); return *this; } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline const Aws::String& GetSecurityGroupId() const{ return m_securityGroupId; } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline bool SecurityGroupIdHasBeenSet() const { return m_securityGroupIdHasBeenSet; } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline void SetSecurityGroupId(const Aws::String& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = value; } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline void SetSecurityGroupId(Aws::String&& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = std::move(value); } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline void SetSecurityGroupId(const char* value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId.assign(value); } /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline UpdateSettings& WithSecurityGroupId(const Aws::String& value) { SetSecurityGroupId(value); return *this;} /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline UpdateSettings& WithSecurityGroupId(Aws::String&& value) { SetSecurityGroupId(std::move(value)); return *this;} /** *

A security group ID that allows inbound TCP port 1688 communication between * resources in your VPC and the VPC endpoints for activation servers.

*/ inline UpdateSettings& WithSecurityGroupId(const char* value) { SetSecurityGroupId(value); return *this;} private: Aws::Vector m_addSubnets; bool m_addSubnetsHasBeenSet = false; Aws::Vector m_removeSubnets; bool m_removeSubnetsHasBeenSet = false; Aws::String m_securityGroupId; bool m_securityGroupIdHasBeenSet = false; }; } // namespace Model } // namespace LicenseManagerUserSubscriptions } // namespace Aws