Class AwsIam
java.lang.Object
com.salesforce.multicloudj.iam.driver.AbstractIam
com.salesforce.multicloudj.iam.aws.AwsIam
- All Implemented Interfaces:
Provider,Identity,AutoCloseable
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final com.fasterxml.jackson.databind.ObjectMapperstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class com.salesforce.multicloudj.iam.driver.AbstractIam
credentialsOverrider, region -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates and returns a new Builder instance for this provider.voidclose()protected voidAttaches an inline policy to an identity.protected StringdoCreateIdentity(CreateIdentityRequest request) Create IAM Role with optional Trust Configuration and Create Options.protected voiddoDeleteIdentity(DeleteIdentityRequest request) Delete IAM Role.Lists all inline policies attached to an IAM role.protected StringdoGetIdentity(GetIdentityRequest request) Get IAM Role.protected StringGet inline policy document attached to an IAM role.protected voiddoRemovePolicy(RemovePolicyRequest request) Removes an inline policy from an IAM role.Class<? extends SubstrateSdkException>Maps a given Throwable from the provider implementation to a specific SubstrateSdkException.Methods inherited from class com.salesforce.multicloudj.iam.driver.AbstractIam
attachInlinePolicy, createIdentity, deleteIdentity, getAttachedPolicies, getIdentity, getInlinePolicyDetails, getProviderId, removePolicy
-
Field Details
-
POLICY_VERSION
- See Also:
-
ALLOW
- See Also:
-
STS_ASSUME_ROLE
- See Also:
-
ARN_PREFIX
- See Also:
-
AWS_ACCOUNT_ID_REGEX
- See Also:
-
ARN_AWS_IAM_PREFIX
- See Also:
-
ROOT_SUFFIX
- See Also:
-
SERVICE_PRINCIPAL_SUFFIX
- See Also:
-
OBJECT_MAPPER
public static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
-
-
Constructor Details
-
AwsIam
-
AwsIam
public AwsIam()
-
-
Method Details
-
builder
Description copied from interface:ProviderCreates and returns a new Builder instance for this provider.- Returns:
- A Builder instance for constructing this provider.
-
getException
Description copied from interface:ProviderMaps a given Throwable from the provider implementation to a specific SubstrateSdkException. This is used for exception handling abstraction.- Parameters:
t- The Throwable to be mapped.- Returns:
- The Class of the corresponding SubstrateSdkException.
-
close
- Throws:
Exception
-
doCreateIdentity
Create IAM Role with optional Trust Configuration and Create Options.- Specified by:
doCreateIdentityin classAbstractIam- Parameters:
request- the request containing identity name, description, tenant ID, region, trust config, and options.- Returns:
- the IAM role ARN.
-
doAttachInlinePolicy
Description copied from class:AbstractIamAttaches an inline policy to an identity. Provider-specific implementations should override this method.- Specified by:
doAttachInlinePolicyin classAbstractIam- Parameters:
request- the request containing policy document, tenant ID, region, and identity/role names
-
doGetInlinePolicyDetails
Get inline policy document attached to an IAM role.- Specified by:
doGetInlinePolicyDetailsin classAbstractIam- Parameters:
request- the request containing relevant fields from identity name, policy name, role name, tenant ID, and region- Returns:
- the inline policy document as a JSON string
-
doGetAttachedPolicies
Lists all inline policies attached to an IAM role.- Specified by:
doGetAttachedPoliciesin classAbstractIam- Parameters:
request- the request; AWS uses roleName only (IAM role to list policies for)- Returns:
- a list of inline policy names attached to the role.
-
doRemovePolicy
Removes an inline policy from an IAM role.- Specified by:
doRemovePolicyin classAbstractIam- Parameters:
request- the request containing identity name, policy name, tenant ID, and region.
-
doDeleteIdentity
Delete IAM Role.- Specified by:
doDeleteIdentityin classAbstractIam- Parameters:
request- the request containing identity name, tenant ID, and region.
-
doGetIdentity
Get IAM Role.- Specified by:
doGetIdentityin classAbstractIam- Parameters:
request- the request containing identity name, tenant ID, and region.- Returns:
- the IAM role ARN.
-