Attaches an inline policy 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 action to apply 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 put_inline_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",
inline_policy: "capo_sso_admin.types.permission_set_policy_document.PermissionSetPolicyDocument",
*,
config_overrides: Optional[SSOAdminClientConfig] = None,
) -> "capo_sso_admin.types.put_inline_policy_to_permission_set_response.PutInlinePolicyToPermissionSetResponse":
"""<p>Attaches an inline policy 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 action to apply 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 permission set.</p>
inline_policy: <p>The inline policy to attach to a <a>PermissionSet</a>.</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.put_inline_policy_to_permission_set_request.PutInlinePolicyToPermissionSetRequest]",
) -> OperationResponse[
"capo_sso_admin.types.put_inline_policy_to_permission_set_response.PutInlinePolicyToPermissionSetResponse"
]:
import capo_sso_admin._operations.swb_external_service.put_inline_policy_to_permission_set
output, http_response = (
capo_sso_admin._operations.swb_external_service.put_inline_policy_to_permission_set.put_inline_policy_to_permission_set(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("PutInlinePolicyToPermissionSet")
)
input_: capo_sso_admin.types.put_inline_policy_to_permission_set_request.PutInlinePolicyToPermissionSetRequest = {
"instance_arn": instance_arn,
"permission_set_arn": permission_set_arn,
"inline_policy": inline_policy,
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|