using System.Diagnostics.CodeAnalysis;
using ModularPipelines.Attributes;
using ModularPipelines.Context;
using ModularPipelines.Google.Options;
using ModularPipelines.Models;
namespace ModularPipelines.Google.Services;
[ExcludeFromCodeCoverage]
public class GcloudOrganizations
{
public GcloudOrganizations(
ICommand internalCommand
)
{
_command = internalCommand;
}
private readonly ICommand _command;
public async Task<CommandResult> AddIamPolicyBinding(GcloudOrganizationsAddIamPolicyBindingOptions options, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options, token);
}
public async Task<CommandResult> Describe(GcloudOrganizationsDescribeOptions options, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options, token);
}
public async Task<CommandResult> GetIamPolicy(GcloudOrganizationsGetIamPolicyOptions options, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options, token);
}
public async Task<CommandResult> List(GcloudOrganizationsListOptions? options = default, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options ?? new GcloudOrganizationsListOptions(), token);
}
public async Task<CommandResult> RemoveIamPolicyBinding(GcloudOrganizationsRemoveIamPolicyBindingOptions options, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options, token);
}
public async Task<CommandResult> SetIamPolicy(GcloudOrganizationsSetIamPolicyOptions options, CancellationToken token = default)
{
return await _command.ExecuteCommandLineTool(options, token);
}
}