/*******************************************************************************
* Copyright 2012-2019 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.
* *****************************************************************************
*
* AWS Tools for Windows (TM) PowerShell (TM)
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Text;
using Amazon.PowerShell.Common;
using Amazon.Runtime;
using Amazon.AppMesh;
using Amazon.AppMesh.Model;
namespace Amazon.PowerShell.Cmdlets.AMSH
{
///
/// Creates a gateway route.
///
///
///
/// A gateway route is attached to a virtual gateway and routes traffic to an existing
/// virtual service. If a route matches a request, it can distribute traffic to a target
/// virtual service.
///
/// For more information about gateway routes, see Gateway
/// routes.
///
///
[Cmdlet("New", "AMSHGatewayRoute", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)]
[OutputType("Amazon.AppMesh.Model.GatewayRouteData")]
[AWSCmdlet("Calls the AWS App Mesh CreateGatewayRoute API operation.", Operation = new[] {"CreateGatewayRoute"}, SelectReturnType = typeof(Amazon.AppMesh.Model.CreateGatewayRouteResponse))]
[AWSCmdletOutput("Amazon.AppMesh.Model.GatewayRouteData or Amazon.AppMesh.Model.CreateGatewayRouteResponse",
"This cmdlet returns an Amazon.AppMesh.Model.GatewayRouteData object.",
"The service call response (type Amazon.AppMesh.Model.CreateGatewayRouteResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class NewAMSHGatewayRouteCmdlet : AmazonAppMeshClientCmdlet, IExecutor
{
#region Parameter Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix
///
///
/// The default prefix used to replace the incoming route prefix when rewritten.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.AppMesh.DefaultGatewayRouteRewrite")]
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix
///
///
/// The default prefix used to replace the incoming route prefix when rewritten.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("DefaultPrefix")]
[AWSConstantClassSource("Amazon.AppMesh.DefaultGatewayRouteRewrite")]
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname
///
///
/// The default target host name to write to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.AppMesh.DefaultGatewayRouteRewrite")]
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
#endregion
#region Parameter Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname
///
///
/// The default target host name to write to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.AppMesh.DefaultGatewayRouteRewrite")]
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname
///
///
/// The default target host name to write to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("DefaultTargetHostname")]
[AWSConstantClassSource("Amazon.AppMesh.DefaultGatewayRouteRewrite")]
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Match_Hostname_Exact
///
///
/// The exact host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_GrpcRoute_Match_Hostname_Exact { get; set; }
#endregion
#region Parameter Spec_Http2Route_Action_Rewrite_Path_Exact
///
///
/// The exact path to rewrite.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Rewrite_Http2_Path_Exact")]
public System.String Spec_Http2Route_Action_Rewrite_Path_Exact { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Hostname_Exact
///
///
/// The exact host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_Http2Route_Match_Hostname_Exact { get; set; }
#endregion
#region Parameter Path_Exact
///
///
/// The exact path to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Spec_Http2Route_Match_Path_Exact")]
public System.String Path_Exact { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Rewrite_Path_Exact
///
///
/// The exact path to rewrite.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Rewrite_Path_Exact")]
public System.String Spec_HttpRoute_Action_Rewrite_Path_Exact { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Hostname_Exact
///
///
/// The exact host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Hostname_Exact")]
public System.String Spec_HttpRoute_Match_Hostname_Exact { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Path_Exact
///
///
/// The exact path to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Match_Path_Exact")]
public System.String Spec_HttpRoute_Match_Path_Exact { get; set; }
#endregion
#region Parameter GatewayRouteName
///
///
/// The name to use for the gateway route.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)]
#else
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String GatewayRouteName { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Headers
///
///
/// The client request headers to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public Amazon.AppMesh.Model.HttpGatewayRouteHeader[] Spec_Http2Route_Match_Headers { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Headers
///
///
/// The client request headers to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Match_Headers")]
public Amazon.AppMesh.Model.HttpGatewayRouteHeader[] Spec_HttpRoute_Match_Headers { get; set; }
#endregion
#region Parameter MeshName
///
///
/// The name of the service mesh to create the gateway route in.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
#else
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String MeshName { get; set; }
#endregion
#region Parameter MeshOwner
///
///
/// The Amazon Web Services IAM account ID of the service mesh owner. If the account ID
/// is not your own, then the account that you specify must share the mesh with your account
/// before you can create the resource in the service mesh. For more information about
/// mesh sharing, see Working
/// with shared meshes.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String MeshOwner { get; set; }
#endregion
#region Parameter Match_Metadata
///
///
/// The gateway route metadata to be matched on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Spec_GrpcRoute_Match_Metadata")]
public Amazon.AppMesh.Model.GrpcGatewayRouteMetadata[] Match_Metadata { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Method
///
///
/// The method to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.AppMesh.HttpMethod")]
public Amazon.AppMesh.HttpMethod Spec_Http2Route_Match_Method { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Method
///
///
/// The method to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Match_Method")]
[AWSConstantClassSource("Amazon.AppMesh.HttpMethod")]
public Amazon.AppMesh.HttpMethod Spec_HttpRoute_Match_Method { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Action_Target_Port
///
///
/// The port number of the gateway route target.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_GrpcRoute_Action_Target_Port { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Match_Port
///
///
/// The port number to match from the request.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_GrpcRoute_Match_Port { get; set; }
#endregion
#region Parameter Spec_Http2Route_Action_Target_Port
///
///
/// The port number of the gateway route target.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_Http2Route_Action_Target_Port { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Port
///
///
/// The port number to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_Http2Route_Match_Port { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Target_Port
///
///
/// The port number of the gateway route target.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_HttpRoute_Action_Target_Port { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Port
///
///
/// The port number to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_HttpRoute_Match_Port { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Prefix
///
///
/// Specifies the path to match requests with. This parameter must always start with /
,
/// which by itself matches all requests to the virtual service name. You can also match
/// for path-based routing of requests. For example, if your virtual service name is my-service.local
/// and you want the route to match requests to my-service.local/metrics
,
/// your prefix should be /metrics
.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_Http2Route_Match_Prefix { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Prefix
///
///
/// Specifies the path to match requests with. This parameter must always start with /
,
/// which by itself matches all requests to the virtual service name. You can also match
/// for path-based routing of requests. For example, if your virtual service name is my-service.local
/// and you want the route to match requests to my-service.local/metrics
,
/// your prefix should be /metrics
.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_HttpRoute_Match_Prefix { get; set; }
#endregion
#region Parameter Spec_Priority
///
///
/// The ordering of the gateway routes spec.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Spec_Priority { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_QueryParameters
///
///
/// The query parameter to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public Amazon.AppMesh.Model.HttpQueryParameter[] Spec_Http2Route_Match_QueryParameters { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_QueryParameters
///
///
/// The query parameter to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Match_QueryParameters")]
public Amazon.AppMesh.Model.HttpQueryParameter[] Spec_HttpRoute_Match_QueryParameters { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Path_Regex
///
///
/// The regex used to match the path.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_Http2Route_Match_Path_Regex { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Path_Regex
///
///
/// The regex used to match the path.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Path_Regex")]
public System.String Spec_HttpRoute_Match_Path_Regex { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Match_ServiceName
///
///
/// The fully qualified domain name for the service to match from the request.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_GrpcRoute_Match_ServiceName { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Match_Hostname_Suffix
///
///
/// The specified ending characters of the host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_GrpcRoute_Match_Hostname_Suffix { get; set; }
#endregion
#region Parameter Spec_Http2Route_Match_Hostname_Suffix
///
///
/// The specified ending characters of the host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_Http2Route_Match_Hostname_Suffix { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Match_Hostname_Suffix
///
///
/// The specified ending characters of the host name to match on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Hostname_Suffix")]
public System.String Spec_HttpRoute_Match_Hostname_Suffix { get; set; }
#endregion
#region Parameter Tag
///
///
/// Optional metadata that you can apply to the gateway route to assist with categorization
/// and organization. Each tag consists of a key and an optional value, both of which
/// you define. Tag keys can have a maximum character length of 128 characters, and tag
/// values can have a maximum length of 256 characters.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Tags")]
public Amazon.AppMesh.Model.TagRef[] Tag { get; set; }
#endregion
#region Parameter Spec_Http2Route_Action_Rewrite_Prefix_Value
///
///
/// The value used to replace the incoming route prefix when rewritten.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Spec_Http2Route_Action_Rewrite_Prefix_Value { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Rewrite_Prefix_Value
///
///
/// The value used to replace the incoming route prefix when rewritten.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Prefix_Value")]
public System.String Spec_HttpRoute_Action_Rewrite_Prefix_Value { get; set; }
#endregion
#region Parameter VirtualGatewayName
///
///
/// The name of the virtual gateway to associate the gateway route with. If the virtual
/// gateway is in a shared mesh, then you must be the owner of the virtual gateway resource.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
#else
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String VirtualGatewayName { get; set; }
#endregion
#region Parameter Spec_GrpcRoute_Action_Target_VirtualService
///
///
/// The name of the virtual service that traffic is routed to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Spec_GrpcRoute_Action_Target_VirtualService_VirtualServiceName")]
public System.String Spec_GrpcRoute_Action_Target_VirtualService { get; set; }
#endregion
#region Parameter Spec_Http2Route_Action_Target_VirtualService
///
///
/// The name of the virtual service that traffic is routed to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Spec_Http2Route_Action_Target_VirtualService_VirtualServiceName")]
public System.String Spec_Http2Route_Action_Target_VirtualService { get; set; }
#endregion
#region Parameter Spec_HttpRoute_Action_Target_VirtualService
///
///
/// The name of the virtual service that traffic is routed to.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Spec_HttpRoute_Action_Target_VirtualService_VirtualServiceName")]
public System.String Spec_HttpRoute_Action_Target_VirtualService { get; set; }
#endregion
#region Parameter ClientToken
///
///
/// Unique, case-sensitive identifier that you provide to ensure the idempotency of the
/// request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String ClientToken { get; set; }
#endregion
#region Parameter Select
///
/// Use the -Select parameter to control the cmdlet output. The default value is 'GatewayRoute'.
/// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.AppMesh.Model.CreateGatewayRouteResponse).
/// Specifying the name of a property of type Amazon.AppMesh.Model.CreateGatewayRouteResponse will result in that property being returned.
/// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public string Select { get; set; } = "GatewayRoute";
#endregion
#region Parameter PassThru
///
/// Changes the cmdlet behavior to return the value passed to the GatewayRouteName parameter.
/// The -PassThru parameter is deprecated, use -Select '^GatewayRouteName' instead. This parameter will be removed in a future version.
///
[System.Obsolete("The -PassThru parameter is deprecated, use -Select '^GatewayRouteName' instead. This parameter will be removed in a future version.")]
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter PassThru { get; set; }
#endregion
#region Parameter Force
///
/// This parameter overrides confirmation prompts to force
/// the cmdlet to continue its operation. This parameter should always
/// be used with caution.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter Force { get; set; }
#endregion
protected override void ProcessRecord()
{
this._AWSSignerType = "v4";
base.ProcessRecord();
var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.GatewayRouteName), MyInvocation.BoundParameters);
if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-AMSHGatewayRoute (CreateGatewayRoute)"))
{
return;
}
var context = new CmdletContext();
// allow for manipulation of parameters prior to loading into context
PreExecutionContextLoad(context);
#pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute
if (ParameterWasBound(nameof(this.Select)))
{
context.Select = CreateSelectDelegate(Select) ??
throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select));
if (this.PassThru.IsPresent)
{
throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select));
}
}
else if (this.PassThru.IsPresent)
{
context.Select = (response, cmdlet) => this.GatewayRouteName;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
context.ClientToken = this.ClientToken;
context.GatewayRouteName = this.GatewayRouteName;
#if MODULAR
if (this.GatewayRouteName == null && ParameterWasBound(nameof(this.GatewayRouteName)))
{
WriteWarning("You are passing $null as a value for parameter GatewayRouteName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
context.MeshName = this.MeshName;
#if MODULAR
if (this.MeshName == null && ParameterWasBound(nameof(this.MeshName)))
{
WriteWarning("You are passing $null as a value for parameter MeshName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
context.MeshOwner = this.MeshOwner;
context.Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname = this.Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
context.Spec_GrpcRoute_Action_Target_Port = this.Spec_GrpcRoute_Action_Target_Port;
context.Spec_GrpcRoute_Action_Target_VirtualService = this.Spec_GrpcRoute_Action_Target_VirtualService;
context.Spec_GrpcRoute_Match_Hostname_Exact = this.Spec_GrpcRoute_Match_Hostname_Exact;
context.Spec_GrpcRoute_Match_Hostname_Suffix = this.Spec_GrpcRoute_Match_Hostname_Suffix;
if (this.Match_Metadata != null)
{
context.Match_Metadata = new List(this.Match_Metadata);
}
context.Spec_GrpcRoute_Match_Port = this.Spec_GrpcRoute_Match_Port;
context.Spec_GrpcRoute_Match_ServiceName = this.Spec_GrpcRoute_Match_ServiceName;
context.Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname = this.Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname;
context.Spec_Http2Route_Action_Rewrite_Path_Exact = this.Spec_Http2Route_Action_Rewrite_Path_Exact;
context.Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix = this.Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix;
context.Spec_Http2Route_Action_Rewrite_Prefix_Value = this.Spec_Http2Route_Action_Rewrite_Prefix_Value;
context.Spec_Http2Route_Action_Target_Port = this.Spec_Http2Route_Action_Target_Port;
context.Spec_Http2Route_Action_Target_VirtualService = this.Spec_Http2Route_Action_Target_VirtualService;
if (this.Spec_Http2Route_Match_Headers != null)
{
context.Spec_Http2Route_Match_Headers = new List(this.Spec_Http2Route_Match_Headers);
}
context.Spec_Http2Route_Match_Hostname_Exact = this.Spec_Http2Route_Match_Hostname_Exact;
context.Spec_Http2Route_Match_Hostname_Suffix = this.Spec_Http2Route_Match_Hostname_Suffix;
context.Spec_Http2Route_Match_Method = this.Spec_Http2Route_Match_Method;
context.Path_Exact = this.Path_Exact;
context.Spec_Http2Route_Match_Path_Regex = this.Spec_Http2Route_Match_Path_Regex;
context.Spec_Http2Route_Match_Port = this.Spec_Http2Route_Match_Port;
context.Spec_Http2Route_Match_Prefix = this.Spec_Http2Route_Match_Prefix;
if (this.Spec_Http2Route_Match_QueryParameters != null)
{
context.Spec_Http2Route_Match_QueryParameters = new List(this.Spec_Http2Route_Match_QueryParameters);
}
context.Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname = this.Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
context.Spec_HttpRoute_Action_Rewrite_Path_Exact = this.Spec_HttpRoute_Action_Rewrite_Path_Exact;
context.Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix = this.Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix;
context.Spec_HttpRoute_Action_Rewrite_Prefix_Value = this.Spec_HttpRoute_Action_Rewrite_Prefix_Value;
context.Spec_HttpRoute_Action_Target_Port = this.Spec_HttpRoute_Action_Target_Port;
context.Spec_HttpRoute_Action_Target_VirtualService = this.Spec_HttpRoute_Action_Target_VirtualService;
if (this.Spec_HttpRoute_Match_Headers != null)
{
context.Spec_HttpRoute_Match_Headers = new List(this.Spec_HttpRoute_Match_Headers);
}
context.Spec_HttpRoute_Match_Hostname_Exact = this.Spec_HttpRoute_Match_Hostname_Exact;
context.Spec_HttpRoute_Match_Hostname_Suffix = this.Spec_HttpRoute_Match_Hostname_Suffix;
context.Spec_HttpRoute_Match_Method = this.Spec_HttpRoute_Match_Method;
context.Spec_HttpRoute_Match_Path_Exact = this.Spec_HttpRoute_Match_Path_Exact;
context.Spec_HttpRoute_Match_Path_Regex = this.Spec_HttpRoute_Match_Path_Regex;
context.Spec_HttpRoute_Match_Port = this.Spec_HttpRoute_Match_Port;
context.Spec_HttpRoute_Match_Prefix = this.Spec_HttpRoute_Match_Prefix;
if (this.Spec_HttpRoute_Match_QueryParameters != null)
{
context.Spec_HttpRoute_Match_QueryParameters = new List(this.Spec_HttpRoute_Match_QueryParameters);
}
context.Spec_Priority = this.Spec_Priority;
if (this.Tag != null)
{
context.Tag = new List(this.Tag);
}
context.VirtualGatewayName = this.VirtualGatewayName;
#if MODULAR
if (this.VirtualGatewayName == null && ParameterWasBound(nameof(this.VirtualGatewayName)))
{
WriteWarning("You are passing $null as a value for parameter VirtualGatewayName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
// allow further manipulation of loaded context prior to processing
PostExecutionContextLoad(context);
var output = Execute(context) as CmdletOutput;
ProcessOutput(output);
}
#region IExecutor Members
public object Execute(ExecutorContext context)
{
var cmdletContext = context as CmdletContext;
// create request
var request = new Amazon.AppMesh.Model.CreateGatewayRouteRequest();
if (cmdletContext.ClientToken != null)
{
request.ClientToken = cmdletContext.ClientToken;
}
if (cmdletContext.GatewayRouteName != null)
{
request.GatewayRouteName = cmdletContext.GatewayRouteName;
}
if (cmdletContext.MeshName != null)
{
request.MeshName = cmdletContext.MeshName;
}
if (cmdletContext.MeshOwner != null)
{
request.MeshOwner = cmdletContext.MeshOwner;
}
// populate Spec
var requestSpecIsNull = true;
request.Spec = new Amazon.AppMesh.Model.GatewayRouteSpec();
System.Int32? requestSpec_spec_Priority = null;
if (cmdletContext.Spec_Priority != null)
{
requestSpec_spec_Priority = cmdletContext.Spec_Priority.Value;
}
if (requestSpec_spec_Priority != null)
{
request.Spec.Priority = requestSpec_spec_Priority.Value;
requestSpecIsNull = false;
}
Amazon.AppMesh.Model.GrpcGatewayRoute requestSpec_spec_GrpcRoute = null;
// populate GrpcRoute
var requestSpec_spec_GrpcRouteIsNull = true;
requestSpec_spec_GrpcRoute = new Amazon.AppMesh.Model.GrpcGatewayRoute();
Amazon.AppMesh.Model.GrpcGatewayRouteAction requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action = null;
// populate Action
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_ActionIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action = new Amazon.AppMesh.Model.GrpcGatewayRouteAction();
Amazon.AppMesh.Model.GrpcGatewayRouteRewrite requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite = null;
// populate Rewrite
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_RewriteIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite = new Amazon.AppMesh.Model.GrpcGatewayRouteRewrite();
Amazon.AppMesh.Model.GatewayRouteHostnameRewrite requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname = null;
// populate Hostname
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_HostnameIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameRewrite();
Amazon.AppMesh.DefaultGatewayRouteRewrite requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname_spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname = null;
if (cmdletContext.Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname_spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname = cmdletContext.Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname_spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname.DefaultTargetHostname = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname_spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_HostnameIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_HostnameIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite.Hostname = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite_spec_GrpcRoute_Action_Rewrite_Hostname;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_RewriteIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_RewriteIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action.Rewrite = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Rewrite;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_ActionIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteTarget requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target = null;
// populate Target
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_TargetIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target = new Amazon.AppMesh.Model.GatewayRouteTarget();
System.Int32? requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_Port = null;
if (cmdletContext.Spec_GrpcRoute_Action_Target_Port != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_Port = cmdletContext.Spec_GrpcRoute_Action_Target_Port.Value;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_Port != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target.Port = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_Port.Value;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_TargetIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteVirtualService requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService = null;
// populate VirtualService
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualServiceIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService = new Amazon.AppMesh.Model.GatewayRouteVirtualService();
System.String requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService_spec_GrpcRoute_Action_Target_VirtualService = null;
if (cmdletContext.Spec_GrpcRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService_spec_GrpcRoute_Action_Target_VirtualService = cmdletContext.Spec_GrpcRoute_Action_Target_VirtualService;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService_spec_GrpcRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService.VirtualServiceName = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService_spec_GrpcRoute_Action_Target_VirtualService;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualServiceIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualServiceIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target.VirtualService = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target_spec_GrpcRoute_Action_Target_VirtualService;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_TargetIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_TargetIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action.Target = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action_spec_GrpcRoute_Action_Target;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_ActionIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_ActionIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action != null)
{
requestSpec_spec_GrpcRoute.Action = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Action;
requestSpec_spec_GrpcRouteIsNull = false;
}
Amazon.AppMesh.Model.GrpcGatewayRouteMatch requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match = null;
// populate Match
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match = new Amazon.AppMesh.Model.GrpcGatewayRouteMatch();
List requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_match_Metadata = null;
if (cmdletContext.Match_Metadata != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_match_Metadata = cmdletContext.Match_Metadata;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_match_Metadata != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match.Metadata = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_match_Metadata;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull = false;
}
System.Int32? requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Port = null;
if (cmdletContext.Spec_GrpcRoute_Match_Port != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Port = cmdletContext.Spec_GrpcRoute_Match_Port.Value;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Port != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match.Port = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Port.Value;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull = false;
}
System.String requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_ServiceName = null;
if (cmdletContext.Spec_GrpcRoute_Match_ServiceName != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_ServiceName = cmdletContext.Spec_GrpcRoute_Match_ServiceName;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_ServiceName != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match.ServiceName = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_ServiceName;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteHostnameMatch requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname = null;
// populate Hostname
var requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_HostnameIsNull = true;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameMatch();
System.String requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Exact = null;
if (cmdletContext.Spec_GrpcRoute_Match_Hostname_Exact != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Exact = cmdletContext.Spec_GrpcRoute_Match_Hostname_Exact;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Exact != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname.Exact = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Exact;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_HostnameIsNull = false;
}
System.String requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Suffix = null;
if (cmdletContext.Spec_GrpcRoute_Match_Hostname_Suffix != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Suffix = cmdletContext.Spec_GrpcRoute_Match_Hostname_Suffix;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Suffix != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname.Suffix = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname_spec_GrpcRoute_Match_Hostname_Suffix;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_HostnameIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_HostnameIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname != null)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match.Hostname = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match_spec_GrpcRoute_Match_Hostname;
requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match should be set to null
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_MatchIsNull)
{
requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match = null;
}
if (requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match != null)
{
requestSpec_spec_GrpcRoute.Match = requestSpec_spec_GrpcRoute_spec_GrpcRoute_Match;
requestSpec_spec_GrpcRouteIsNull = false;
}
// determine if requestSpec_spec_GrpcRoute should be set to null
if (requestSpec_spec_GrpcRouteIsNull)
{
requestSpec_spec_GrpcRoute = null;
}
if (requestSpec_spec_GrpcRoute != null)
{
request.Spec.GrpcRoute = requestSpec_spec_GrpcRoute;
requestSpecIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoute requestSpec_spec_Http2Route = null;
// populate Http2Route
var requestSpec_spec_Http2RouteIsNull = true;
requestSpec_spec_Http2Route = new Amazon.AppMesh.Model.HttpGatewayRoute();
Amazon.AppMesh.Model.HttpGatewayRouteAction requestSpec_spec_Http2Route_spec_Http2Route_Action = null;
// populate Action
var requestSpec_spec_Http2Route_spec_Http2Route_ActionIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action = new Amazon.AppMesh.Model.HttpGatewayRouteAction();
Amazon.AppMesh.Model.GatewayRouteTarget requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target = null;
// populate Target
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_TargetIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target = new Amazon.AppMesh.Model.GatewayRouteTarget();
System.Int32? requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_Port = null;
if (cmdletContext.Spec_Http2Route_Action_Target_Port != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_Port = cmdletContext.Spec_Http2Route_Action_Target_Port.Value;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_Port != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target.Port = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_Port.Value;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_TargetIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteVirtualService requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService = null;
// populate VirtualService
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualServiceIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService = new Amazon.AppMesh.Model.GatewayRouteVirtualService();
System.String requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService_spec_Http2Route_Action_Target_VirtualService = null;
if (cmdletContext.Spec_Http2Route_Action_Target_VirtualService != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService_spec_Http2Route_Action_Target_VirtualService = cmdletContext.Spec_Http2Route_Action_Target_VirtualService;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService_spec_Http2Route_Action_Target_VirtualService != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService.VirtualServiceName = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService_spec_Http2Route_Action_Target_VirtualService;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualServiceIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualServiceIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target.VirtualService = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target_spec_Http2Route_Action_Target_VirtualService;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_TargetIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_TargetIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action.Target = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Target;
requestSpec_spec_Http2Route_spec_Http2Route_ActionIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRouteRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite = null;
// populate Rewrite
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_RewriteIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite = new Amazon.AppMesh.Model.HttpGatewayRouteRewrite();
Amazon.AppMesh.Model.GatewayRouteHostnameRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname = null;
// populate Hostname
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_HostnameIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameRewrite();
Amazon.AppMesh.DefaultGatewayRouteRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname_spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname = null;
if (cmdletContext.Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname_spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname = cmdletContext.Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname_spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname.DefaultTargetHostname = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname_spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_HostnameIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_HostnameIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite.Hostname = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Hostname;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_RewriteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoutePathRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path = null;
// populate Path
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PathIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path = new Amazon.AppMesh.Model.HttpGatewayRoutePathRewrite();
System.String requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path_spec_Http2Route_Action_Rewrite_Path_Exact = null;
if (cmdletContext.Spec_Http2Route_Action_Rewrite_Path_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path_spec_Http2Route_Action_Rewrite_Path_Exact = cmdletContext.Spec_Http2Route_Action_Rewrite_Path_Exact;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path_spec_Http2Route_Action_Rewrite_Path_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path.Exact = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path_spec_Http2Route_Action_Rewrite_Path_Exact;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PathIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PathIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite.Path = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Path;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_RewriteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoutePrefixRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix = null;
// populate Prefix
var requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PrefixIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix = new Amazon.AppMesh.Model.HttpGatewayRoutePrefixRewrite();
Amazon.AppMesh.DefaultGatewayRouteRewrite requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix = null;
if (cmdletContext.Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix = cmdletContext.Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix.DefaultPrefix = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PrefixIsNull = false;
}
System.String requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_Value = null;
if (cmdletContext.Spec_Http2Route_Action_Rewrite_Prefix_Value != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_Value = cmdletContext.Spec_Http2Route_Action_Rewrite_Prefix_Value;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_Value != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix.Value = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix_spec_Http2Route_Action_Rewrite_Prefix_Value;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PrefixIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_PrefixIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite.Prefix = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite_spec_Http2Route_Action_Rewrite_Prefix;
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_RewriteIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_RewriteIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action.Rewrite = requestSpec_spec_Http2Route_spec_Http2Route_Action_spec_Http2Route_Action_Rewrite;
requestSpec_spec_Http2Route_spec_Http2Route_ActionIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Action should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_ActionIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Action = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Action != null)
{
requestSpec_spec_Http2Route.Action = requestSpec_spec_Http2Route_spec_Http2Route_Action;
requestSpec_spec_Http2RouteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRouteMatch requestSpec_spec_Http2Route_spec_Http2Route_Match = null;
// populate Match
var requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Match = new Amazon.AppMesh.Model.HttpGatewayRouteMatch();
List requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Headers = null;
if (cmdletContext.Spec_Http2Route_Match_Headers != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Headers = cmdletContext.Spec_Http2Route_Match_Headers;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Headers != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Headers = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Headers;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
Amazon.AppMesh.HttpMethod requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Method = null;
if (cmdletContext.Spec_Http2Route_Match_Method != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Method = cmdletContext.Spec_Http2Route_Match_Method;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Method != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Method = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Method;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
System.Int32? requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Port = null;
if (cmdletContext.Spec_Http2Route_Match_Port != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Port = cmdletContext.Spec_Http2Route_Match_Port.Value;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Port != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Port = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Port.Value;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
System.String requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Prefix = null;
if (cmdletContext.Spec_Http2Route_Match_Prefix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Prefix = cmdletContext.Spec_Http2Route_Match_Prefix;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Prefix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Prefix = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Prefix;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
List requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_QueryParameters = null;
if (cmdletContext.Spec_Http2Route_Match_QueryParameters != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_QueryParameters = cmdletContext.Spec_Http2Route_Match_QueryParameters;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_QueryParameters != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.QueryParameters = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_QueryParameters;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteHostnameMatch requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname = null;
// populate Hostname
var requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_HostnameIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameMatch();
System.String requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Exact = null;
if (cmdletContext.Spec_Http2Route_Match_Hostname_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Exact = cmdletContext.Spec_Http2Route_Match_Hostname_Exact;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname.Exact = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Exact;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_HostnameIsNull = false;
}
System.String requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Suffix = null;
if (cmdletContext.Spec_Http2Route_Match_Hostname_Suffix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Suffix = cmdletContext.Spec_Http2Route_Match_Hostname_Suffix;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Suffix != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname.Suffix = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname_spec_Http2Route_Match_Hostname_Suffix;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_HostnameIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_HostnameIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Hostname = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Hostname;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
Amazon.AppMesh.Model.HttpPathMatch requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path = null;
// populate Path
var requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_PathIsNull = true;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path = new Amazon.AppMesh.Model.HttpPathMatch();
System.String requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_path_Exact = null;
if (cmdletContext.Path_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_path_Exact = cmdletContext.Path_Exact;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_path_Exact != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path.Exact = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_path_Exact;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_PathIsNull = false;
}
System.String requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_spec_Http2Route_Match_Path_Regex = null;
if (cmdletContext.Spec_Http2Route_Match_Path_Regex != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_spec_Http2Route_Match_Path_Regex = cmdletContext.Spec_Http2Route_Match_Path_Regex;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_spec_Http2Route_Match_Path_Regex != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path.Regex = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path_spec_Http2Route_Match_Path_Regex;
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_PathIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_PathIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path != null)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match.Path = requestSpec_spec_Http2Route_spec_Http2Route_Match_spec_Http2Route_Match_Path;
requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull = false;
}
// determine if requestSpec_spec_Http2Route_spec_Http2Route_Match should be set to null
if (requestSpec_spec_Http2Route_spec_Http2Route_MatchIsNull)
{
requestSpec_spec_Http2Route_spec_Http2Route_Match = null;
}
if (requestSpec_spec_Http2Route_spec_Http2Route_Match != null)
{
requestSpec_spec_Http2Route.Match = requestSpec_spec_Http2Route_spec_Http2Route_Match;
requestSpec_spec_Http2RouteIsNull = false;
}
// determine if requestSpec_spec_Http2Route should be set to null
if (requestSpec_spec_Http2RouteIsNull)
{
requestSpec_spec_Http2Route = null;
}
if (requestSpec_spec_Http2Route != null)
{
request.Spec.Http2Route = requestSpec_spec_Http2Route;
requestSpecIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoute requestSpec_spec_HttpRoute = null;
// populate HttpRoute
var requestSpec_spec_HttpRouteIsNull = true;
requestSpec_spec_HttpRoute = new Amazon.AppMesh.Model.HttpGatewayRoute();
Amazon.AppMesh.Model.HttpGatewayRouteAction requestSpec_spec_HttpRoute_spec_HttpRoute_Action = null;
// populate Action
var requestSpec_spec_HttpRoute_spec_HttpRoute_ActionIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action = new Amazon.AppMesh.Model.HttpGatewayRouteAction();
Amazon.AppMesh.Model.GatewayRouteTarget requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target = null;
// populate Target
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_TargetIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target = new Amazon.AppMesh.Model.GatewayRouteTarget();
System.Int32? requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_Port = null;
if (cmdletContext.Spec_HttpRoute_Action_Target_Port != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_Port = cmdletContext.Spec_HttpRoute_Action_Target_Port.Value;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_Port != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target.Port = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_Port.Value;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_TargetIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteVirtualService requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService = null;
// populate VirtualService
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualServiceIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService = new Amazon.AppMesh.Model.GatewayRouteVirtualService();
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService_spec_HttpRoute_Action_Target_VirtualService = null;
if (cmdletContext.Spec_HttpRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService_spec_HttpRoute_Action_Target_VirtualService = cmdletContext.Spec_HttpRoute_Action_Target_VirtualService;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService_spec_HttpRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService.VirtualServiceName = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService_spec_HttpRoute_Action_Target_VirtualService;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualServiceIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualServiceIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target.VirtualService = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target_spec_HttpRoute_Action_Target_VirtualService;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_TargetIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_TargetIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action.Target = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Target;
requestSpec_spec_HttpRoute_spec_HttpRoute_ActionIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRouteRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite = null;
// populate Rewrite
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_RewriteIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite = new Amazon.AppMesh.Model.HttpGatewayRouteRewrite();
Amazon.AppMesh.Model.GatewayRouteHostnameRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname = null;
// populate Hostname
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_HostnameIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameRewrite();
Amazon.AppMesh.DefaultGatewayRouteRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname_spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname = null;
if (cmdletContext.Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname_spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname = cmdletContext.Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname_spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname.DefaultTargetHostname = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname_spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_HostnameIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_HostnameIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite.Hostname = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Hostname;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_RewriteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoutePathRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path = null;
// populate Path
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PathIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path = new Amazon.AppMesh.Model.HttpGatewayRoutePathRewrite();
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path_spec_HttpRoute_Action_Rewrite_Path_Exact = null;
if (cmdletContext.Spec_HttpRoute_Action_Rewrite_Path_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path_spec_HttpRoute_Action_Rewrite_Path_Exact = cmdletContext.Spec_HttpRoute_Action_Rewrite_Path_Exact;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path_spec_HttpRoute_Action_Rewrite_Path_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path.Exact = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path_spec_HttpRoute_Action_Rewrite_Path_Exact;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PathIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PathIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite.Path = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Path;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_RewriteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRoutePrefixRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix = null;
// populate Prefix
var requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PrefixIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix = new Amazon.AppMesh.Model.HttpGatewayRoutePrefixRewrite();
Amazon.AppMesh.DefaultGatewayRouteRewrite requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix = null;
if (cmdletContext.Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix = cmdletContext.Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix.DefaultPrefix = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PrefixIsNull = false;
}
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_Value = null;
if (cmdletContext.Spec_HttpRoute_Action_Rewrite_Prefix_Value != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_Value = cmdletContext.Spec_HttpRoute_Action_Rewrite_Prefix_Value;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_Value != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix.Value = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix_spec_HttpRoute_Action_Rewrite_Prefix_Value;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PrefixIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_PrefixIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite.Prefix = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite_spec_HttpRoute_Action_Rewrite_Prefix;
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_RewriteIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_RewriteIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action.Rewrite = requestSpec_spec_HttpRoute_spec_HttpRoute_Action_spec_HttpRoute_Action_Rewrite;
requestSpec_spec_HttpRoute_spec_HttpRoute_ActionIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Action should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_ActionIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Action = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Action != null)
{
requestSpec_spec_HttpRoute.Action = requestSpec_spec_HttpRoute_spec_HttpRoute_Action;
requestSpec_spec_HttpRouteIsNull = false;
}
Amazon.AppMesh.Model.HttpGatewayRouteMatch requestSpec_spec_HttpRoute_spec_HttpRoute_Match = null;
// populate Match
var requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match = new Amazon.AppMesh.Model.HttpGatewayRouteMatch();
List requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Headers = null;
if (cmdletContext.Spec_HttpRoute_Match_Headers != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Headers = cmdletContext.Spec_HttpRoute_Match_Headers;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Headers != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Headers = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Headers;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
Amazon.AppMesh.HttpMethod requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Method = null;
if (cmdletContext.Spec_HttpRoute_Match_Method != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Method = cmdletContext.Spec_HttpRoute_Match_Method;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Method != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Method = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Method;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
System.Int32? requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Port = null;
if (cmdletContext.Spec_HttpRoute_Match_Port != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Port = cmdletContext.Spec_HttpRoute_Match_Port.Value;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Port != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Port = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Port.Value;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Prefix = null;
if (cmdletContext.Spec_HttpRoute_Match_Prefix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Prefix = cmdletContext.Spec_HttpRoute_Match_Prefix;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Prefix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Prefix = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Prefix;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
List requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_QueryParameters = null;
if (cmdletContext.Spec_HttpRoute_Match_QueryParameters != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_QueryParameters = cmdletContext.Spec_HttpRoute_Match_QueryParameters;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_QueryParameters != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.QueryParameters = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_QueryParameters;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
Amazon.AppMesh.Model.GatewayRouteHostnameMatch requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname = null;
// populate Hostname
var requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_HostnameIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname = new Amazon.AppMesh.Model.GatewayRouteHostnameMatch();
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Exact = null;
if (cmdletContext.Spec_HttpRoute_Match_Hostname_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Exact = cmdletContext.Spec_HttpRoute_Match_Hostname_Exact;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname.Exact = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Exact;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_HostnameIsNull = false;
}
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Suffix = null;
if (cmdletContext.Spec_HttpRoute_Match_Hostname_Suffix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Suffix = cmdletContext.Spec_HttpRoute_Match_Hostname_Suffix;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Suffix != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname.Suffix = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname_spec_HttpRoute_Match_Hostname_Suffix;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_HostnameIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_HostnameIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Hostname = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Hostname;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
Amazon.AppMesh.Model.HttpPathMatch requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path = null;
// populate Path
var requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_PathIsNull = true;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path = new Amazon.AppMesh.Model.HttpPathMatch();
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Exact = null;
if (cmdletContext.Spec_HttpRoute_Match_Path_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Exact = cmdletContext.Spec_HttpRoute_Match_Path_Exact;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Exact != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path.Exact = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Exact;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_PathIsNull = false;
}
System.String requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Regex = null;
if (cmdletContext.Spec_HttpRoute_Match_Path_Regex != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Regex = cmdletContext.Spec_HttpRoute_Match_Path_Regex;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Regex != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path.Regex = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path_spec_HttpRoute_Match_Path_Regex;
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_PathIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_PathIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path != null)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match.Path = requestSpec_spec_HttpRoute_spec_HttpRoute_Match_spec_HttpRoute_Match_Path;
requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull = false;
}
// determine if requestSpec_spec_HttpRoute_spec_HttpRoute_Match should be set to null
if (requestSpec_spec_HttpRoute_spec_HttpRoute_MatchIsNull)
{
requestSpec_spec_HttpRoute_spec_HttpRoute_Match = null;
}
if (requestSpec_spec_HttpRoute_spec_HttpRoute_Match != null)
{
requestSpec_spec_HttpRoute.Match = requestSpec_spec_HttpRoute_spec_HttpRoute_Match;
requestSpec_spec_HttpRouteIsNull = false;
}
// determine if requestSpec_spec_HttpRoute should be set to null
if (requestSpec_spec_HttpRouteIsNull)
{
requestSpec_spec_HttpRoute = null;
}
if (requestSpec_spec_HttpRoute != null)
{
request.Spec.HttpRoute = requestSpec_spec_HttpRoute;
requestSpecIsNull = false;
}
// determine if request.Spec should be set to null
if (requestSpecIsNull)
{
request.Spec = null;
}
if (cmdletContext.Tag != null)
{
request.Tags = cmdletContext.Tag;
}
if (cmdletContext.VirtualGatewayName != null)
{
request.VirtualGatewayName = cmdletContext.VirtualGatewayName;
}
CmdletOutput output;
// issue call
var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);
try
{
var response = CallAWSServiceOperation(client, request);
object pipelineOutput = null;
pipelineOutput = cmdletContext.Select(response, this);
output = new CmdletOutput
{
PipelineOutput = pipelineOutput,
ServiceResponse = response
};
}
catch (Exception e)
{
output = new CmdletOutput { ErrorResponse = e };
}
return output;
}
public ExecutorContext CreateContext()
{
return new CmdletContext();
}
#endregion
#region AWS Service Operation Call
private Amazon.AppMesh.Model.CreateGatewayRouteResponse CallAWSServiceOperation(IAmazonAppMesh client, Amazon.AppMesh.Model.CreateGatewayRouteRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS App Mesh", "CreateGatewayRoute");
try
{
#if DESKTOP
return client.CreateGatewayRoute(request);
#elif CORECLR
return client.CreateGatewayRouteAsync(request).GetAwaiter().GetResult();
#else
#error "Unknown build edition"
#endif
}
catch (AmazonServiceException exc)
{
var webException = exc.InnerException as System.Net.WebException;
if (webException != null)
{
throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
}
throw;
}
}
#endregion
internal partial class CmdletContext : ExecutorContext
{
public System.String ClientToken { get; set; }
public System.String GatewayRouteName { get; set; }
public System.String MeshName { get; set; }
public System.String MeshOwner { get; set; }
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_GrpcRoute_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
public System.Int32? Spec_GrpcRoute_Action_Target_Port { get; set; }
public System.String Spec_GrpcRoute_Action_Target_VirtualService { get; set; }
public System.String Spec_GrpcRoute_Match_Hostname_Exact { get; set; }
public System.String Spec_GrpcRoute_Match_Hostname_Suffix { get; set; }
public List Match_Metadata { get; set; }
public System.Int32? Spec_GrpcRoute_Match_Port { get; set; }
public System.String Spec_GrpcRoute_Match_ServiceName { get; set; }
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_Http2Route_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
public System.String Spec_Http2Route_Action_Rewrite_Path_Exact { get; set; }
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_Http2Route_Action_Rewrite_Prefix_DefaultPrefix { get; set; }
public System.String Spec_Http2Route_Action_Rewrite_Prefix_Value { get; set; }
public System.Int32? Spec_Http2Route_Action_Target_Port { get; set; }
public System.String Spec_Http2Route_Action_Target_VirtualService { get; set; }
public List Spec_Http2Route_Match_Headers { get; set; }
public System.String Spec_Http2Route_Match_Hostname_Exact { get; set; }
public System.String Spec_Http2Route_Match_Hostname_Suffix { get; set; }
public Amazon.AppMesh.HttpMethod Spec_Http2Route_Match_Method { get; set; }
public System.String Path_Exact { get; set; }
public System.String Spec_Http2Route_Match_Path_Regex { get; set; }
public System.Int32? Spec_Http2Route_Match_Port { get; set; }
public System.String Spec_Http2Route_Match_Prefix { get; set; }
public List Spec_Http2Route_Match_QueryParameters { get; set; }
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_HttpRoute_Action_Rewrite_Hostname_DefaultTargetHostname { get; set; }
public System.String Spec_HttpRoute_Action_Rewrite_Path_Exact { get; set; }
public Amazon.AppMesh.DefaultGatewayRouteRewrite Spec_HttpRoute_Action_Rewrite_Prefix_DefaultPrefix { get; set; }
public System.String Spec_HttpRoute_Action_Rewrite_Prefix_Value { get; set; }
public System.Int32? Spec_HttpRoute_Action_Target_Port { get; set; }
public System.String Spec_HttpRoute_Action_Target_VirtualService { get; set; }
public List Spec_HttpRoute_Match_Headers { get; set; }
public System.String Spec_HttpRoute_Match_Hostname_Exact { get; set; }
public System.String Spec_HttpRoute_Match_Hostname_Suffix { get; set; }
public Amazon.AppMesh.HttpMethod Spec_HttpRoute_Match_Method { get; set; }
public System.String Spec_HttpRoute_Match_Path_Exact { get; set; }
public System.String Spec_HttpRoute_Match_Path_Regex { get; set; }
public System.Int32? Spec_HttpRoute_Match_Port { get; set; }
public System.String Spec_HttpRoute_Match_Prefix { get; set; }
public List Spec_HttpRoute_Match_QueryParameters { get; set; }
public System.Int32? Spec_Priority { get; set; }
public List Tag { get; set; }
public System.String VirtualGatewayName { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response.GatewayRoute;
}
}
}