/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaConnect
{
namespace Model
{
/**
* The settings for an output.See Also:
AWS
* API Reference
*/
class Output
{
public:
AWS_MEDIACONNECT_API Output();
AWS_MEDIACONNECT_API Output(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONNECT_API Output& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
*/
inline int GetDataTransferSubscriberFeePercent() const{ return m_dataTransferSubscriberFeePercent; }
/**
* Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
*/
inline bool DataTransferSubscriberFeePercentHasBeenSet() const { return m_dataTransferSubscriberFeePercentHasBeenSet; }
/**
* Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
*/
inline void SetDataTransferSubscriberFeePercent(int value) { m_dataTransferSubscriberFeePercentHasBeenSet = true; m_dataTransferSubscriberFeePercent = value; }
/**
* Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
*/
inline Output& WithDataTransferSubscriberFeePercent(int value) { SetDataTransferSubscriberFeePercent(value); return *this;}
/**
* A description of the output.
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* A description of the output.
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* A description of the output.
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* A description of the output.
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* A description of the output.
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* A description of the output.
*/
inline Output& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* A description of the output.
*/
inline Output& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* A description of the output.
*/
inline Output& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* The address where you want to send the output.
*/
inline const Aws::String& GetDestination() const{ return m_destination; }
/**
* The address where you want to send the output.
*/
inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
/**
* The address where you want to send the output.
*/
inline void SetDestination(const Aws::String& value) { m_destinationHasBeenSet = true; m_destination = value; }
/**
* The address where you want to send the output.
*/
inline void SetDestination(Aws::String&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); }
/**
* The address where you want to send the output.
*/
inline void SetDestination(const char* value) { m_destinationHasBeenSet = true; m_destination.assign(value); }
/**
* The address where you want to send the output.
*/
inline Output& WithDestination(const Aws::String& value) { SetDestination(value); return *this;}
/**
* The address where you want to send the output.
*/
inline Output& WithDestination(Aws::String&& value) { SetDestination(std::move(value)); return *this;}
/**
* The address where you want to send the output.
*/
inline Output& WithDestination(const char* value) { SetDestination(value); return *this;}
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline const Encryption& GetEncryption() const{ return m_encryption; }
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; }
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); }
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline Output& WithEncryption(const Encryption& value) { SetEncryption(value); return *this;}
/**
* The type of key used for the encryption. If no keyType is provided, the service
* will use the default setting (static-key).
*/
inline Output& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); return *this;}
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline const Aws::String& GetEntitlementArn() const{ return m_entitlementArn; }
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline bool EntitlementArnHasBeenSet() const { return m_entitlementArnHasBeenSet; }
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline void SetEntitlementArn(const Aws::String& value) { m_entitlementArnHasBeenSet = true; m_entitlementArn = value; }
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline void SetEntitlementArn(Aws::String&& value) { m_entitlementArnHasBeenSet = true; m_entitlementArn = std::move(value); }
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline void SetEntitlementArn(const char* value) { m_entitlementArnHasBeenSet = true; m_entitlementArn.assign(value); }
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline Output& WithEntitlementArn(const Aws::String& value) { SetEntitlementArn(value); return *this;}
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline Output& WithEntitlementArn(Aws::String&& value) { SetEntitlementArn(std::move(value)); return *this;}
/**
* The ARN of the entitlement on the originator''s flow. This value is relevant
* only on entitled flows.
*/
inline Output& WithEntitlementArn(const char* value) { SetEntitlementArn(value); return *this;}
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline const Aws::String& GetListenerAddress() const{ return m_listenerAddress; }
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline bool ListenerAddressHasBeenSet() const { return m_listenerAddressHasBeenSet; }
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline void SetListenerAddress(const Aws::String& value) { m_listenerAddressHasBeenSet = true; m_listenerAddress = value; }
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline void SetListenerAddress(Aws::String&& value) { m_listenerAddressHasBeenSet = true; m_listenerAddress = std::move(value); }
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline void SetListenerAddress(const char* value) { m_listenerAddressHasBeenSet = true; m_listenerAddress.assign(value); }
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline Output& WithListenerAddress(const Aws::String& value) { SetListenerAddress(value); return *this;}
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline Output& WithListenerAddress(Aws::String&& value) { SetListenerAddress(std::move(value)); return *this;}
/**
* The IP address that the receiver requires in order to establish a connection
* with the flow. For public networking, the ListenerAddress is represented by the
* elastic IP address of the flow. For private networking, the ListenerAddress is
* represented by the elastic network interface IP address of the VPC. This field
* applies only to outputs that use the Zixi pull or SRT listener protocol.
*/
inline Output& WithListenerAddress(const char* value) { SetListenerAddress(value); return *this;}
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline const Aws::String& GetMediaLiveInputArn() const{ return m_mediaLiveInputArn; }
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline bool MediaLiveInputArnHasBeenSet() const { return m_mediaLiveInputArnHasBeenSet; }
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline void SetMediaLiveInputArn(const Aws::String& value) { m_mediaLiveInputArnHasBeenSet = true; m_mediaLiveInputArn = value; }
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline void SetMediaLiveInputArn(Aws::String&& value) { m_mediaLiveInputArnHasBeenSet = true; m_mediaLiveInputArn = std::move(value); }
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline void SetMediaLiveInputArn(const char* value) { m_mediaLiveInputArnHasBeenSet = true; m_mediaLiveInputArn.assign(value); }
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline Output& WithMediaLiveInputArn(const Aws::String& value) { SetMediaLiveInputArn(value); return *this;}
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline Output& WithMediaLiveInputArn(Aws::String&& value) { SetMediaLiveInputArn(std::move(value)); return *this;}
/**
* The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
* only for outputs that were added by creating a MediaLive input.
*/
inline Output& WithMediaLiveInputArn(const char* value) { SetMediaLiveInputArn(value); return *this;}
/**
* The configuration for each media stream that is associated with the output.
*/
inline const Aws::Vector& GetMediaStreamOutputConfigurations() const{ return m_mediaStreamOutputConfigurations; }
/**
* The configuration for each media stream that is associated with the output.
*/
inline bool MediaStreamOutputConfigurationsHasBeenSet() const { return m_mediaStreamOutputConfigurationsHasBeenSet; }
/**
* The configuration for each media stream that is associated with the output.
*/
inline void SetMediaStreamOutputConfigurations(const Aws::Vector& value) { m_mediaStreamOutputConfigurationsHasBeenSet = true; m_mediaStreamOutputConfigurations = value; }
/**
* The configuration for each media stream that is associated with the output.
*/
inline void SetMediaStreamOutputConfigurations(Aws::Vector&& value) { m_mediaStreamOutputConfigurationsHasBeenSet = true; m_mediaStreamOutputConfigurations = std::move(value); }
/**
* The configuration for each media stream that is associated with the output.
*/
inline Output& WithMediaStreamOutputConfigurations(const Aws::Vector& value) { SetMediaStreamOutputConfigurations(value); return *this;}
/**
* The configuration for each media stream that is associated with the output.
*/
inline Output& WithMediaStreamOutputConfigurations(Aws::Vector&& value) { SetMediaStreamOutputConfigurations(std::move(value)); return *this;}
/**
* The configuration for each media stream that is associated with the output.
*/
inline Output& AddMediaStreamOutputConfigurations(const MediaStreamOutputConfiguration& value) { m_mediaStreamOutputConfigurationsHasBeenSet = true; m_mediaStreamOutputConfigurations.push_back(value); return *this; }
/**
* The configuration for each media stream that is associated with the output.
*/
inline Output& AddMediaStreamOutputConfigurations(MediaStreamOutputConfiguration&& value) { m_mediaStreamOutputConfigurationsHasBeenSet = true; m_mediaStreamOutputConfigurations.push_back(std::move(value)); return *this; }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* The name of the output. This value must be unique within the current flow.
*/
inline Output& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* The name of the output. This value must be unique within the current flow.
*/
inline Output& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* The name of the output. This value must be unique within the current flow.
*/
inline Output& WithName(const char* value) { SetName(value); return *this;}
/**
* The ARN of the output.
*/
inline const Aws::String& GetOutputArn() const{ return m_outputArn; }
/**
* The ARN of the output.
*/
inline bool OutputArnHasBeenSet() const { return m_outputArnHasBeenSet; }
/**
* The ARN of the output.
*/
inline void SetOutputArn(const Aws::String& value) { m_outputArnHasBeenSet = true; m_outputArn = value; }
/**
* The ARN of the output.
*/
inline void SetOutputArn(Aws::String&& value) { m_outputArnHasBeenSet = true; m_outputArn = std::move(value); }
/**
* The ARN of the output.
*/
inline void SetOutputArn(const char* value) { m_outputArnHasBeenSet = true; m_outputArn.assign(value); }
/**
* The ARN of the output.
*/
inline Output& WithOutputArn(const Aws::String& value) { SetOutputArn(value); return *this;}
/**
* The ARN of the output.
*/
inline Output& WithOutputArn(Aws::String&& value) { SetOutputArn(std::move(value)); return *this;}
/**
* The ARN of the output.
*/
inline Output& WithOutputArn(const char* value) { SetOutputArn(value); return *this;}
/**
* The port to use when content is distributed to this output.
*/
inline int GetPort() const{ return m_port; }
/**
* The port to use when content is distributed to this output.
*/
inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
/**
* The port to use when content is distributed to this output.
*/
inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }
/**
* The port to use when content is distributed to this output.
*/
inline Output& WithPort(int value) { SetPort(value); return *this;}
/**
* Attributes related to the transport stream that are used in the output.
*/
inline const Transport& GetTransport() const{ return m_transport; }
/**
* Attributes related to the transport stream that are used in the output.
*/
inline bool TransportHasBeenSet() const { return m_transportHasBeenSet; }
/**
* Attributes related to the transport stream that are used in the output.
*/
inline void SetTransport(const Transport& value) { m_transportHasBeenSet = true; m_transport = value; }
/**
* Attributes related to the transport stream that are used in the output.
*/
inline void SetTransport(Transport&& value) { m_transportHasBeenSet = true; m_transport = std::move(value); }
/**
* Attributes related to the transport stream that are used in the output.
*/
inline Output& WithTransport(const Transport& value) { SetTransport(value); return *this;}
/**
* Attributes related to the transport stream that are used in the output.
*/
inline Output& WithTransport(Transport&& value) { SetTransport(std::move(value)); return *this;}
/**
* The name of the VPC interface attachment to use for this output.
*/
inline const VpcInterfaceAttachment& GetVpcInterfaceAttachment() const{ return m_vpcInterfaceAttachment; }
/**
* The name of the VPC interface attachment to use for this output.
*/
inline bool VpcInterfaceAttachmentHasBeenSet() const { return m_vpcInterfaceAttachmentHasBeenSet; }
/**
* The name of the VPC interface attachment to use for this output.
*/
inline void SetVpcInterfaceAttachment(const VpcInterfaceAttachment& value) { m_vpcInterfaceAttachmentHasBeenSet = true; m_vpcInterfaceAttachment = value; }
/**
* The name of the VPC interface attachment to use for this output.
*/
inline void SetVpcInterfaceAttachment(VpcInterfaceAttachment&& value) { m_vpcInterfaceAttachmentHasBeenSet = true; m_vpcInterfaceAttachment = std::move(value); }
/**
* The name of the VPC interface attachment to use for this output.
*/
inline Output& WithVpcInterfaceAttachment(const VpcInterfaceAttachment& value) { SetVpcInterfaceAttachment(value); return *this;}
/**
* The name of the VPC interface attachment to use for this output.
*/
inline Output& WithVpcInterfaceAttachment(VpcInterfaceAttachment&& value) { SetVpcInterfaceAttachment(std::move(value)); return *this;}
/**
* The ARN of the bridge that added this output.
*/
inline const Aws::String& GetBridgeArn() const{ return m_bridgeArn; }
/**
* The ARN of the bridge that added this output.
*/
inline bool BridgeArnHasBeenSet() const { return m_bridgeArnHasBeenSet; }
/**
* The ARN of the bridge that added this output.
*/
inline void SetBridgeArn(const Aws::String& value) { m_bridgeArnHasBeenSet = true; m_bridgeArn = value; }
/**
* The ARN of the bridge that added this output.
*/
inline void SetBridgeArn(Aws::String&& value) { m_bridgeArnHasBeenSet = true; m_bridgeArn = std::move(value); }
/**
* The ARN of the bridge that added this output.
*/
inline void SetBridgeArn(const char* value) { m_bridgeArnHasBeenSet = true; m_bridgeArn.assign(value); }
/**
* The ARN of the bridge that added this output.
*/
inline Output& WithBridgeArn(const Aws::String& value) { SetBridgeArn(value); return *this;}
/**
* The ARN of the bridge that added this output.
*/
inline Output& WithBridgeArn(Aws::String&& value) { SetBridgeArn(std::move(value)); return *this;}
/**
* The ARN of the bridge that added this output.
*/
inline Output& WithBridgeArn(const char* value) { SetBridgeArn(value); return *this;}
/**
* The bridge output ports currently in use.
*/
inline const Aws::Vector& GetBridgePorts() const{ return m_bridgePorts; }
/**
* The bridge output ports currently in use.
*/
inline bool BridgePortsHasBeenSet() const { return m_bridgePortsHasBeenSet; }
/**
* The bridge output ports currently in use.
*/
inline void SetBridgePorts(const Aws::Vector& value) { m_bridgePortsHasBeenSet = true; m_bridgePorts = value; }
/**
* The bridge output ports currently in use.
*/
inline void SetBridgePorts(Aws::Vector&& value) { m_bridgePortsHasBeenSet = true; m_bridgePorts = std::move(value); }
/**
* The bridge output ports currently in use.
*/
inline Output& WithBridgePorts(const Aws::Vector& value) { SetBridgePorts(value); return *this;}
/**
* The bridge output ports currently in use.
*/
inline Output& WithBridgePorts(Aws::Vector&& value) { SetBridgePorts(std::move(value)); return *this;}
/**
* The bridge output ports currently in use.
*/
inline Output& AddBridgePorts(int value) { m_bridgePortsHasBeenSet = true; m_bridgePorts.push_back(value); return *this; }
private:
int m_dataTransferSubscriberFeePercent;
bool m_dataTransferSubscriberFeePercentHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_destination;
bool m_destinationHasBeenSet = false;
Encryption m_encryption;
bool m_encryptionHasBeenSet = false;
Aws::String m_entitlementArn;
bool m_entitlementArnHasBeenSet = false;
Aws::String m_listenerAddress;
bool m_listenerAddressHasBeenSet = false;
Aws::String m_mediaLiveInputArn;
bool m_mediaLiveInputArnHasBeenSet = false;
Aws::Vector m_mediaStreamOutputConfigurations;
bool m_mediaStreamOutputConfigurationsHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_outputArn;
bool m_outputArnHasBeenSet = false;
int m_port;
bool m_portHasBeenSet = false;
Transport m_transport;
bool m_transportHasBeenSet = false;
VpcInterfaceAttachment m_vpcInterfaceAttachment;
bool m_vpcInterfaceAttachmentHasBeenSet = false;
Aws::String m_bridgeArn;
bool m_bridgeArnHasBeenSet = false;
Aws::Vector m_bridgePorts;
bool m_bridgePortsHasBeenSet = false;
};
} // namespace Model
} // namespace MediaConnect
} // namespace Aws