/*
* 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 lambda-2015-03-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.Lambda.Model
{
///
/// Container for the parameters to the InvokeWithResponseStream operation.
/// Configure your Lambda functions to stream response payloads back to clients. For more
/// information, see Configuring
/// a Lambda function to stream responses.
///
///
///
/// This operation requires permission for the lambda:InvokeFunction
/// action. For details on how to set up permissions for cross-account invocations, see
/// Granting
/// function access to other accounts.
///
///
public partial class InvokeWithResponseStreamRequest : AmazonLambdaRequest
{
private string _clientContext;
private string _functionName;
private ResponseStreamingInvocationType _invocationType;
private LogType _logType;
private MemoryStream _payload;
private string _qualifier;
///
/// Gets and sets the property ClientContext.
///
/// Up to 3,583 bytes of base64-encoded data about the invoking client to pass to the
/// function in the context object.
///
///
public string ClientContext
{
get { return this._clientContext; }
set { this._clientContext = value; }
}
// Check to see if ClientContext property is set
internal bool IsSetClientContext()
{
return this._clientContext != null;
}
///
/// Gets and sets the property FunctionName.
///
/// The name of the Lambda function.
///
/// Name formats
///
///
-
///
/// Function name –
my-function
.
///
/// -
///
/// Function ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
.
///
/// -
///
/// Partial ARN –
123456789012:function:my-function
.
///
///
///
/// The length constraint applies only to the full ARN. If you specify only the function
/// name, it is limited to 64 characters in length.
///
///
[AWSProperty(Required=true, Min=1, Max=170)]
public string FunctionName
{
get { return this._functionName; }
set { this._functionName = value; }
}
// Check to see if FunctionName property is set
internal bool IsSetFunctionName()
{
return this._functionName != null;
}
///
/// Gets and sets the property InvocationType.
///
/// Use one of the following options:
///
/// -
///
///
RequestResponse
(default) – Invoke the function synchronously. Keep
/// the connection open until the function returns a response or times out. The API operation
/// response includes the function response and additional data.
///
/// -
///
///
DryRun
– Validate parameter values and verify that the IAM user or role
/// has permission to invoke the function.
///
///
///
public ResponseStreamingInvocationType InvocationType
{
get { return this._invocationType; }
set { this._invocationType = value; }
}
// Check to see if InvocationType property is set
internal bool IsSetInvocationType()
{
return this._invocationType != null;
}
///
/// Gets and sets the property LogType.
///
/// Set to Tail
to include the execution log in the response. Applies to
/// synchronously invoked functions only.
///
///
public LogType LogType
{
get { return this._logType; }
set { this._logType = value; }
}
// Check to see if LogType property is set
internal bool IsSetLogType()
{
return this._logType != null;
}
///
/// Gets and sets the property Payload.
///
/// The JSON that you want to provide to your Lambda function as input.
///
///
///
/// You can enter the JSON directly. For example, --payload '{ "key": "value" }'
.
/// You can also specify a file path. For example, --payload file://payload.json
.
///
///
[AWSProperty(Sensitive=true)]
public MemoryStream Payload
{
get { return this._payload; }
set { this._payload = value; }
}
// Check to see if Payload property is set
internal bool IsSetPayload()
{
return this._payload != null;
}
///
/// Gets and sets the property Qualifier.
///
/// The alias name.
///
///
[AWSProperty(Min=1, Max=128)]
public string Qualifier
{
get { return this._qualifier; }
set { this._qualifier = value; }
}
// Check to see if Qualifier property is set
internal bool IsSetQualifier()
{
return this._qualifier != null;
}
}
}