Skip to content

create_license_asset_ruleset async

create_license_asset_ruleset(
    name: LicenseAssetResourceName,
    rules: LicenseAssetRuleList,
    client_token: String,
    *,
    config_overrides: Optional[AsyncLicenseManagerClientConfig] = None,
    description: Optional[LicenseAssetResourceDescription] = None,
    tags: Optional[TagList] = None,
) -> CreateLicenseAssetRulesetResponse

Creates a license asset ruleset.

Parameters:

Raises:

Source code in docs_src/capo_license_manager/_services/async_license_manager.py
async def create_license_asset_ruleset(
    self,
    name: "capo_license_manager.types.license_asset_resource_name.LicenseAssetResourceName",
    rules: "capo_license_manager.types.license_asset_rule_list.LicenseAssetRuleList",
    client_token: "capo_license_manager.types.string.String",
    *,
    config_overrides: Optional[AsyncLicenseManagerClientConfig] = None,
    description: Optional[
        "capo_license_manager.types.license_asset_resource_description.LicenseAssetResourceDescription"
    ] = None,
    tags: Optional["capo_license_manager.types.tag_list.TagList"] = None,
) -> "capo_license_manager.types.create_license_asset_ruleset_response.CreateLicenseAssetRulesetResponse":
    """<p>Creates a license asset ruleset.</p>

    Args:
        name: <p>License asset ruleset name.</p>
        description: <p>License asset ruleset description.</p>
        rules: <p>License asset rules.</p>
        tags: <p>Tags to add to the license asset ruleset.</p>
        client_token: <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>

    Raises:
        capo_license_manager.errors.access_denied_exception.AccessDeniedException: <p>Access to resource denied.</p>
        capo_license_manager.errors.authorization_exception.AuthorizationException: <p>The Amazon Web Services user account does not have permission to perform the action. Check the IAM policy associated with this account.</p>
        capo_license_manager.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameter values are not valid.</p>
        capo_license_manager.errors.rate_limit_exceeded_exception.RateLimitExceededException: <p>Too many requests have been submitted. Try again after a brief wait.</p>
        capo_license_manager.errors.server_internal_exception.ServerInternalException: <p>The server experienced an internal error. Try again.</p>
        capo_license_manager.errors.validation_exception.ValidationException: <p>The provided input is not valid. Try your request again.</p>
        capo_license_manager.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_license_manager.types.create_license_asset_ruleset_request.CreateLicenseAssetRulesetRequest]",
    ) -> AsyncOperationResponse[
        "capo_license_manager.types.create_license_asset_ruleset_response.CreateLicenseAssetRulesetResponse"
    ]:
        import capo_license_manager._operations.aws_license_manager.create_license_asset_ruleset

        (
            output,
            http_response,
        ) = await capo_license_manager._operations.aws_license_manager.create_license_asset_ruleset.async_create_license_asset_ruleset(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateLicenseAssetRuleset")
    )
    input_: capo_license_manager.types.create_license_asset_ruleset_request.CreateLicenseAssetRulesetRequest = {
        "name": name,
        "rules": rules,
        "client_token": client_token,
    }
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags

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