Skip to content

put_auth_policy async

put_auth_policy(
    resource_identifier: ResourceIdentifier,
    policy: AuthPolicyString,
    *,
    config_overrides: Optional[AsyncVPCLatticeClientConfig] = None,
) -> PutAuthPolicyResponse

Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines.

For more information, see Auth policies in the Amazon VPC Lattice User Guide.

Parameters:

  • resource_identifier (ResourceIdentifier) –

    The ID or ARN of the service network or service for which the policy is created.

  • policy (AuthPolicyString) –

    The auth policy. The policy string in JSON must not contain newlines or blank lines.

Raises:

Source code in docs_src/capo_vpc_lattice/_services/async_vpc_lattice.py
async def put_auth_policy(
    self,
    resource_identifier: "capo_vpc_lattice.types.resource_identifier.ResourceIdentifier",
    policy: "capo_vpc_lattice.types.auth_policy_string.AuthPolicyString",
    *,
    config_overrides: Optional[AsyncVPCLatticeClientConfig] = None,
) -> "capo_vpc_lattice.types.put_auth_policy_response.PutAuthPolicyResponse":
    """<p>Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/vpc-lattice/latest/ug/auth-policies.html">Auth policies</a> in the <i>Amazon VPC Lattice User Guide</i>.</p>

    Args:
        resource_identifier: <p>The ID or ARN of the service network or service for which the policy is created.</p>
        policy: <p>The auth policy. The policy string in JSON must not contain newlines or blank lines.</p>

    Raises:
        capo_vpc_lattice.errors.access_denied_exception.AccessDeniedException: <p>The user does not have sufficient access to perform this action.</p>
        capo_vpc_lattice.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred while processing the request.</p>
        capo_vpc_lattice.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request references a resource that does not exist.</p>
        capo_vpc_lattice.errors.throttling_exception.ThrottlingException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_vpc_lattice.errors.validation_exception.ValidationException: <p>The input does not satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_vpc_lattice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_vpc_lattice.types.put_auth_policy_request.PutAuthPolicyRequest]",
    ) -> AsyncOperationResponse[
        "capo_vpc_lattice.types.put_auth_policy_response.PutAuthPolicyResponse"
    ]:
        import capo_vpc_lattice._operations.mercury_control_plane.put_auth_policy

        (
            output,
            http_response,
        ) = await capo_vpc_lattice._operations.mercury_control_plane.put_auth_policy.async_put_auth_policy(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutAuthPolicy")
    )
    input_: capo_vpc_lattice.types.put_auth_policy_request.PutAuthPolicyRequest = {
        "resource_identifier": resource_identifier,
        "policy": policy,
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output