/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the appmesh-2019-01-25.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.AppMesh.Model { /// /// Container for the parameters to the CreateVirtualNode operation. /// Creates a virtual node within a service mesh. /// /// /// /// A virtual node acts as a logical pointer to a particular task group, such as an Amazon /// ECS service or a Kubernetes deployment. When you create a virtual node, you can specify /// the service discovery information for your task group, and whether the proxy running /// in a task group will communicate with other proxies using Transport Layer Security /// (TLS). /// /// /// /// You define a listener for any inbound traffic that your virtual node /// expects. Any virtual service that your virtual node expects to communicate to is specified /// as a backend. /// /// /// /// The response metadata for your new virtual node contains the arn that /// is associated with the virtual node. Set this value to the full ARN; for example, /// arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) /// as the APPMESH_RESOURCE_ARN environment variable for your task group's /// Envoy proxy container in your task definition or pod spec. This is then mapped to /// the node.id and node.cluster Envoy parameters. /// /// /// /// By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN /// when Envoy is referring to itself in metrics and traces. You can override this behavior /// by setting the APPMESH_RESOURCE_CLUSTER environment variable with your /// own name. /// /// /// /// For more information about virtual nodes, see Virtual /// nodes. You must be using 1.15.0 or later of the Envoy image when /// setting these variables. For more information aboutApp Mesh Envoy variables, see Envoy image /// in the App Mesh User Guide. /// /// public partial class CreateVirtualNodeRequest : AmazonAppMeshRequest { private string _clientToken; private string _meshName; private string _meshOwner; private VirtualNodeSpec _spec; private List _tags = new List(); private string _virtualNodeName; /// /// Gets and sets the property 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. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property MeshName. /// /// The name of the service mesh to create the virtual node in. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string MeshName { get { return this._meshName; } set { this._meshName = value; } } // Check to see if MeshName property is set internal bool IsSetMeshName() { return this._meshName != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Min=12, Max=12)] public string MeshOwner { get { return this._meshOwner; } set { this._meshOwner = value; } } // Check to see if MeshOwner property is set internal bool IsSetMeshOwner() { return this._meshOwner != null; } /// /// Gets and sets the property Spec. /// /// The virtual node specification to apply. /// /// [AWSProperty(Required=true)] public VirtualNodeSpec Spec { get { return this._spec; } set { this._spec = value; } } // Check to see if Spec property is set internal bool IsSetSpec() { return this._spec != null; } /// /// Gets and sets the property Tags. /// /// Optional metadata that you can apply to the virtual node 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. /// /// [AWSProperty(Min=0, Max=50)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property VirtualNodeName. /// /// The name to use for the virtual node. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string VirtualNodeName { get { return this._virtualNodeName; } set { this._virtualNodeName = value; } } // Check to see if VirtualNodeName property is set internal bool IsSetVirtualNodeName() { return this._virtualNodeName != null; } } }