IDirectory ITenantActionsSync.CreateDirectory(string name, string description, DirectoryStatus status)
        {
            var directory = this.GetInternalAsyncDataStore().Instantiate<IDirectory>();
            directory.SetName(name);
            directory.SetDescription(description);
            directory.SetStatus(status);

            return this.AsTenantActionSyncInterface.CreateDirectory(directory);
        }
 /// <summary>
 /// Synchronously creates a new Cloud Directory resource in the Tenant.
 /// </summary>
 /// <param name="tenantActions">The object supporting the <see cref="ITenantActions"/> interface.</param>
 /// <param name="name">The directory name.</param>
 /// <param name="description">The directory description.</param>
 /// <param name="status">The initial directory status.</param>
 /// <returns>The created <see cref="Directory.IDirectory">Directory</see>.</returns>
 /// <exception cref="Error.ResourceException">There was a problem creating the directory.</exception>
 public static IDirectory CreateDirectory(this ITenantActions tenantActions, string name, string description, DirectoryStatus status)
     => (tenantActions as ITenantActionsSync).CreateDirectory(name, description, status);
        Task<IDirectory> ITenantActions.CreateDirectoryAsync(string name, string description, DirectoryStatus status, CancellationToken cancellationToken)
        {
            var directory = this.GetInternalAsyncDataStore().Instantiate<IDirectory>();
            directory.SetName(name);
            directory.SetDescription(description);
            directory.SetStatus(status);

            return this.AsInterface.CreateDirectoryAsync(directory, cancellationToken);
        }
        IDirectory ITenantActionsSync.CreateDirectory(string name, string description, DirectoryStatus status)
        {
            this.EnsureTenant();

            return this.tenant.CreateDirectory(name, description, status);
        }
        async Task<IDirectory> ITenantActions.CreateDirectoryAsync(string name, string description, DirectoryStatus status, CancellationToken cancellationToken)
        {
            await this.EnsureTenantAsync(cancellationToken).ConfigureAwait(false);

            return await this.tenant.CreateDirectoryAsync(name, description, status, cancellationToken).ConfigureAwait(false);
        }