/* * 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 greengrassv2-2020-11-30.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.GreengrassV2.Model { /// /// Container for the parameters to the CreateDeployment operation. /// Creates a continuous deployment for a target, which is a Greengrass core device or /// group of core devices. When you add a new core device to a group of core devices that /// has a deployment, IoT Greengrass deploys that group's deployment to the new device. /// /// /// /// You can define one deployment for each target. When you create a new deployment for /// a target that has an existing deployment, you replace the previous deployment. IoT /// Greengrass applies the new deployment to the target devices. /// /// /// /// Every deployment has a revision number that indicates how many deployment revisions /// you define for a target. Use this operation to create a new revision of an existing /// deployment. /// /// /// /// For more information, see the Create /// deployments in the IoT Greengrass V2 Developer Guide. /// /// public partial class CreateDeploymentRequest : AmazonGreengrassV2Request { private string _clientToken; private Dictionary _components = new Dictionary(); private string _deploymentName; private DeploymentPolicies _deploymentPolicies; private DeploymentIoTJobConfiguration _iotJobConfiguration; private string _parentTargetArn; private Dictionary _tags = new Dictionary(); private string _targetArn; /// /// Gets and sets the property ClientToken. /// /// A unique, case-sensitive identifier that you can provide to ensure that the request /// is idempotent. Idempotency means that the request is successfully processed only once, /// even if you send the request multiple times. When a request succeeds, and you specify /// the same client token for subsequent successful requests, the IoT Greengrass V2 service /// returns the successful response that it caches from the previous request. IoT Greengrass /// V2 caches successful responses for idempotent requests for up to 8 hours. /// /// [AWSProperty(Min=1, Max=64)] 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 Components. /// /// The components to deploy. This is a dictionary, where each key is the name of a component, /// and each key's value is the version and configuration to deploy for that component. /// /// public Dictionary Components { get { return this._components; } set { this._components = value; } } // Check to see if Components property is set internal bool IsSetComponents() { return this._components != null && this._components.Count > 0; } /// /// Gets and sets the property DeploymentName. /// /// The name of the deployment. /// /// [AWSProperty(Min=1, Max=256)] public string DeploymentName { get { return this._deploymentName; } set { this._deploymentName = value; } } // Check to see if DeploymentName property is set internal bool IsSetDeploymentName() { return this._deploymentName != null; } /// /// Gets and sets the property DeploymentPolicies. /// /// The deployment policies for the deployment. These policies define how the deployment /// updates components and handles failure. /// /// public DeploymentPolicies DeploymentPolicies { get { return this._deploymentPolicies; } set { this._deploymentPolicies = value; } } // Check to see if DeploymentPolicies property is set internal bool IsSetDeploymentPolicies() { return this._deploymentPolicies != null; } /// /// Gets and sets the property IotJobConfiguration. /// /// The job configuration for the deployment configuration. The job configuration specifies /// the rollout, timeout, and stop configurations for the deployment configuration. /// /// public DeploymentIoTJobConfiguration IotJobConfiguration { get { return this._iotJobConfiguration; } set { this._iotJobConfiguration = value; } } // Check to see if IotJobConfiguration property is set internal bool IsSetIotJobConfiguration() { return this._iotJobConfiguration != null; } /// /// Gets and sets the property ParentTargetArn. /// /// The parent deployment's target ARN /// within a subdeployment. /// /// public string ParentTargetArn { get { return this._parentTargetArn; } set { this._parentTargetArn = value; } } // Check to see if ParentTargetArn property is set internal bool IsSetParentTargetArn() { return this._parentTargetArn != null; } /// /// Gets and sets the property Tags. /// /// A list of key-value pairs that contain metadata for the resource. For more information, /// see Tag /// your resources in the IoT Greengrass V2 Developer Guide. /// /// [AWSProperty(Min=1, Max=200)] public Dictionary 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 TargetArn. /// /// The ARN /// of the target IoT thing or thing group. When creating a subdeployment, the targetARN /// can only be a thing group. /// /// [AWSProperty(Required=true)] public string TargetArn { get { return this._targetArn; } set { this._targetArn = value; } } // Check to see if TargetArn property is set internal bool IsSetTargetArn() { return this._targetArn != null; } } }