PrincipalWithConditions Class
An IAM principal with additional conditions specifying when the policy is in effect.
For more information about conditions, see: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_iam as iam } from 'aws-cdk-lib';
declare const conditions: any;
declare const principal: iam.IPrincipal;
const principalWithConditions = new iam.PrincipalWithConditions(principal, {
conditionsKey: conditions,
});
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_iam as iam
# conditions: Any
# principal: iam.IPrincipal
principal_with_conditions = iam.PrincipalWithConditions(principal, {
"conditions_key": conditions
})
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.iam.*;
Object conditions;
IPrincipal principal;
PrincipalWithConditions principalWithConditions = new PrincipalWithConditions(principal, Map.of(
"conditionsKey", conditions));
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.IAM;
var conditions;
IPrincipal principal;
var principalWithConditions = new PrincipalWithConditions(principal, new Dictionary<string, object> {
{ "conditionsKey", conditions }
});
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var conditions interface{}
var principal IPrincipal
principalWithConditions := awscdk.Aws_iam.NewPrincipalWithConditions(principal, map[string]interface{}{
"conditionsKey": conditions,
})
Initializer
new PrincipalWithConditions(principal: IPrincipal, conditions: { [key: string]: any })
PrincipalWithConditions(principal: IPrincipal, conditions: typing.Mapping[str, Any])
new PrincipalWithConditions(IPrincipal principal, Map<String, Object> conditions)
new PrincipalWithConditions(IPrincipal principal, IDictionary<string, object> conditions)
NewPrincipalWithConditions(Principal IPrincipal, Conditions *map[string]interface{})
Properties
assumeRoleActionstringassume_role_actionstrassumeRoleActionStringAssumeRoleActionstringAssumeRoleAction*stringrequired#conditions{ [key: string]: any }conditionstyping.Mapping[str, Any]conditionsMap<String, Object>ConditionsIDictionary<string, object>Conditions*map[string]interface{}required#grantPrincipalIPrincipalgrant_principalIPrincipalgrantPrincipalIPrincipalGrantPrincipalIPrincipalGrantPrincipalIPrincipalrequired#policyFragmentPrincipalPolicyFragmentpolicy_fragmentPrincipalPolicyFragmentpolicyFragmentPrincipalPolicyFragmentPolicyFragmentPrincipalPolicyFragmentPolicyFragmentPrincipalPolicyFragmentrequired#principalAccountstringprincipal_accountstrprincipalAccountStringPrincipalAccountstringPrincipalAccount*string#Can be undefined when the account is not known (for example, for service principals). Can be a Token - in that case, it's assumed to be AWS::AccountId.
Methods
addCondition(key: string, value: any): voiddef add_condition(self, key: str, value: Any) -> Nonepublic void addCondition(String key, Object value)public void AddCondition(string key, object value)func AddCondition(Key *string, Value interface{})#addConditions(conditions: { [key: string]: any }): voiddef add_conditions(self, conditions: typing.Mapping[str, Any]) -> Nonepublic void addConditions(Map<String, Object> conditions)public void AddConditions(IDictionary<string, object> conditions)func AddConditions(Conditions *map[string]interface{})#Values from the conditions parameter will overwrite existing values with the same operator and key.
addToAssumeRolePolicy(doc: PolicyDocument): voiddef add_to_assume_role_policy(self, doc: PolicyDocument) -> Nonepublic void addToAssumeRolePolicy(PolicyDocument doc)public void AddToAssumeRolePolicy(PolicyDocument doc)func AddToAssumeRolePolicy(Doc PolicyDocument)#Add the statements to the AssumeRolePolicyDocument necessary to give this principal permissions to assume the given role.
addToPolicy(statement: PolicyStatement): booleandef add_to_policy(self, statement: PolicyStatement) -> boolpublic Boolean addToPolicy(PolicyStatement statement)public bool AddToPolicy(PolicyStatement statement)func AddToPolicy(Statement PolicyStatement) *bool#addToPrincipalPolicy(statement: PolicyStatement): AddToPrincipalPolicyResultdef add_to_principal_policy(self, statement: PolicyStatement) -> AddToPrincipalPolicyResultpublic AddToPrincipalPolicyResult addToPrincipalPolicy(PolicyStatement statement)public AddToPrincipalPolicyResult AddToPrincipalPolicy(PolicyStatement statement)func AddToPrincipalPolicy(Statement PolicyStatement) AddToPrincipalPolicyResult#dedupeString(): stringdef dedupe_string(self, ) -> strpublic String dedupeString()public string DedupeString()func DedupeString() *string#toJSON(): { [key: string]: string[] }def to_json(self, ) -> typing.Mapping[str, typing.List[str]]public Map<String, List<String>> toJSON()public IDictionary<string, string[]> ToJSON()func ToJSON() *map[string]*[]*string#Used when JSON.stringify() is called
toString(): stringdef to_string(self, ) -> strpublic String toString()public string ToString()func ToString() *string#withConditions(conditions: { [key: string]: any }): PrincipalBasedef with_conditions(self, conditions: typing.Mapping[str, Any]) -> PrincipalBasepublic PrincipalBase withConditions(Map<String, Object> conditions)public PrincipalBase WithConditions(IDictionary<string, object> conditions)func WithConditions(Conditions *map[string]interface{}) PrincipalBase#When there is a value for the same operator and key in both the principal and the conditions parameter, the value from the conditions parameter will be used.
returns
Returns: a new PrincipalWithConditions object.
withSessionTags(): PrincipalBasedef with_session_tags(self, ) -> PrincipalBasepublic PrincipalBase withSessionTags()public PrincipalBase WithSessionTags()func WithSessionTags() PrincipalBase#returns
Returns: a new SessionTagsPrincipal object.