/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the cloudfront-2020-05-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudFront.Model
{
///
/// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket,
/// with one exception. An Amazon S3 bucket that is configured
/// with static website hosting is a custom origin.
///
public partial class CustomOriginConfig
{
private int? _httpPort;
private int? _httpsPort;
private int? _originKeepaliveTimeout;
private OriginProtocolPolicy _originProtocolPolicy;
private int? _originReadTimeout;
private OriginSslProtocols _originSslProtocols;
///
/// Gets and sets the property HTTPPort.
///
/// The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port
/// that the origin listens on.
///
///
[AWSProperty(Required=true)]
public int HTTPPort
{
get { return this._httpPort.GetValueOrDefault(); }
set { this._httpPort = value; }
}
// Check to see if HTTPPort property is set
internal bool IsSetHTTPPort()
{
return this._httpPort.HasValue;
}
///
/// Gets and sets the property HTTPSPort.
///
/// The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port
/// that the origin listens on.
///
///
[AWSProperty(Required=true)]
public int HTTPSPort
{
get { return this._httpsPort.GetValueOrDefault(); }
set { this._httpsPort = value; }
}
// Check to see if HTTPSPort property is set
internal bool IsSetHTTPSPort()
{
return this._httpsPort.HasValue;
}
///
/// Gets and sets the property OriginKeepaliveTimeout.
///
/// Specifies how long, in seconds, CloudFront persists its connection to the origin.
/// The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you
/// don't specify otherwise) is 5 seconds.
///
///
///
/// For more information, see Origin
/// Keep-alive Timeout in the Amazon CloudFront Developer Guide.
///
///
public int OriginKeepaliveTimeout
{
get { return this._originKeepaliveTimeout.GetValueOrDefault(); }
set { this._originKeepaliveTimeout = value; }
}
// Check to see if OriginKeepaliveTimeout property is set
internal bool IsSetOriginKeepaliveTimeout()
{
return this._originKeepaliveTimeout.HasValue;
}
///
/// Gets and sets the property OriginProtocolPolicy.
///
/// Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin.
/// Valid values are:
///
/// -
///
///
http-only
– CloudFront always uses HTTP to connect to the origin.
///
/// -
///
///
match-viewer
– CloudFront connects to the origin using the same protocol
/// that the viewer used to connect to CloudFront.
///
/// -
///
///
https-only
– CloudFront always uses HTTPS to connect to the origin.
///
///
///
[AWSProperty(Required=true)]
public OriginProtocolPolicy OriginProtocolPolicy
{
get { return this._originProtocolPolicy; }
set { this._originProtocolPolicy = value; }
}
// Check to see if OriginProtocolPolicy property is set
internal bool IsSetOriginProtocolPolicy()
{
return this._originProtocolPolicy != null;
}
///
/// Gets and sets the property OriginReadTimeout.
///
/// Specifies how long, in seconds, CloudFront waits for a response from the origin. This
/// is also known as the origin response timeout. The minimum timeout is 1 second,
/// the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30
/// seconds.
///
///
///
/// For more information, see Origin
/// Response Timeout in the Amazon CloudFront Developer Guide.
///
///
public int OriginReadTimeout
{
get { return this._originReadTimeout.GetValueOrDefault(); }
set { this._originReadTimeout = value; }
}
// Check to see if OriginReadTimeout property is set
internal bool IsSetOriginReadTimeout()
{
return this._originReadTimeout.HasValue;
}
///
/// Gets and sets the property OriginSslProtocols.
///
/// Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your
/// origin over HTTPS. Valid values include SSLv3
, TLSv1
, TLSv1.1
,
/// and TLSv1.2
.
///
///
///
/// For more information, see Minimum
/// Origin SSL Protocol in the Amazon CloudFront Developer Guide.
///
///
public OriginSslProtocols OriginSslProtocols
{
get { return this._originSslProtocols; }
set { this._originSslProtocols = value; }
}
// Check to see if OriginSslProtocols property is set
internal bool IsSetOriginSslProtocols()
{
return this._originSslProtocols != null;
}
}
}