Attaches an Amazon Web Services managed policy ARN to a permission set.
If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this operation. Calling ProvisionPermissionSet applies the corresponding IAM policy updates to all assigned accounts.
Parameters:
Raises:
-
AccessDeniedException
–
You do not have sufficient access to perform this action.
-
ConflictException
–
Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.
-
InternalServerException
–
The request processing has failed because of an unknown error, exception, or failure with an internal server.
-
ResourceNotFoundException
–
Indicates that a requested resource is not found.
-
ServiceQuotaExceededException
–
Indicates that the principal has crossed the permitted number of resources that can be created.
-
ThrottlingException
–
Indicates that the principal has crossed the throttling limits of the API operations.
-
ValidationException
–
The request failed because it contains a syntax error.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_sso_admin/_services/sso_admin.py
| def attach_managed_policy_to_permission_set(
self,
instance_arn: "capo_sso_admin.types.instance_arn.InstanceArn",
permission_set_arn: "capo_sso_admin.types.permission_set_arn.PermissionSetArn",
managed_policy_arn: "capo_sso_admin.types.managed_policy_arn.ManagedPolicyArn",
*,
config_overrides: Optional[SSOAdminClientConfig] = None,
) -> "capo_sso_admin.types.attach_managed_policy_to_permission_set_response.AttachManagedPolicyToPermissionSetResponse":
"""<p>Attaches an Amazon Web Services managed policy ARN to a permission set.</p> <note> <p>If the permission set is already referenced by one or more account assignments, you will need to call <code> <a>ProvisionPermissionSet</a> </code> after this operation. Calling <code>ProvisionPermissionSet</code> applies the corresponding IAM policy updates to all assigned accounts.</p> </note>
Args:
instance_arn: <p>The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web Services General Reference</i>.</p>
permission_set_arn: <p>The ARN of the <a>PermissionSet</a> that the managed policy should be attached to.</p>
managed_policy_arn: <p>The Amazon Web Services managed policy ARN to be attached to a permission set.</p>
Raises:
capo_sso_admin.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
capo_sso_admin.errors.conflict_exception.ConflictException: <p>Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.</p>
capo_sso_admin.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception, or failure with an internal server.</p>
capo_sso_admin.errors.resource_not_found_exception.ResourceNotFoundException: <p>Indicates that a requested resource is not found.</p>
capo_sso_admin.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Indicates that the principal has crossed the permitted number of resources that can be created.</p>
capo_sso_admin.errors.throttling_exception.ThrottlingException: <p>Indicates that the principal has crossed the throttling limits of the API operations.</p>
capo_sso_admin.errors.validation_exception.ValidationException: <p>The request failed because it contains a syntax error.</p>
capo_sso_admin.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_sso_admin.types.attach_managed_policy_to_permission_set_request.AttachManagedPolicyToPermissionSetRequest]",
) -> OperationResponse[
"capo_sso_admin.types.attach_managed_policy_to_permission_set_response.AttachManagedPolicyToPermissionSetResponse"
]:
import capo_sso_admin._operations.swb_external_service.attach_managed_policy_to_permission_set
output, http_response = (
capo_sso_admin._operations.swb_external_service.attach_managed_policy_to_permission_set.attach_managed_policy_to_permission_set(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("AttachManagedPolicyToPermissionSet")
)
input_: capo_sso_admin.types.attach_managed_policy_to_permission_set_request.AttachManagedPolicyToPermissionSetRequest = {
"instance_arn": instance_arn,
"permission_set_arn": permission_set_arn,
"managed_policy_arn": managed_policy_arn,
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|