/*
* 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 wellarchitected-2020-03-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.WellArchitected.Model
{
///
/// Container for the parameters to the CreateWorkload operation.
/// Create a new workload.
///
///
///
/// The owner of a workload can share the workload with other Amazon Web Services accounts,
/// users, an organization, and organizational units (OUs) in the same Amazon Web Services
/// Region. Only the owner of a workload can delete it.
///
///
///
/// For more information, see Defining
/// a Workload in the Well-Architected Tool User Guide.
///
///
///
/// Either AwsRegions
, NonAwsRegions
, or both must be specified
/// when creating a workload.
///
///
///
/// You also must specify ReviewOwner
, even though the parameter is listed
/// as not being required in the following section.
///
///
///
public partial class CreateWorkloadRequest : AmazonWellArchitectedRequest
{
private List _accountIds = new List();
private List _applications = new List();
private string _architecturalDesign;
private List _awsRegions = new List();
private string _clientRequestToken;
private string _description;
private WorkloadDiscoveryConfig _discoveryConfig;
private WorkloadEnvironment _environment;
private string _industry;
private string _industryType;
private List _lenses = new List();
private List _nonAwsRegions = new List();
private string _notes;
private List _pillarPriorities = new List();
private List _profileArns = new List();
private string _reviewOwner;
private Dictionary _tags = new Dictionary();
private string _workloadName;
///
/// Gets and sets the property AccountIds.
///
[AWSProperty(Max=100)]
public List AccountIds
{
get { return this._accountIds; }
set { this._accountIds = value; }
}
// Check to see if AccountIds property is set
internal bool IsSetAccountIds()
{
return this._accountIds != null && this._accountIds.Count > 0;
}
///
/// Gets and sets the property Applications.
///
/// List of AppRegistry application ARNs associated to the workload.
///
///
[AWSProperty(Max=1)]
public List Applications
{
get { return this._applications; }
set { this._applications = value; }
}
// Check to see if Applications property is set
internal bool IsSetApplications()
{
return this._applications != null && this._applications.Count > 0;
}
///
/// Gets and sets the property ArchitecturalDesign.
///
[AWSProperty(Max=2048)]
public string ArchitecturalDesign
{
get { return this._architecturalDesign; }
set { this._architecturalDesign = value; }
}
// Check to see if ArchitecturalDesign property is set
internal bool IsSetArchitecturalDesign()
{
return this._architecturalDesign != null;
}
///
/// Gets and sets the property AwsRegions.
///
[AWSProperty(Max=50)]
public List AwsRegions
{
get { return this._awsRegions; }
set { this._awsRegions = value; }
}
// Check to see if AwsRegions property is set
internal bool IsSetAwsRegions()
{
return this._awsRegions != null && this._awsRegions.Count > 0;
}
///
/// Gets and sets the property ClientRequestToken.
///
[AWSProperty(Min=1, Max=2048)]
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property Description.
///
[AWSProperty(Required=true, Min=3, Max=250)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DiscoveryConfig.
///
/// Well-Architected discovery configuration settings associated to the workload.
///
///
public WorkloadDiscoveryConfig DiscoveryConfig
{
get { return this._discoveryConfig; }
set { this._discoveryConfig = value; }
}
// Check to see if DiscoveryConfig property is set
internal bool IsSetDiscoveryConfig()
{
return this._discoveryConfig != null;
}
///
/// Gets and sets the property Environment.
///
[AWSProperty(Required=true)]
public WorkloadEnvironment Environment
{
get { return this._environment; }
set { this._environment = value; }
}
// Check to see if Environment property is set
internal bool IsSetEnvironment()
{
return this._environment != null;
}
///
/// Gets and sets the property Industry.
///
[AWSProperty(Max=100)]
public string Industry
{
get { return this._industry; }
set { this._industry = value; }
}
// Check to see if Industry property is set
internal bool IsSetIndustry()
{
return this._industry != null;
}
///
/// Gets and sets the property IndustryType.
///
[AWSProperty(Max=100)]
public string IndustryType
{
get { return this._industryType; }
set { this._industryType = value; }
}
// Check to see if IndustryType property is set
internal bool IsSetIndustryType()
{
return this._industryType != null;
}
///
/// Gets and sets the property Lenses.
///
[AWSProperty(Required=true)]
public List Lenses
{
get { return this._lenses; }
set { this._lenses = value; }
}
// Check to see if Lenses property is set
internal bool IsSetLenses()
{
return this._lenses != null && this._lenses.Count > 0;
}
///
/// Gets and sets the property NonAwsRegions.
///
[AWSProperty(Max=5)]
public List NonAwsRegions
{
get { return this._nonAwsRegions; }
set { this._nonAwsRegions = value; }
}
// Check to see if NonAwsRegions property is set
internal bool IsSetNonAwsRegions()
{
return this._nonAwsRegions != null && this._nonAwsRegions.Count > 0;
}
///
/// Gets and sets the property Notes.
///
[AWSProperty(Max=2084)]
public string Notes
{
get { return this._notes; }
set { this._notes = value; }
}
// Check to see if Notes property is set
internal bool IsSetNotes()
{
return this._notes != null;
}
///
/// Gets and sets the property PillarPriorities.
///
public List PillarPriorities
{
get { return this._pillarPriorities; }
set { this._pillarPriorities = value; }
}
// Check to see if PillarPriorities property is set
internal bool IsSetPillarPriorities()
{
return this._pillarPriorities != null && this._pillarPriorities.Count > 0;
}
///
/// Gets and sets the property ProfileArns.
///
/// The list of profile ARNs associated with the workload.
///
///
[AWSProperty(Max=1)]
public List ProfileArns
{
get { return this._profileArns; }
set { this._profileArns = value; }
}
// Check to see if ProfileArns property is set
internal bool IsSetProfileArns()
{
return this._profileArns != null && this._profileArns.Count > 0;
}
///
/// Gets and sets the property ReviewOwner.
///
[AWSProperty(Min=3, Max=255)]
public string ReviewOwner
{
get { return this._reviewOwner; }
set { this._reviewOwner = value; }
}
// Check to see if ReviewOwner property is set
internal bool IsSetReviewOwner()
{
return this._reviewOwner != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags to be associated with the workload.
///
///
[AWSProperty(Min=1, Max=50)]
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 WorkloadName.
///
[AWSProperty(Required=true, Min=3, Max=100)]
public string WorkloadName
{
get { return this._workloadName; }
set { this._workloadName = value; }
}
// Check to see if WorkloadName property is set
internal bool IsSetWorkloadName()
{
return this._workloadName != null;
}
}
}