/*
* 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
{
///
/// This field is deprecated. We recommend that you use a cache policy or an origin request
/// policy instead of this field.
///
///
///
/// If you want to include values in the cache key, use a cache policy. For more information,
/// see Creating
/// cache policies in the Amazon CloudFront Developer Guide.
///
///
///
/// If you want to send values to the origin but not include them in the cache key, use
/// an origin request policy. For more information, see Creating
/// origin request policies in the Amazon CloudFront Developer Guide.
///
///
///
/// A complex type that specifies how CloudFront handles query strings, cookies, and HTTP
/// headers.
///
///
public partial class ForwardedValues
{
private CookiePreference _cookies;
private Headers _headers;
private bool? _queryString;
private QueryStringCacheKeys _queryStringCacheKeys;
///
/// Gets and sets the property Cookies.
///
/// This field is deprecated. We recommend that you use a cache policy or an origin request
/// policy instead of this field.
///
///
///
/// If you want to include cookies in the cache key, use a cache policy. For more information,
/// see Creating
/// cache policies in the Amazon CloudFront Developer Guide.
///
///
///
/// If you want to send cookies to the origin but not include them in the cache key, use
/// an origin request policy. For more information, see Creating
/// origin request policies in the Amazon CloudFront Developer Guide.
///
///
///
/// A complex type that specifies whether you want CloudFront to forward cookies to the
/// origin and, if so, which ones. For more information about forwarding cookies to the
/// origin, see How
/// CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer
/// Guide.
///
///
[AWSProperty(Required=true)]
public CookiePreference Cookies
{
get { return this._cookies; }
set { this._cookies = value; }
}
// Check to see if Cookies property is set
internal bool IsSetCookies()
{
return this._cookies != null;
}
///
/// Gets and sets the property Headers.
///
/// This field is deprecated. We recommend that you use a cache policy or an origin request
/// policy instead of this field.
///
///
///
/// If you want to include headers in the cache key, use a cache policy. For more information,
/// see Creating
/// cache policies in the Amazon CloudFront Developer Guide.
///
///
///
/// If you want to send headers to the origin but not include them in the cache key, use
/// an origin request policy. For more information, see Creating
/// origin request policies in the Amazon CloudFront Developer Guide.
///
///
///
/// A complex type that specifies the Headers
, if any, that you want CloudFront
/// to forward to the origin for this cache behavior (whitelisted headers). For the headers
/// that you specify, CloudFront also caches separate versions of a specified object that
/// is based on the header values in viewer requests.
///
///
///
/// For more information, see
/// Caching Content Based on Request Headers in the Amazon CloudFront Developer
/// Guide.
///
///
public Headers Headers
{
get { return this._headers; }
set { this._headers = value; }
}
// Check to see if Headers property is set
internal bool IsSetHeaders()
{
return this._headers != null;
}
///
/// Gets and sets the property QueryString.
///
/// This field is deprecated. We recommend that you use a cache policy or an origin request
/// policy instead of this field.
///
///
///
/// If you want to include query strings in the cache key, use a cache policy. For more
/// information, see Creating
/// cache policies in the Amazon CloudFront Developer Guide.
///
///
///
/// If you want to send query strings to the origin but not include them in the cache
/// key, use an origin request policy. For more information, see Creating
/// origin request policies in the Amazon CloudFront Developer Guide.
///
///
///
/// Indicates whether you want CloudFront to forward query strings to the origin that
/// is associated with this cache behavior and cache based on the query string parameters.
/// CloudFront behavior depends on the value of QueryString
and on the values
/// that you specify for QueryStringCacheKeys
, if any:
///
///
///
/// If you specify true for QueryString
and you don't specify any values
/// for QueryStringCacheKeys
, CloudFront forwards all query string parameters
/// to the origin and caches based on all query string parameters. Depending on how many
/// query string parameters and values you have, this can adversely affect performance
/// because CloudFront must forward more requests to the origin.
///
///
///
/// If you specify true for QueryString
and you specify one or more values
/// for QueryStringCacheKeys
, CloudFront forwards all query string parameters
/// to the origin, but it only caches based on the query string parameters that you specify.
///
///
///
/// If you specify false for QueryString
, CloudFront doesn't forward any
/// query string parameters to the origin, and doesn't cache based on query string parameters.
///
///
///
/// For more information, see Configuring
/// CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront
/// Developer Guide.
///
///
[AWSProperty(Required=true)]
public bool QueryString
{
get { return this._queryString.GetValueOrDefault(); }
set { this._queryString = value; }
}
// Check to see if QueryString property is set
internal bool IsSetQueryString()
{
return this._queryString.HasValue;
}
///
/// Gets and sets the property QueryStringCacheKeys.
///
/// This field is deprecated. We recommend that you use a cache policy or an origin request
/// policy instead of this field.
///
///
///
/// If you want to include query strings in the cache key, use a cache policy. For more
/// information, see Creating
/// cache policies in the Amazon CloudFront Developer Guide.
///
///
///
/// If you want to send query strings to the origin but not include them in the cache
/// key, use an origin request policy. For more information, see Creating
/// origin request policies in the Amazon CloudFront Developer Guide.
///
///
///
/// A complex type that contains information about the query string parameters that you
/// want CloudFront to use for caching for this cache behavior.
///
///
public QueryStringCacheKeys QueryStringCacheKeys
{
get { return this._queryStringCacheKeys; }
set { this._queryStringCacheKeys = value; }
}
// Check to see if QueryStringCacheKeys property is set
internal bool IsSetQueryStringCacheKeys()
{
return this._queryStringCacheKeys != null;
}
}
}