/*
* 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 license-manager-2018-08-01.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.LicenseManager.Model
{
///
/// Container for the parameters to the CreateGrant operation.
/// Creates a grant for the specified license. A grant shares the use of license entitlements
/// with a specific Amazon Web Services account, an organization, or an organizational
/// unit (OU). For more information, see Granted
/// licenses in License Manager in the License Manager User Guide.
///
public partial class CreateGrantRequest : AmazonLicenseManagerRequest
{
private List _allowedOperations = new List();
private string _clientToken;
private string _grantName;
private string _homeRegion;
private string _licenseArn;
private List _principals = new List();
///
/// Gets and sets the property AllowedOperations.
///
/// Allowed operations for the grant.
///
///
[AWSProperty(Required=true, Min=1, Max=7)]
public List AllowedOperations
{
get { return this._allowedOperations; }
set { this._allowedOperations = value; }
}
// Check to see if AllowedOperations property is set
internal bool IsSetAllowedOperations()
{
return this._allowedOperations != null && this._allowedOperations.Count > 0;
}
///
/// Gets and sets the property ClientToken.
///
/// Unique, case-sensitive identifier that you provide to ensure the idempotency of the
/// request.
///
///
[AWSProperty(Required=true, Max=2048)]
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 GrantName.
///
/// Grant name.
///
///
[AWSProperty(Required=true)]
public string GrantName
{
get { return this._grantName; }
set { this._grantName = value; }
}
// Check to see if GrantName property is set
internal bool IsSetGrantName()
{
return this._grantName != null;
}
///
/// Gets and sets the property HomeRegion.
///
/// Home Region of the grant.
///
///
[AWSProperty(Required=true)]
public string HomeRegion
{
get { return this._homeRegion; }
set { this._homeRegion = value; }
}
// Check to see if HomeRegion property is set
internal bool IsSetHomeRegion()
{
return this._homeRegion != null;
}
///
/// Gets and sets the property LicenseArn.
///
/// Amazon Resource Name (ARN) of the license.
///
///
[AWSProperty(Required=true, Max=2048)]
public string LicenseArn
{
get { return this._licenseArn; }
set { this._licenseArn = value; }
}
// Check to see if LicenseArn property is set
internal bool IsSetLicenseArn()
{
return this._licenseArn != null;
}
///
/// Gets and sets the property Principals.
///
/// The grant principals. You can specify one of the following as an Amazon Resource Name
/// (ARN):
///
/// -
///
/// An Amazon Web Services account, which includes only the account specified.
///
///
-
///
/// An organizational unit (OU), which includes all accounts in the OU.
///
///
-
///
/// An organization, which will include all accounts across your organization.
///
///
///
[AWSProperty(Required=true, Min=1, Max=1)]
public List Principals
{
get { return this._principals; }
set { this._principals = value; }
}
// Check to see if Principals property is set
internal bool IsSetPrincipals()
{
return this._principals != null && this._principals.Count > 0;
}
}
}