def put_resource_policy(
self,
*,
config_overrides: Optional[schemasClientConfig] = None,
policy: Optional[
"capo_schemas.types.synthesized_json__string.SynthesizedJson__string"
] = None,
registry_name: Optional["capo_schemas.types.__string.__string"] = None,
revision_id: Optional["capo_schemas.types.__string.__string"] = None,
) -> "capo_schemas.types.put_resource_policy_response.PutResourcePolicyResponse":
"""<p>The name of the policy.</p>
Args:
policy: <p>The resource-based policy.</p>
registry_name: <p>The name of the registry.</p>
revision_id: <p>The revision ID of the policy.</p>
Raises:
capo_schemas.errors.bad_request_exception.BadRequestException
capo_schemas.errors.forbidden_exception.ForbiddenException
capo_schemas.errors.internal_server_error_exception.InternalServerErrorException
capo_schemas.errors.not_found_exception.NotFoundException
capo_schemas.errors.precondition_failed_exception.PreconditionFailedException
capo_schemas.errors.service_unavailable_exception.ServiceUnavailableException
capo_schemas.errors.unauthorized_exception.UnauthorizedException
capo_schemas.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_schemas.types.put_resource_policy_request.PutResourcePolicyRequest]",
) -> OperationResponse[
"capo_schemas.types.put_resource_policy_response.PutResourcePolicyResponse"
]:
import capo_schemas._operations.schemas.put_resource_policy
output, http_response = (
capo_schemas._operations.schemas.put_resource_policy.put_resource_policy(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("PutResourcePolicy")
)
input_: capo_schemas.types.put_resource_policy_request.PutResourcePolicyRequest = {}
if policy is not None:
input_["policy"] = policy
if registry_name is not None:
input_["registry_name"] = registry_name
if revision_id is not None:
input_["revision_id"] = revision_id
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output