/*
* 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 servicecatalog-2015-12-10.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.ServiceCatalog.Model
{
///
/// Container for the parameters to the DisassociatePrincipalFromPortfolio operation.
/// Disassociates a previously associated principal ARN from a specified portfolio.
///
///
///
/// The PrincipalType
and PrincipalARN
must match the AssociatePrincipalWithPortfolio
/// call request details. For example, to disassociate an association created with a PrincipalARN
/// of PrincipalType
IAM you must use the PrincipalType
IAM
/// when calling DisassociatePrincipalFromPortfolio
.
///
///
///
/// For portfolios that have been shared with principal name sharing enabled: after disassociating
/// a principal, share recipient accounts will no longer be able to provision products
/// in this portfolio using a role matching the name of the associated principal.
///
///
///
/// For more information, review associate-principal-with-portfolio
/// in the Amazon Web Services CLI Command Reference.
///
///
///
/// If you disassociate a principal from a portfolio, with PrincipalType as IAM
,
/// the same principal will still have access to the portfolio if it matches one of the
/// associated principals of type IAM_PATTERN
. To fully remove access for
/// a principal, verify all the associated Principals of type IAM_PATTERN
,
/// and then ensure you disassociate any IAM_PATTERN
principals that match
/// the principal whose access you are removing.
///
///
///
public partial class DisassociatePrincipalFromPortfolioRequest : AmazonServiceCatalogRequest
{
private string _acceptLanguage;
private string _portfolioId;
private string _principalARN;
private PrincipalType _principalType;
///
/// Gets and sets the property AcceptLanguage.
///
/// The language code.
///
/// -
///
///
jp
- Japanese
///
/// -
///
///
zh
- Chinese
///
///
///
[AWSProperty(Max=100)]
public string AcceptLanguage
{
get { return this._acceptLanguage; }
set { this._acceptLanguage = value; }
}
// Check to see if AcceptLanguage property is set
internal bool IsSetAcceptLanguage()
{
return this._acceptLanguage != null;
}
///
/// Gets and sets the property PortfolioId.
///
/// The portfolio identifier.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string PortfolioId
{
get { return this._portfolioId; }
set { this._portfolioId = value; }
}
// Check to see if PortfolioId property is set
internal bool IsSetPortfolioId()
{
return this._portfolioId != null;
}
///
/// Gets and sets the property PrincipalARN.
///
/// The ARN of the principal (user, role, or group). This field allows an ARN with no
/// accountID
with or without wildcard characters if PrincipalType
/// is IAM_PATTERN
.
///
///
[AWSProperty(Required=true, Min=1, Max=1000)]
public string PrincipalARN
{
get { return this._principalARN; }
set { this._principalARN = value; }
}
// Check to see if PrincipalARN property is set
internal bool IsSetPrincipalARN()
{
return this._principalARN != null;
}
///
/// Gets and sets the property PrincipalType.
///
/// The supported value is IAM
if you use a fully defined ARN, or IAM_PATTERN
/// if you specify an IAM
ARN with no AccountId, with or without wildcard
/// characters.
///
///
public PrincipalType PrincipalType
{
get { return this._principalType; }
set { this._principalType = value; }
}
// Check to see if PrincipalType property is set
internal bool IsSetPrincipalType()
{
return this._principalType != null;
}
}
}