/*
* 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 apigatewayv2-2018-11-29.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.ApiGatewayV2.Model
{
///
/// This is the response object from the CreateApi operation.
///
public partial class CreateApiResponse : AmazonWebServiceResponse
{
private string _apiEndpoint;
private bool? _apiGatewayManaged;
private string _apiId;
private string _apiKeySelectionExpression;
private Cors _corsConfiguration;
private DateTime? _createdDate;
private string _description;
private bool? _disableExecuteApiEndpoint;
private bool? _disableSchemaValidation;
private List _importInfo = new List();
private string _name;
private ProtocolType _protocolType;
private string _routeSelectionExpression;
private Dictionary _tags = new Dictionary();
private string _version;
private List _warnings = new List();
///
/// Gets and sets the property ApiEndpoint.
///
/// The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage
/// name is typically appended to this URI to form a complete path to a deployed API stage.
///
///
public string ApiEndpoint
{
get { return this._apiEndpoint; }
set { this._apiEndpoint = value; }
}
// Check to see if ApiEndpoint property is set
internal bool IsSetApiEndpoint()
{
return this._apiEndpoint != null;
}
///
/// Gets and sets the property ApiGatewayManaged.
///
/// Specifies whether an API is managed by API Gateway. You can't update or delete a managed
/// API by using API Gateway. A managed API can be deleted only through the tooling or
/// service that created it.
///
///
public bool ApiGatewayManaged
{
get { return this._apiGatewayManaged.GetValueOrDefault(); }
set { this._apiGatewayManaged = value; }
}
// Check to see if ApiGatewayManaged property is set
internal bool IsSetApiGatewayManaged()
{
return this._apiGatewayManaged.HasValue;
}
///
/// Gets and sets the property ApiId.
///
/// The API ID.
///
///
public string ApiId
{
get { return this._apiId; }
set { this._apiId = value; }
}
// Check to see if ApiId property is set
internal bool IsSetApiId()
{
return this._apiId != null;
}
///
/// Gets and sets the property ApiKeySelectionExpression.
///
/// An API key selection expression. Supported only for WebSocket APIs. See API
/// Key Selection Expressions.
///
///
public string ApiKeySelectionExpression
{
get { return this._apiKeySelectionExpression; }
set { this._apiKeySelectionExpression = value; }
}
// Check to see if ApiKeySelectionExpression property is set
internal bool IsSetApiKeySelectionExpression()
{
return this._apiKeySelectionExpression != null;
}
///
/// Gets and sets the property CorsConfiguration.
///
/// A CORS configuration. Supported only for HTTP APIs.
///
///
public Cors CorsConfiguration
{
get { return this._corsConfiguration; }
set { this._corsConfiguration = value; }
}
// Check to see if CorsConfiguration property is set
internal bool IsSetCorsConfiguration()
{
return this._corsConfiguration != null;
}
///
/// Gets and sets the property CreatedDate.
///
/// The timestamp when the API was created.
///
///
public DateTime CreatedDate
{
get { return this._createdDate.GetValueOrDefault(); }
set { this._createdDate = value; }
}
// Check to see if CreatedDate property is set
internal bool IsSetCreatedDate()
{
return this._createdDate.HasValue;
}
///
/// Gets and sets the property Description.
///
/// The description of the API.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DisableExecuteApiEndpoint.
///
/// Specifies whether clients can invoke your API by using the default execute-api endpoint.
/// By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
/// endpoint. To require that clients use a custom domain name to invoke your API, disable
/// the default endpoint.
///
///
public bool DisableExecuteApiEndpoint
{
get { return this._disableExecuteApiEndpoint.GetValueOrDefault(); }
set { this._disableExecuteApiEndpoint = value; }
}
// Check to see if DisableExecuteApiEndpoint property is set
internal bool IsSetDisableExecuteApiEndpoint()
{
return this._disableExecuteApiEndpoint.HasValue;
}
///
/// Gets and sets the property DisableSchemaValidation.
///
/// Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
///
///
public bool DisableSchemaValidation
{
get { return this._disableSchemaValidation.GetValueOrDefault(); }
set { this._disableSchemaValidation = value; }
}
// Check to see if DisableSchemaValidation property is set
internal bool IsSetDisableSchemaValidation()
{
return this._disableSchemaValidation.HasValue;
}
///
/// Gets and sets the property ImportInfo.
///
/// The validation information during API import. This may include particular properties
/// of your OpenAPI definition which are ignored during import. Supported only for HTTP
/// APIs.
///
///
public List ImportInfo
{
get { return this._importInfo; }
set { this._importInfo = value; }
}
// Check to see if ImportInfo property is set
internal bool IsSetImportInfo()
{
return this._importInfo != null && this._importInfo.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The name of the API.
///
///
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 ProtocolType.
///
/// The API protocol.
///
///
public ProtocolType ProtocolType
{
get { return this._protocolType; }
set { this._protocolType = value; }
}
// Check to see if ProtocolType property is set
internal bool IsSetProtocolType()
{
return this._protocolType != null;
}
///
/// Gets and sets the property RouteSelectionExpression.
///
/// The route selection expression for the API. For HTTP APIs, the routeSelectionExpression
/// must be ${request.method} ${request.path}. If not provided, this will be the default
/// for HTTP APIs. This property is required for WebSocket APIs.
///
///
public string RouteSelectionExpression
{
get { return this._routeSelectionExpression; }
set { this._routeSelectionExpression = value; }
}
// Check to see if RouteSelectionExpression property is set
internal bool IsSetRouteSelectionExpression()
{
return this._routeSelectionExpression != null;
}
///
/// Gets and sets the property Tags.
///
/// A collection of tags associated with the API.
///
///
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Version.
///
/// A version identifier for the API.
///
///
public string Version
{
get { return this._version; }
set { this._version = value; }
}
// Check to see if Version property is set
internal bool IsSetVersion()
{
return this._version != null;
}
///
/// Gets and sets the property Warnings.
///
/// The warning messages reported when failonwarnings is turned on during API import.
///
///
public List Warnings
{
get { return this._warnings; }
set { this._warnings = value; }
}
// Check to see if Warnings property is set
internal bool IsSetWarnings()
{
return this._warnings != null && this._warnings.Count > 0;
}
}
}