/* * 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. /// /// /// [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; } } }