/*
* 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 securityhub-2018-10-26.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.SecurityHub.Model
{
///
/// Defines settings for a method for the stage.
///
public partial class AwsApiGatewayMethodSettings
{
private bool? _cacheDataEncrypted;
private int? _cacheTtlInSeconds;
private bool? _cachingEnabled;
private bool? _dataTraceEnabled;
private string _httpMethod;
private string _loggingLevel;
private bool? _metricsEnabled;
private bool? _requireAuthorizationForCacheControl;
private string _resourcePath;
private int? _throttlingBurstLimit;
private double? _throttlingRateLimit;
private string _unauthorizedCacheControlHeaderStrategy;
///
/// Gets and sets the property CacheDataEncrypted.
///
/// Indicates whether the cached responses are encrypted.
///
///
public bool CacheDataEncrypted
{
get { return this._cacheDataEncrypted.GetValueOrDefault(); }
set { this._cacheDataEncrypted = value; }
}
// Check to see if CacheDataEncrypted property is set
internal bool IsSetCacheDataEncrypted()
{
return this._cacheDataEncrypted.HasValue;
}
///
/// Gets and sets the property CacheTtlInSeconds.
///
/// Specifies the time to live (TTL), in seconds, for cached responses. The higher the
/// TTL, the longer the response is cached.
///
///
public int CacheTtlInSeconds
{
get { return this._cacheTtlInSeconds.GetValueOrDefault(); }
set { this._cacheTtlInSeconds = value; }
}
// Check to see if CacheTtlInSeconds property is set
internal bool IsSetCacheTtlInSeconds()
{
return this._cacheTtlInSeconds.HasValue;
}
///
/// Gets and sets the property CachingEnabled.
///
/// Indicates whether responses are cached and returned for requests. For responses to
/// be cached, a cache cluster must be enabled on the stage.
///
///
public bool CachingEnabled
{
get { return this._cachingEnabled.GetValueOrDefault(); }
set { this._cachingEnabled = value; }
}
// Check to see if CachingEnabled property is set
internal bool IsSetCachingEnabled()
{
return this._cachingEnabled.HasValue;
}
///
/// Gets and sets the property DataTraceEnabled.
///
/// Indicates whether data trace logging is enabled for the method. Data trace logging
/// affects the log entries that are pushed to CloudWatch Logs.
///
///
public bool DataTraceEnabled
{
get { return this._dataTraceEnabled.GetValueOrDefault(); }
set { this._dataTraceEnabled = value; }
}
// Check to see if DataTraceEnabled property is set
internal bool IsSetDataTraceEnabled()
{
return this._dataTraceEnabled.HasValue;
}
///
/// Gets and sets the property HttpMethod.
///
/// The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings
/// to multiple methods.
///
///
public string HttpMethod
{
get { return this._httpMethod; }
set { this._httpMethod = value; }
}
// Check to see if HttpMethod property is set
internal bool IsSetHttpMethod()
{
return this._httpMethod != null;
}
///
/// Gets and sets the property LoggingLevel.
///
/// The logging level for this method. The logging level affects the log entries that
/// are pushed to CloudWatch Logs.
///
///
///
/// If the logging level is ERROR
, then the logs only include error-level
/// entries.
///
///
///
/// If the logging level is INFO
, then the logs include both ERROR
/// events and extra informational events.
///
///
///
/// Valid values: OFF
| ERROR
| INFO
///
///
public string LoggingLevel
{
get { return this._loggingLevel; }
set { this._loggingLevel = value; }
}
// Check to see if LoggingLevel property is set
internal bool IsSetLoggingLevel()
{
return this._loggingLevel != null;
}
///
/// Gets and sets the property MetricsEnabled.
///
/// Indicates whether CloudWatch metrics are enabled for the method.
///
///
public bool MetricsEnabled
{
get { return this._metricsEnabled.GetValueOrDefault(); }
set { this._metricsEnabled = value; }
}
// Check to see if MetricsEnabled property is set
internal bool IsSetMetricsEnabled()
{
return this._metricsEnabled.HasValue;
}
///
/// Gets and sets the property RequireAuthorizationForCacheControl.
///
/// Indicates whether authorization is required for a cache invalidation request.
///
///
public bool RequireAuthorizationForCacheControl
{
get { return this._requireAuthorizationForCacheControl.GetValueOrDefault(); }
set { this._requireAuthorizationForCacheControl = value; }
}
// Check to see if RequireAuthorizationForCacheControl property is set
internal bool IsSetRequireAuthorizationForCacheControl()
{
return this._requireAuthorizationForCacheControl.HasValue;
}
///
/// Gets and sets the property ResourcePath.
///
/// The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial
/// slash must include a forward slash.
///
///
///
/// For example, the path value /resource/subresource
must be encoded as
/// /~1resource~1subresource
.
///
///
///
/// To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard
/// to apply method settings to multiple methods.
///
///
public string ResourcePath
{
get { return this._resourcePath; }
set { this._resourcePath = value; }
}
// Check to see if ResourcePath property is set
internal bool IsSetResourcePath()
{
return this._resourcePath != null;
}
///
/// Gets and sets the property ThrottlingBurstLimit.
///
/// The throttling burst limit for the method.
///
///
public int ThrottlingBurstLimit
{
get { return this._throttlingBurstLimit.GetValueOrDefault(); }
set { this._throttlingBurstLimit = value; }
}
// Check to see if ThrottlingBurstLimit property is set
internal bool IsSetThrottlingBurstLimit()
{
return this._throttlingBurstLimit.HasValue;
}
///
/// Gets and sets the property ThrottlingRateLimit.
///
/// The throttling rate limit for the method.
///
///
public double ThrottlingRateLimit
{
get { return this._throttlingRateLimit.GetValueOrDefault(); }
set { this._throttlingRateLimit = value; }
}
// Check to see if ThrottlingRateLimit property is set
internal bool IsSetThrottlingRateLimit()
{
return this._throttlingRateLimit.HasValue;
}
///
/// Gets and sets the property UnauthorizedCacheControlHeaderStrategy.
///
/// Indicates how to handle unauthorized requests for cache invalidation.
///
///
///
/// Valid values: FAIL_WITH_403
| SUCCEED_WITH_RESPONSE_HEADER
/// | SUCCEED_WITHOUT_RESPONSE_HEADER
///
///
public string UnauthorizedCacheControlHeaderStrategy
{
get { return this._unauthorizedCacheControlHeaderStrategy; }
set { this._unauthorizedCacheControlHeaderStrategy = value; }
}
// Check to see if UnauthorizedCacheControlHeaderStrategy property is set
internal bool IsSetUnauthorizedCacheControlHeaderStrategy()
{
return this._unauthorizedCacheControlHeaderStrategy != null;
}
}
}