/*
* 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 cloudcontrol-2021-09-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.CloudControlApi.Model
{
///
/// Container for the parameters to the CreateResource operation.
/// Creates the specified resource. For more information, see Creating
/// a resource in the Amazon Web Services Cloud Control API User Guide.
///
///
///
/// After you have initiated a resource creation request, you can monitor the progress
/// of your request by calling GetResourceRequestStatus
/// using the RequestToken
of the ProgressEvent
type returned
/// by CreateResource
.
///
///
public partial class CreateResourceRequest : AmazonCloudControlApiRequest
{
private string _clientToken;
private string _desiredState;
private string _roleArn;
private string _typeName;
private string _typeVersionId;
///
/// Gets and sets the property ClientToken.
///
/// A unique identifier to ensure the idempotency of the resource request. As a best practice,
/// specify this token to ensure idempotency, so that Amazon Web Services Cloud Control
/// API can accurately distinguish between request retries and new resource requests.
/// You might retry a resource request to ensure that it was successfully received.
///
///
///
/// A client token is valid for 36 hours once used. After that, a resource request with
/// the same client token is treated as a new request.
///
///
///
/// If you do not specify a client token, one is generated for inclusion in the request.
///
///
///
/// For more information, see Ensuring
/// resource operation requests are unique in the Amazon Web Services Cloud Control
/// API User Guide.
///
///
[AWSProperty(Min=1, Max=128)]
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 DesiredState.
///
/// Structured data format representing the desired state of the resource, consisting
/// of that resource's properties and their desired values.
///
///
///
/// Cloud Control API currently supports JSON as a structured data format.
///
///
///
/// Specify the desired state as one of the following:
///
/// -
///
/// A JSON blob
///
///
-
///
/// A local path containing the desired state in JSON data format
///
///
///
/// For more information, see Composing
/// the desired state of the resource in the Amazon Web Services Cloud Control
/// API User Guide.
///
///
///
/// For more information about the properties of a specific resource, refer to the related
/// topic for the resource in the Resource
/// and property types reference in the CloudFormation Users Guide.
///
///
[AWSProperty(Required=true, Sensitive=true, Min=1, Max=65536)]
public string DesiredState
{
get { return this._desiredState; }
set { this._desiredState = value; }
}
// Check to see if DesiredState property is set
internal bool IsSetDesiredState()
{
return this._desiredState != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for
/// Cloud Control API to use when performing this resource operation. The role specified
/// must have the permissions required for this operation. The necessary permissions for
/// each event handler are defined in the handlers
///
section of the resource
/// type definition schema.
///
///
///
/// If you do not specify a role, Cloud Control API uses a temporary session created using
/// your Amazon Web Services user credentials.
///
///
///
/// For more information, see Specifying
/// credentials in the Amazon Web Services Cloud Control API User Guide.
///
///
[AWSProperty(Min=20, Max=2048)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property TypeName.
///
/// The name of the resource type.
///
///
[AWSProperty(Required=true, Min=10, Max=196)]
public string TypeName
{
get { return this._typeName; }
set { this._typeName = value; }
}
// Check to see if TypeName property is set
internal bool IsSetTypeName()
{
return this._typeName != null;
}
///
/// Gets and sets the property TypeVersionId.
///
/// For private resource types, the type version to use in this resource operation. If
/// you do not specify a resource version, CloudFormation uses the default version.
///
///
[AWSProperty(Min=1, Max=128)]
public string TypeVersionId
{
get { return this._typeVersionId; }
set { this._typeVersionId = value; }
}
// Check to see if TypeVersionId property is set
internal bool IsSetTypeVersionId()
{
return this._typeVersionId != null;
}
}
}