Skip to content

Latest commit

 

History

History
1051 lines (826 loc) · 45.7 KB

File metadata and controls

1051 lines (826 loc) · 45.7 KB

Roles

Overview

All roles include one or more predefined system policies, and can be applied to principals to enforce these policies.

You can manage custom roles, where you select the system policies.

You can view system roles, which contain a fixed set of system policies and are provided by Cloudinary.

Available Operations

list

Retrieve all system and custom roles of a specific permission_type (global or content-specific). Optionally filter by scope_type, management_type, and policy_parameters.

Example Usage

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.GetRolesRequest;
import com.cloudinary.account.provisioning.models.operations.GetRolesResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        GetRolesRequest req = GetRolesRequest.builder()
                .permissionType(PermissionTypeEnum.GLOBAL)
                .scopeType(ScopeTypeEnum.PRODENV)
                .managementType(ManagementTypeEnum.SYSTEM)
                .build();

        GetRolesResponse res = sdk.roles().list()
                .request(req)
                .call();

        if (res.rolesResponse().isPresent()) {
            System.out.println(res.rolesResponse().get());
        }
    }
}

Parameters

Parameter Type Required Description
request GetRolesRequest ✔️ The request object to use for the request.

Response

GetRolesResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 401, 403 application/json
models/errors/PermissionsErrorResponse 500 application/json
models/errors/SDKException 4XX, 5XX */*

create

Create a new custom role.

Example Usage: createAcctRoleExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.ACCOUNT)
                .name("Sensitive account details manager")
                .id("sensitive_account_details_manager_88825hl")
                .description("Responsible for managing users and account security.")
                .systemPolicyIds(List.of(
                    "cld::global::users_and_groups::manage",
                    "cld::policy::global::account_security::manage"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: createAcctRoleResponseExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing upload presets and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: createContentRoleExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("content")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Marketing content contributor")
                .id("marketing_content_contributor_1357fhe")
                .description("View all assets in selected folders and contribute to those folders, without permission to download.")
                .systemPolicyIds(List.of(
                    "cld::policy::content::folder::view_download",
                    "cld::policy::content::folder::add_assets"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: createContentRoleResponseExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing upload presets and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: createGlobalRoleExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing uploads and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: createGlobalRoleResponseExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing upload presets and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: invalidFieldErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing upload presets and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: missingFieldsErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.CreateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        CreateRole req = CreateRole.builder()
                .permissionType("global")
                .scopeType(ScopeTypeEnum.PRODENV)
                .name("Upload manager")
                .id("upload_manager_12334565")
                .description("Responsible for managing upload presets and uploading new assets.")
                .systemPolicyIds(List.of(
                    "cld::policy::global::upload_presets::manage",
                    "cld::policy::global::folder_and_asset_management::create_asset"))
                .build();

        CreateRoleResponse res = sdk.roles().create()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Parameters

Parameter Type Required Description
request CreateRole ✔️ The request object to use for the request.

Response

CreateRoleResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 400, 401, 403, 409 application/json
models/errors/PermissionsErrorResponse 500 application/json
models/errors/SDKException 4XX, 5XX */*

get

Get a specific system or custom role.

Example Usage

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.GetRoleRequest;
import com.cloudinary.account.provisioning.models.operations.GetRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        GetRoleRequest req = GetRoleRequest.builder()
                .roleId("<id>")
                .paramKey(List.of(
                    "folder_id"))
                .paramValue(List.of(
                    "asdfjkl12347890"))
                .build();

        GetRoleResponse res = sdk.roles().get()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Parameters

Parameter Type Required Description
request GetRoleRequest ✔️ The request object to use for the request.

Response

GetRoleResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 401, 403, 404 application/json
models/errors/SDKException 4XX, 5XX */*

update

Update a specific custom role by providing all relevant details, including those you want to keep as-is.

Note: Updating a role with a name that already exists will trigger a 409 error.

Example Usage: invalidPolicyIDFieldErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Role;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleRequest;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        UpdateRoleRequest req = UpdateRoleRequest.builder()
                .roleId("<id>")
                .role(Role.builder()
                    .name("Upload manager")
                    .description("Responsible for managing upload presets and uploading new assets.")
                    .systemPolicyIds(List.of(
                        "cld::policy::global::upload_presets::manage",
                        "cld::policy::global::folder_and_asset_management::create_asset"))
                    .build())
                .build();

        UpdateRoleResponse res = sdk.roles().update()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: missingFieldsErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Role;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleRequest;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        UpdateRoleRequest req = UpdateRoleRequest.builder()
                .roleId("<id>")
                .role(Role.builder()
                    .name("Upload manager")
                    .description("Responsible for managing upload presets and uploading new assets.")
                    .systemPolicyIds(List.of(
                        "cld::policy::global::upload_presets::manage",
                        "cld::policy::global::folder_and_asset_management::create_asset"))
                    .build())
                .build();

        UpdateRoleResponse res = sdk.roles().update()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: updatePolicyResponse

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Role;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleRequest;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        UpdateRoleRequest req = UpdateRoleRequest.builder()
                .roleId("<id>")
                .role(Role.builder()
                    .name("Upload manager")
                    .description("Responsible for managing upload presets and uploading new assets.")
                    .systemPolicyIds(List.of(
                        "cld::policy::global::upload_presets::manage",
                        "cld::policy::global::folder_and_asset_management::create_asset"))
                    .build())
                .build();

        UpdateRoleResponse res = sdk.roles().update()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Example Usage: updateRoleExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Role;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleRequest;
import com.cloudinary.account.provisioning.models.operations.UpdateRoleResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        UpdateRoleRequest req = UpdateRoleRequest.builder()
                .roleId("<id>")
                .role(Role.builder()
                    .name("Upload manager")
                    .description("Responsible for managing uploads and uploading new assets.")
                    .systemPolicyIds(List.of(
                        "cld::policy::global::upload_presets::manage",
                        "cld::policy::global::folder_and_asset_management::create_asset"))
                    .build())
                .build();

        UpdateRoleResponse res = sdk.roles().update()
                .request(req)
                .call();

        if (res.roleResponse().isPresent()) {
            System.out.println(res.roleResponse().get());
        }
    }
}

Parameters

Parameter Type Required Description
request UpdateRoleRequest ✔️ The request object to use for the request.

Response

UpdateRoleResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 400, 401, 403, 404, 409 application/json
models/errors/PermissionsErrorResponse 500 application/json
models/errors/SDKException 4XX, 5XX */*

