/*
* 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 response headers policy configuration.
///
///
///
/// A response headers policy configuration contains metadata about the response headers
/// policy, and configurations for sets of HTTP response headers.
///
///
public partial class ResponseHeadersPolicyConfig
{
private string _comment;
private ResponseHeadersPolicyCorsConfig _corsConfig;
private ResponseHeadersPolicyCustomHeadersConfig _customHeadersConfig;
private string _name;
private ResponseHeadersPolicyRemoveHeadersConfig _removeHeadersConfig;
private ResponseHeadersPolicySecurityHeadersConfig _securityHeadersConfig;
private ResponseHeadersPolicyServerTimingHeadersConfig _serverTimingHeadersConfig;
///
/// Gets and sets the property Comment.
///
/// A comment to describe the response headers policy.
///
///
///
/// The comment cannot be longer than 128 characters.
///
///
public string Comment
{
get { return this._comment; }
set { this._comment = value; }
}
// Check to see if Comment property is set
internal bool IsSetComment()
{
return this._comment != null;
}
///
/// Gets and sets the property CorsConfig.
///
/// A configuration for a set of HTTP response headers that are used for cross-origin
/// resource sharing (CORS).
///
///
public ResponseHeadersPolicyCorsConfig CorsConfig
{
get { return this._corsConfig; }
set { this._corsConfig = value; }
}
// Check to see if CorsConfig property is set
internal bool IsSetCorsConfig()
{
return this._corsConfig != null;
}
///
/// Gets and sets the property CustomHeadersConfig.
///
/// A configuration for a set of custom HTTP response headers.
///
///
public ResponseHeadersPolicyCustomHeadersConfig CustomHeadersConfig
{
get { return this._customHeadersConfig; }
set { this._customHeadersConfig = value; }
}
// Check to see if CustomHeadersConfig property is set
internal bool IsSetCustomHeadersConfig()
{
return this._customHeadersConfig != null;
}
///
/// Gets and sets the property Name.
///
/// A name to identify the response headers policy.
///
///
///
/// The name must be unique for response headers policies in this Amazon Web Services
/// account.
///
///
[AWSProperty(Required=true)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RemoveHeadersConfig.
///
/// A configuration for a set of HTTP headers to remove from the HTTP response.
///
///
public ResponseHeadersPolicyRemoveHeadersConfig RemoveHeadersConfig
{
get { return this._removeHeadersConfig; }
set { this._removeHeadersConfig = value; }
}
// Check to see if RemoveHeadersConfig property is set
internal bool IsSetRemoveHeadersConfig()
{
return this._removeHeadersConfig != null;
}
///
/// Gets and sets the property SecurityHeadersConfig.
///
/// A configuration for a set of security-related HTTP response headers.
///
///
public ResponseHeadersPolicySecurityHeadersConfig SecurityHeadersConfig
{
get { return this._securityHeadersConfig; }
set { this._securityHeadersConfig = value; }
}
// Check to see if SecurityHeadersConfig property is set
internal bool IsSetSecurityHeadersConfig()
{
return this._securityHeadersConfig != null;
}
///
/// Gets and sets the property ServerTimingHeadersConfig.
///
/// A configuration for enabling the Server-Timing
header in HTTP responses
/// sent from CloudFront.
///
///
public ResponseHeadersPolicyServerTimingHeadersConfig ServerTimingHeadersConfig
{
get { return this._serverTimingHeadersConfig; }
set { this._serverTimingHeadersConfig = value; }
}
// Check to see if ServerTimingHeadersConfig property is set
internal bool IsSetServerTimingHeadersConfig()
{
return this._serverTimingHeadersConfig != null;
}
}
}