/* * 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 { /// /// Container for the parameters to the UpdateApi operation. /// Updates an Api resource. /// public partial class UpdateApiRequest : AmazonApiGatewayV2Request { private string _apiId; private string _apiKeySelectionExpression; private Cors _corsConfiguration; private string _credentialsArn; private string _description; private bool? _disableExecuteApiEndpoint; private bool? _disableSchemaValidation; private string _name; private string _routeKey; private string _routeSelectionExpression; private string _target; private string _version; /// /// Gets and sets the property ApiId. /// /// The API identifier. /// /// [AWSProperty(Required=true)] 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 CredentialsArn. /// /// This property is part of quick create. It specifies the credentials required for the /// integration, if any. For a Lambda integration, three options are available. To specify /// an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). /// To require that the caller's identity be passed through from the request, specify /// arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, /// don't specify this parameter. Currently, this property is not used for HTTP integrations. /// If provided, this value replaces the credentials associated with the quick create /// integration. Supported only for HTTP APIs. /// /// public string CredentialsArn { get { return this._credentialsArn; } set { this._credentialsArn = value; } } // Check to see if CredentialsArn property is set internal bool IsSetCredentialsArn() { return this._credentialsArn != null; } /// /// 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 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 RouteKey. /// /// This property is part of quick create. If not specified, the route created using quick /// create is kept. Otherwise, this value replaces the route key of the quick create route. /// Additional routes may still be added after the API is updated. Supported only for /// HTTP APIs. /// /// public string RouteKey { get { return this._routeKey; } set { this._routeKey = value; } } // Check to see if RouteKey property is set internal bool IsSetRouteKey() { return this._routeKey != 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 Target. /// /// This property is part of quick create. For HTTP integrations, specify a fully qualified /// URL. For Lambda integrations, specify a function ARN. The type of the integration /// will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration /// URI and integration type. You can update a quick-created target, but you can't remove /// it from an API. Supported only for HTTP APIs. /// /// public string Target { get { return this._target; } set { this._target = value; } } // Check to see if Target property is set internal bool IsSetTarget() { return this._target != null; } /// /// 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; } } }