delete

Delete a specific custom role.

Example Usage

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.DeleteRoleRequest;
import com.cloudinary.account.provisioning.models.operations.DeleteRoleResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        DeleteRoleRequest req = DeleteRoleRequest.builder()
                .roleId("<id>")
                .build();

        DeleteRoleResponse res = sdk.roles().delete()
                .request(req)
                .call();

        // handle response
    }
}

Parameters

Parameter Type Required Description
request DeleteRoleRequest ✔️ The request object to use for the request.

Response

DeleteRoleResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 401, 403, 404 application/json
models/errors/SDKException 4XX, 5XX */*

listPrincipals

Retrieve all principals associated with a specific role.

Example Usage: GetRolePrincipalsExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.ScopeTypeEnum;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.GetRolePrincipalsRequest;
import com.cloudinary.account.provisioning.models.operations.GetRolePrincipalsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        GetRolePrincipalsRequest req = GetRolePrincipalsRequest.builder()
                .roleId("<id>")
                .scopeType(ScopeTypeEnum.PRODENV)
                .paramKey(List.of(
                    "folder_id"))
                .paramValue(List.of(
                    "asdfjkl12347890"))
                .build();

        GetRolePrincipalsResponse res = sdk.roles().listPrincipals()
                .request(req)
                .call();

        if (res.principalsResponse().isPresent()) {
            System.out.println(res.principalsResponse().get());
        }
    }
}

Example Usage: GetRolePrincipalsWithParamKeyValueExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.ScopeTypeEnum;
import com.cloudinary.account.provisioning.models.components.Security;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.GetRolePrincipalsRequest;
import com.cloudinary.account.provisioning.models.operations.GetRolePrincipalsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        GetRolePrincipalsRequest req = GetRolePrincipalsRequest.builder()
                .roleId("<id>")
                .scopeType(ScopeTypeEnum.PRODENV)
                .paramKey(List.of(
                    "folder_id"))
                .paramValue(List.of(
                    "asdfjkl12347890"))
                .build();

        GetRolePrincipalsResponse res = sdk.roles().listPrincipals()
                .request(req)
                .call();

        if (res.principalsResponse().isPresent()) {
            System.out.println(res.principalsResponse().get());
        }
    }
}

Parameters

Parameter Type Required Description
request GetRolePrincipalsRequest ✔️ The request object to use for the request.

Response

GetRolePrincipalsResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 401, 403, 404 application/json
models/errors/SDKException 4XX, 5XX */*

updatePrincipals

Add or remove principals associated with a role.

Example Usage: invalidOperationFieldErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsRequest req = com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsRequest.builder()
                .roleId("<id>")
                .updateRolePrincipalsRequest(UpdateRolePrincipalsRequest.builder()
                    .operation(OperationEnum.ADD)
                    .principals(List.of(
                        UpdateRolePrincipal.builder()
                            .principalType(PrincipalTypeEnum.USER)
                            .principalId("1234abc")
                            .scopeId("975l29lz02jt0836fhwi")
                            .policyParameters(UpdateRolePrincipalPolicyParameters.builder()
                                .build())
                            .build()))
                    .build())
                .build();

        UpdateRolePrincipalsResponse res = sdk.roles().updatePrincipals()
                .request(req)
                .call();

        // handle response
    }
}

Example Usage: missingFieldsErrorExample

package hello.world;

import com.cloudinary.account.provisioning.CldProvisioning;
import com.cloudinary.account.provisioning.models.components.*;
import com.cloudinary.account.provisioning.models.errors.PermissionsErrorResponse;
import com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws PermissionsErrorResponse, Exception {

        CldProvisioning sdk = CldProvisioning.builder()
                .accountId("<id>")
                .security(Security.builder()
                    .provisioningApiKey("CLOUDINARY_PROVISIONING_API_KEY")
                    .provisioningApiSecret("CLOUDINARY_PROVISIONING_API_SECRET")
                    .build())
            .build();

        com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsRequest req = com.cloudinary.account.provisioning.models.operations.UpdateRolePrincipalsRequest.builder()
                .roleId("<id>")
                .updateRolePrincipalsRequest(UpdateRolePrincipalsRequest.builder()
                    .operation(OperationEnum.ADD)
                    .principals(List.of(
                        UpdateRolePrincipal.builder()
                            .principalType(PrincipalTypeEnum.USER)
                            .principalId("1234abc")
                            .scopeId("975l29lz02jt0836fhwi")
                            .policyParameters(UpdateRolePrincipalPolicyParameters.builder()
                                .build())
                            .build()))
                    .build())
                .build();

        UpdateRolePrincipalsResponse res = sdk.roles().updatePrincipals()
                .request(req)
                .call();

        // handle response
    }
}

Parameters

Parameter Type Required Description
request UpdateRolePrincipalsRequest ✔️ The request object to use for the request.

Response

UpdateRolePrincipalsResponse

Errors

Error Type Status Code Content Type
models/errors/PermissionsErrorResponse 400, 401, 403, 404 application/json
models/errors/SDKException 4XX, 5XX */*