/**
* 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 MediaLive
{
namespace Model
{
/**
* The properties for a private VPC Output
See Also:
AWS
* API Reference
*/
class VpcOutputSettingsDescription
{
public:
AWS_MEDIALIVE_API VpcOutputSettingsDescription();
AWS_MEDIALIVE_API VpcOutputSettingsDescription(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIALIVE_API VpcOutputSettingsDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline VpcOutputSettingsDescription& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;}
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline VpcOutputSettingsDescription& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;}
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline VpcOutputSettingsDescription& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline VpcOutputSettingsDescription& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; }
/**
* The Availability Zones where the vpc subnets are located.
The first Availability
* Zone applies to the first subnet in the list of subnets.
The second Availability
* Zone applies to the second subnet.
*/
inline VpcOutputSettingsDescription& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline const Aws::Vector& GetNetworkInterfaceIds() const{ return m_networkInterfaceIds; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline bool NetworkInterfaceIdsHasBeenSet() const { return m_networkInterfaceIdsHasBeenSet; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline void SetNetworkInterfaceIds(const Aws::Vector& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds = value; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline void SetNetworkInterfaceIds(Aws::Vector&& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds = std::move(value); }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline VpcOutputSettingsDescription& WithNetworkInterfaceIds(const Aws::Vector& value) { SetNetworkInterfaceIds(value); return *this;}
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline VpcOutputSettingsDescription& WithNetworkInterfaceIds(Aws::Vector&& value) { SetNetworkInterfaceIds(std::move(value)); return *this;}
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline VpcOutputSettingsDescription& AddNetworkInterfaceIds(const Aws::String& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(value); return *this; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline VpcOutputSettingsDescription& AddNetworkInterfaceIds(Aws::String&& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(std::move(value)); return *this; }
/**
* A list of Elastic Network Interfaces created by MediaLive in the customer's VPC
*/
inline VpcOutputSettingsDescription& AddNetworkInterfaceIds(const char* value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(value); return *this; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline VpcOutputSettingsDescription& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;}
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline VpcOutputSettingsDescription& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;}
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline VpcOutputSettingsDescription& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline VpcOutputSettingsDescription& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; }
/**
* A list of up EC2 VPC security group IDs attached to the Output VPC network
* interfaces.
*/
inline VpcOutputSettingsDescription& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline VpcOutputSettingsDescription& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;}
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline VpcOutputSettingsDescription& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;}
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline VpcOutputSettingsDescription& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline VpcOutputSettingsDescription& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; }
/**
* A list of VPC subnet IDs from the same VPC.
If STANDARD channel, subnet IDs must
* be mapped to two unique availability zones (AZ).
*/
inline VpcOutputSettingsDescription& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
private:
Aws::Vector m_availabilityZones;
bool m_availabilityZonesHasBeenSet = false;
Aws::Vector m_networkInterfaceIds;
bool m_networkInterfaceIdsHasBeenSet = false;
Aws::Vector m_securityGroupIds;
bool m_securityGroupIdsHasBeenSet = false;
Aws::Vector m_subnetIds;
bool m_subnetIdsHasBeenSet = false;
};
} // namespace Model
} // namespace MediaLive
} // namespace Aws