def register_subscription_provider(
self,
subscription_provider_source: "capo_license_manager_linux_subscriptions.types.subscription_provider_source.SubscriptionProviderSource",
secret_arn: "capo_license_manager_linux_subscriptions.types.secret_arn.SecretArn",
*,
config_overrides: Optional[LicenseManagerLinuxSubscriptionsClientConfig] = None,
tags: Optional[
"capo_license_manager_linux_subscriptions.types.tags.Tags"
] = None,
) -> "capo_license_manager_linux_subscriptions.types.register_subscription_provider_response.RegisterSubscriptionProviderResponse":
"""<p>Register the supported third-party subscription provider for your Bring Your Own License (BYOL) subscription.</p>
Args:
subscription_provider_source: <p>The supported Linux subscription provider to register.</p>
secret_arn: <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
tags: <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
Raises:
capo_license_manager_linux_subscriptions.errors.internal_server_exception.InternalServerException: <p>An exception occurred with the service.</p>
capo_license_manager_linux_subscriptions.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
capo_license_manager_linux_subscriptions.errors.validation_exception.ValidationException: <p>The provided input is not valid. Try your request again.</p>
capo_license_manager_linux_subscriptions.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_license_manager_linux_subscriptions.types.register_subscription_provider_request.RegisterSubscriptionProviderRequest]",
) -> OperationResponse[
"capo_license_manager_linux_subscriptions.types.register_subscription_provider_response.RegisterSubscriptionProviderResponse"
]:
import capo_license_manager_linux_subscriptions._operations.license_manager_linux_subscriptions.register_subscription_provider
output, http_response = (
capo_license_manager_linux_subscriptions._operations.license_manager_linux_subscriptions.register_subscription_provider.register_subscription_provider(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
def _redact_input(
input_: "capo_license_manager_linux_subscriptions.types.register_subscription_provider_request.RegisterSubscriptionProviderRequest",
) -> dict[str, Any]:
import capo_license_manager_linux_subscriptions.types.register_subscription_provider_request
return capo_license_manager_linux_subscriptions.types.register_subscription_provider_request.redact_sensitive(
input_
)
interceptors_, options_ = self.operation_options(
config_overrides,
OperationLogging(
"RegisterSubscriptionProvider", redact_input=_redact_input
),
)
input_: capo_license_manager_linux_subscriptions.types.register_subscription_provider_request.RegisterSubscriptionProviderRequest = {
"subscription_provider_source": subscription_provider_source,
"secret_arn": secret_arn,
}
if tags is not None:
input_["tags"] = tags
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output