Skip to content

create_ip_group async

create_ip_group(
    group_name: IpGroupName,
    *,
    config_overrides: Optional[AsyncWorkSpacesClientConfig] = None,
    group_desc: Optional[IpGroupDesc] = None,
    user_rules: Optional[IpRuleList] = None,
    tags: Optional[TagList] = None,
) -> CreateIpGroupResult

Creates an IP access control group.

An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.

There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.

Parameters:

  • group_name (IpGroupName) –

    The name of the group.

  • group_desc (Optional[IpGroupDesc], default: None ) –

    The description of the group.

  • user_rules (Optional[IpRuleList], default: None ) –

    The rules to add to the group.

  • tags (Optional[TagList], default: None ) –

    The tags. Each WorkSpaces resource can have a maximum of 50 tags.

Raises:

Source code in docs_src/capo_workspaces/_services/async_work_spaces.py
async def create_ip_group(
    self,
    group_name: "capo_workspaces.types.ip_group_name.IpGroupName",
    *,
    config_overrides: Optional[AsyncWorkSpacesClientConfig] = None,
    group_desc: Optional["capo_workspaces.types.ip_group_desc.IpGroupDesc"] = None,
    user_rules: Optional["capo_workspaces.types.ip_rule_list.IpRuleList"] = None,
    tags: Optional["capo_workspaces.types.tag_list.TagList"] = None,
) -> "capo_workspaces.types.create_ip_group_result.CreateIpGroupResult":
    """<p>Creates an IP access control group.</p> <p>An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using <a>AuthorizeIpRules</a>.</p> <p>There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.</p>

    Args:
        group_name: <p>The name of the group.</p>
        group_desc: <p>The description of the group.</p>
        user_rules: <p>The rules to add to the group.</p>
        tags: <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p>

    Raises:
        capo_workspaces.errors.access_denied_exception.AccessDeniedException: <p>The user is not authorized to access a resource.</p>
        capo_workspaces.errors.invalid_parameter_values_exception.InvalidParameterValuesException: <p>One or more parameter values are not valid.</p>
        capo_workspaces.errors.resource_already_exists_exception.ResourceAlreadyExistsException: <p>The specified resource already exists.</p>
        capo_workspaces.errors.resource_creation_failed_exception.ResourceCreationFailedException: <p>The resource could not be created.</p>
        capo_workspaces.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>Your resource limits have been exceeded.</p>
        capo_workspaces.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_workspaces.types.create_ip_group_request.CreateIpGroupRequest]",
    ) -> AsyncOperationResponse[
        "capo_workspaces.types.create_ip_group_result.CreateIpGroupResult"
    ]:
        import capo_workspaces._operations.workspaces_service.create_ip_group

        (
            output,
            http_response,
        ) = await capo_workspaces._operations.workspaces_service.create_ip_group.async_create_ip_group(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateIpGroup")
    )
    input_: capo_workspaces.types.create_ip_group_request.CreateIpGroupRequest = {
        "group_name": group_name
    }
    if group_desc is not None:
        input_["group_desc"] = group_desc
    if user_rules is not None:
        input_["user_rules"] = user_rules
    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