/*
* 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 cloudfront-2020-05-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.CloudFront.Model
{
///
/// Container for the parameters to the TestFunction operation.
/// Tests a CloudFront function.
///
///
///
/// To test a function, you provide an event object that represents an HTTP request
/// or response that your CloudFront distribution could receive in production. CloudFront
/// runs the function, passing it the event object that you provided, and returns the
/// function's result (the modified event object) in the response. The response also contains
/// function logs and error messages, if any exist. For more information about testing
/// functions, see Testing
/// functions in the Amazon CloudFront Developer Guide.
///
///
///
/// To test a function, you provide the function's name and version (ETag
/// value) along with the event object. To get the function's name and version, you can
/// use ListFunctions
and DescribeFunction
.
///
///
public partial class TestFunctionRequest : AmazonCloudFrontRequest
{
private MemoryStream _eventObject;
private string _ifMatch;
private string _name;
private FunctionStage _stage;
///
/// Gets and sets the property EventObject.
///
/// The event object to test the function with. For more information about the structure
/// of the event object, see Testing
/// functions in the Amazon CloudFront Developer Guide.
///
///
[AWSProperty(Required=true, Sensitive=true, Max=40960)]
public MemoryStream EventObject
{
get { return this._eventObject; }
set { this._eventObject = value; }
}
// Check to see if EventObject property is set
internal bool IsSetEventObject()
{
return this._eventObject != null;
}
///
/// Gets and sets the property IfMatch.
///
/// The current version (ETag
value) of the function that you are testing,
/// which you can get using DescribeFunction
.
///
///
[AWSProperty(Required=true)]
public string IfMatch
{
get { return this._ifMatch; }
set { this._ifMatch = value; }
}
// Check to see if IfMatch property is set
internal bool IsSetIfMatch()
{
return this._ifMatch != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the function that you are testing.
///
///
[AWSProperty(Required=true)]
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 Stage.
///
/// The stage of the function that you are testing, either DEVELOPMENT
or
/// LIVE
.
///
///
public FunctionStage Stage
{
get { return this._stage; }
set { this._stage = value; }
}
// Check to see if Stage property is set
internal bool IsSetStage()
{
return this._stage != null;
}
}
}