Ejemplo n.º 1
0
def delete_v_s_route(custom_objects: CustomObjectsApi, name,
                     namespace) -> None:
    """
    Delete a VirtualServerRoute.

    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete a VirtualServerRoute: {name}")
    delete_options = client.V1DeleteOptions()
    custom_objects.delete_namespaced_custom_object("k8s.nginx.org", "v1",
                                                   namespace,
                                                   "virtualserverroutes", name,
                                                   delete_options)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "k8s.nginx.org",
        "v1",
        namespace,
        "virtualserverroutes",
        name,
    )
    print(f"VirtualServerRoute was removed with the name '{name}'")
Ejemplo n.º 2
0
def delete_resource(custom_objects: CustomObjectsApi, resource, namespace,
                    plural) -> None:
    """
    Delete a Resource.

    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param resource: a dictionary representation of the resource yaml
    :param namespace:
    :param plural: the plural of the resource
    :return:
    """

    name = resource['metadata']['name']
    kind = resource['kind']
    group, version = resource["apiVersion"].split("/")

    print(f"Delete a '{kind}' with name '{name}'")

    custom_objects.delete_namespaced_custom_object(group, version, namespace,
                                                   plural, name)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        group,
        version,
        namespace,
        plural,
        name,
    )
    print(f"Resource '{kind}' was removed with name '{name}'")
Ejemplo n.º 3
0
def delete_ap_policy(custom_objects: CustomObjectsApi, name,
                     namespace) -> None:
    """
    Delete a AppProtect policy.
    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete a AP policy: {name}")
    delete_options = client.V1DeleteOptions()
    custom_objects.delete_namespaced_custom_object("appprotect.f5.com",
                                                   "v1beta1", namespace,
                                                   "appolicies", name,
                                                   delete_options)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "appprotect.f5.com",
        "v1beta1",
        namespace,
        "appolicies",
        name,
    )
    time.sleep(3)
    print(f"AP policy was removed with name: {name}")
Ejemplo n.º 4
0
def delete_crd(api_extensions_v1: ApiextensionsV1Api, name) -> None:
    """
    Delete a CRD.

    :param api_extensions_v1: ApiextensionsV1Api
    :param name:
    :return:
    """
    print(f"Delete a CRD: {name}")
    api_extensions_v1.delete_custom_resource_definition(name)
    ensure_item_removal(api_extensions_v1.read_custom_resource_definition, name)
    print(f"CRD was removed with name '{name}'")
def delete_crd(api_extensions_v1_beta1: ApiextensionsV1beta1Api, name) -> None:
    """
    Delete a CRD.

    :param api_extensions_v1_beta1: ApiextensionsV1beta1Api
    :param name:
    :return:
    """
    print(f"Delete a CRD: {name}")
    delete_options = client.V1DeleteOptions()
    api_extensions_v1_beta1.delete_custom_resource_definition(name, delete_options)
    ensure_item_removal(api_extensions_v1_beta1.read_custom_resource_definition, name)
    print(f"CRD was removed with name '{name}'")
Ejemplo n.º 6
0
def delete_ap_logconf(custom_objects: CustomObjectsApi, name,
                      namespace) -> None:
    """
    Delete a AppProtect logconf.
    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete AP logconf: {name}")
    delete_options = client.V1DeleteOptions()
    custom_objects.delete_namespaced_custom_object("appprotect.f5.com",
                                                   "v1beta1", namespace,
                                                   "aplogconfs", name,
                                                   delete_options)
    ensure_item_removal(custom_objects.get_namespaced_custom_object,
                        "appprotect.f5.com", "v1beta1", namespace,
                        "aplogconfs", name)
    print(f"AP logconf was removed with name: {name}")
Ejemplo n.º 7
0
def delete_ap_usersig(custom_objects: CustomObjectsApi, name, namespace) -> None:
    """
    Delete a AppProtect usersig.
    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete AP UserSig: {name}")
    custom_objects.delete_namespaced_custom_object(
        "appprotect.f5.com", "v1beta1", namespace, "apusersigs", name
    )
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "appprotect.f5.com",
        "v1beta1",
        namespace,
        "apusersigs",
        name,
    )
    print(f"AP UserSig was removed with name: {name}")
Ejemplo n.º 8
0
def delete_dos_logconf(custom_objects: CustomObjectsApi, name,
                       namespace) -> None:
    """
    Delete a Dos logconf.
    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete DOS logconf: {name}")
    custom_objects.delete_namespaced_custom_object("appprotectdos.f5.com",
                                                   "v1beta1", namespace,
                                                   "apdoslogconfs", name)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "appprotectdos.f5.com",
        "v1beta1",
        namespace,
        "apdoslogconfs",
        name,
    )
    print(f"DOS logconf was removed with name: {name}")
def delete_policy(custom_objects: CustomObjectsApi, name, namespace) -> None:
    """
    Delete a Policy.

    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete a Policy: {name}")

    custom_objects.delete_namespaced_custom_object("k8s.nginx.org", "v1",
                                                   namespace, "policies", name)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "k8s.nginx.org",
        "v1",
        namespace,
        "policies",
        name,
    )
    print(f"Policy was removed with name '{name}'")
Ejemplo n.º 10
0
def delete_dos_policy(custom_objects: CustomObjectsApi, name,
                      namespace) -> None:
    """
    Delete a Dos policy.
    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete a DOS policy: {name}")
    custom_objects.delete_namespaced_custom_object("appprotectdos.f5.com",
                                                   "v1beta1", namespace,
                                                   "apdospolicies", name)
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "appprotectdos.f5.com",
        "v1beta1",
        namespace,
        "apdospolicies",
        name,
    )
    time.sleep(3)
    print(f"DOS policy was removed with name: {name}")
Ejemplo n.º 11
0
def delete_virtual_server(custom_objects: CustomObjectsApi, name, namespace) -> None:
    """
    Delete a VirtualServer.

    :param custom_objects: CustomObjectsApi
    :param namespace: namespace
    :param name:
    :return:
    """
    print(f"Delete a VirtualServer: {name}")

    custom_objects.delete_namespaced_custom_object(
        "k8s.nginx.org", "v1", namespace, "virtualservers", name
    )
    ensure_item_removal(
        custom_objects.get_namespaced_custom_object,
        "k8s.nginx.org",
        "v1",
        namespace,
        "virtualservers",
        name,
    )
    print(f"VirtualServer was removed with name '{name}'")