Change log#

v0.4.1#

  • Loosen pydanitc version constraint

v0.4.0#

  • Move to Pydantic.v1 to support multiple Pydantic environments

v0.3.0#

  • SmtpConnection
    • Added support for configuring SMTP connections

v0.2.0#

  • Drop support for Python 3.7

  • Upgrade httpx latest version

v0.1.4#

  • K8sConfig
    • Add new resource type - K8sConfig

v0.1.3#

  • ManualEvents
    • Emit events no longer fail due to schema instantiation errors

  • User
    • Fix for users changing their own password

v0.1.2#

  • Project
    • Validate the project fields default_function_node_selector, labels and annotations

v0.1.1#

  • User
    • Deprecate functions disable_by_username, disable_by_id. Use disable_user instead

    • Deprecate functions enable_by_username, enable_by_id. Use enable_user instead

    • Add the force argument to remove_from_group function

    • Add the function get_primary_group

    • Fix the function set_primary_group

    • Support authentication_methods

  • Project
    • Fix the function get_user_effective_role

    • Support the default_function_node_selector

    • Fix the function`set_owner`

  • Group
    • Add the force argument to remove_user function

  • Client
    • Support custom logger on client initiating

  • AppServices
    • Support filebeat app service

  • Constants
    • Add it_admin_read_only to TenantManagementRoles constant

    • Add UserAuthenticationMethods constant

    • Add SslVerificationMode constant

    • Add FilebeatSpec constant

v0.1.0#

  • Project
    • Support project authorization roles

    • Add a function for getting the project owner

  • Client
    • Gets access_key from env variable

  • User
    • Fix the is_operational function

    • Add a function for getting the effective role of a user in a project

    • Add a function for checking if a user is in a group

v0.0.11#

  • Requirement constraints fixes
    • allow patch changes only

v0.0.10#

  • Client
    • Remove the need to pass the username when authentication is done using an Access Key

v0.0.9#

  • Events
    • Add event types. Allowing to emit, list, and get events by type

  • AccessKey
    • Add get_or_create functionality

v0.0.8#

  • Tenant ID
    • Resolve tenant id once creating http client

v0.0.7#

  • Events
    • Allow emitting audit events using the tenant audit id

v0.0.6#

  • User
    • Allow creating user with uid 0

    • Wait for user creation

    • Make password as optional when creating user

    • Add some missing fields to the user object

    • Fix ensure all_users group exists in the user_groups relationships when creating a user

    • Rename AdminStatuses, OperationalStatuses to UserAdminStatuses, UserOperationalStatuses

  • Client
    • Fix - handle failure when getting external versions

  • Project
    • Create/Delete projects

    • Setting project ownerships

  • Resources
    • Change delete resource method to return job

v0.0.5#

  • Change ResourcesSpec.requests to optional.

v0.0.4#

  • Allow updating user password.

v0.0.3#

  • Fix PvcSpec.mounts, AdvancedSpec.node_selector and JupyterSpec.extra_environment_vars field types.

E.g., Can now set: AdvancedSpec.node_selector with node_selector={“entries”:[{“key”:”labelkey”, “value”:”labelvalue”}]}

v0.0.2#

This release introduces the python SDK for management APIs.

Control Plane API#

The platform’s control plane provides access to the cluster-management using REST APIs. Using a CRUD-like HTTP client, you can:

  • create/update/delete resources

  • get

  • list

  • trigger operations against the Iguazio System

See full details in Control plane API.

User management API#

The Users API includes:

  • create/update/delete

  • get

  • list

  • enable/disable

  • add/remove to/from group

  • set user’s primary group (to inherit its GID for linux POSIX/ACL permission maangement)

See full details in Users API.

Groups management API#

The Groups API includes:

  • create/update/delete

  • get

  • list

  • add/remove users

See full details in Groups API.

Jobs management API#

The Jobs API includes:

  • get

  • list

  • wait for completion

See full details in Jobs API.

App services manifest API#

The App services manifest API includes:

  • create/update/delete an app service

  • restart/enable/disable an app service

  • get app services manifest

  • apply services

  • configure the service: scale to zero, priority class, node selector, resources/limits, PVCs, etc

See full details in App services manifest API.

App services API#

The App services API is a wrapper class for performing some of the operations on igz_mgmt.AppServicesManifest, without using the manifest instance. It includes:

  • create/update/delete

  • get

  • restart

  • scale to/from zero

  • disable/enable

See full details in App services API.