/* * 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 apigateway-2015-07-09.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.APIGateway.Model { /// /// Container for the parameters to the PutIntegration operation. /// Sets up a method's integration. /// public partial class PutIntegrationRequest : AmazonAPIGatewayRequest { private List _cacheKeyParameters = new List(); private string _cacheNamespace; private string _connectionId; private ConnectionType _connectionType; private ContentHandlingStrategy _contentHandling; private string _credentials; private string _httpMethod; private string _integrationHttpMethod; private string _passthroughBehavior; private Dictionary _requestParameters = new Dictionary(); private Dictionary _requestTemplates = new Dictionary(); private string _resourceId; private string _restApiId; private int? _timeoutInMillis; private TlsConfig _tlsConfig; private IntegrationType _type; private string _uri; /// /// Gets and sets the property CacheKeyParameters. /// /// A list of request parameters whose values API Gateway caches. To be valid values for /// cacheKeyParameters, these parameters must also be specified for Method /// requestParameters. /// /// public List CacheKeyParameters { get { return this._cacheKeyParameters; } set { this._cacheKeyParameters = value; } } // Check to see if CacheKeyParameters property is set internal bool IsSetCacheKeyParameters() { return this._cacheKeyParameters != null && this._cacheKeyParameters.Count > 0; } /// /// Gets and sets the property CacheNamespace. /// /// Specifies a group of related cached parameters. By default, API Gateway uses the resource /// ID as the cacheNamespace. You can specify the same cacheNamespace /// across resources to return the same cached data for requests to different resources. /// /// public string CacheNamespace { get { return this._cacheNamespace; } set { this._cacheNamespace = value; } } // Check to see if CacheNamespace property is set internal bool IsSetCacheNamespace() { return this._cacheNamespace != null; } /// /// Gets and sets the property ConnectionId. /// /// The ID of the VpcLink used for the integration. Specify this value only if you specify /// VPC_LINK as the connection type. /// /// public string ConnectionId { get { return this._connectionId; } set { this._connectionId = value; } } // Check to see if ConnectionId property is set internal bool IsSetConnectionId() { return this._connectionId != null; } /// /// Gets and sets the property ConnectionType. /// /// The type of the network connection to the integration endpoint. The valid value is /// INTERNET for connections through the public routable internet or VPC_LINK /// for private connections between API Gateway and a network load balancer in a VPC. /// The default value is INTERNET. /// /// public ConnectionType ConnectionType { get { return this._connectionType; } set { this._connectionType = value; } } // Check to see if ConnectionType property is set internal bool IsSetConnectionType() { return this._connectionType != null; } /// /// Gets and sets the property ContentHandling. /// /// Specifies how to handle request payload content type conversions. Supported values /// are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following /// behaviors: /// /// /// /// If this property is not defined, the request payload will be passed through from the /// method request to integration request without modification, provided that the passthroughBehavior /// is configured to support payload pass-through. /// /// public ContentHandlingStrategy ContentHandling { get { return this._contentHandling; } set { this._contentHandling = value; } } // Check to see if ContentHandling property is set internal bool IsSetContentHandling() { return this._contentHandling != null; } /// /// Gets and sets the property Credentials. /// /// Specifies whether credentials are required for a put integration. /// /// public string Credentials { get { return this._credentials; } set { this._credentials = value; } } // Check to see if Credentials property is set internal bool IsSetCredentials() { return this._credentials != null; } /// /// Gets and sets the property HttpMethod. /// /// Specifies the HTTP method for the integration. /// /// [AWSProperty(Required=true)] 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 IntegrationHttpMethod. /// /// The HTTP method for the integration. /// /// public string IntegrationHttpMethod { get { return this._integrationHttpMethod; } set { this._integrationHttpMethod = value; } } // Check to see if IntegrationHttpMethod property is set internal bool IsSetIntegrationHttpMethod() { return this._integrationHttpMethod != null; } /// /// Gets and sets the property PassthroughBehavior. /// /// Specifies the pass-through behavior for incoming requests based on the Content-Type /// header in the request, and the available mapping templates specified as the requestTemplates /// property on the Integration resource. There are three valid values: WHEN_NO_MATCH, /// WHEN_NO_TEMPLATES, and NEVER. /// /// public string PassthroughBehavior { get { return this._passthroughBehavior; } set { this._passthroughBehavior = value; } } // Check to see if PassthroughBehavior property is set internal bool IsSetPassthroughBehavior() { return this._passthroughBehavior != null; } /// /// Gets and sets the property RequestParameters. /// /// A key-value map specifying request parameters that are passed from the method request /// to the back end. The key is an integration request parameter name and the associated /// value is a method request parameter value or static value that must be enclosed within /// single quotes and pre-encoded as required by the back end. The method request parameter /// value must match the pattern of method.request.{location}.{name}, where /// location is querystring, path, or header /// and name must be a valid and unique method request parameter name. /// /// public Dictionary RequestParameters { get { return this._requestParameters; } set { this._requestParameters = value; } } // Check to see if RequestParameters property is set internal bool IsSetRequestParameters() { return this._requestParameters != null && this._requestParameters.Count > 0; } /// /// Gets and sets the property RequestTemplates. /// /// Represents a map of Velocity templates that are applied on the request payload based /// on the value of the Content-Type header sent by the client. The content type value /// is the key in this map, and the template (as a String) is the value. /// /// public Dictionary RequestTemplates { get { return this._requestTemplates; } set { this._requestTemplates = value; } } // Check to see if RequestTemplates property is set internal bool IsSetRequestTemplates() { return this._requestTemplates != null && this._requestTemplates.Count > 0; } /// /// Gets and sets the property ResourceId. /// /// Specifies a put integration request's resource ID. /// /// [AWSProperty(Required=true)] public string ResourceId { get { return this._resourceId; } set { this._resourceId = value; } } // Check to see if ResourceId property is set internal bool IsSetResourceId() { return this._resourceId != null; } /// /// Gets and sets the property RestApiId. /// /// The string identifier of the associated RestApi. /// /// [AWSProperty(Required=true)] public string RestApiId { get { return this._restApiId; } set { this._restApiId = value; } } // Check to see if RestApiId property is set internal bool IsSetRestApiId() { return this._restApiId != null; } /// /// Gets and sets the property TimeoutInMillis. /// /// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds /// or 29 seconds. /// /// public int TimeoutInMillis { get { return this._timeoutInMillis.GetValueOrDefault(); } set { this._timeoutInMillis = value; } } // Check to see if TimeoutInMillis property is set internal bool IsSetTimeoutInMillis() { return this._timeoutInMillis.HasValue; } /// /// Gets and sets the property TlsConfig. /// public TlsConfig TlsConfig { get { return this._tlsConfig; } set { this._tlsConfig = value; } } // Check to see if TlsConfig property is set internal bool IsSetTlsConfig() { return this._tlsConfig != null; } /// /// Gets and sets the property Type. /// /// Specifies a put integration input's type. /// /// [AWSProperty(Required=true)] public IntegrationType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property Uri. /// /// Specifies Uniform Resource Identifier (URI) of the integration endpoint. For HTTP /// or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) /// URL according to the RFC-3986 specification, for either standard integration, where /// connectionType is not VPC_LINK, or private integration, /// where connectionType is VPC_LINK. For a private HTTP integration, /// the URI is not used for routing. For AWS or AWS_PROXY integrations, /// the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. /// Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name /// of the integrated Amazon Web Services service (e.g., s3); and {subdomain} is a designated /// subdomain supported by certain Amazon Web Services service for fast host-name lookup. /// action can be used for an Amazon Web Services service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... /// query string. The ensuing {service_api} refers to a supported action {name} plus any /// required input parameters. Alternatively, path can be used for an Amazon Web Services /// service path-based API. The ensuing service_api refers to the path to an Amazon Web /// Services service resource, including the region of the integrated Amazon Web Services /// service, if applicable. For example, for integration with the S3 API of GetObject, /// the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} /// or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}. /// /// public string Uri { get { return this._uri; } set { this._uri = value; } } // Check to see if Uri property is set internal bool IsSetUri() { return this._uri != null; } } }