getSnapshots

This data source provides the Hbr Snapshots of the current Alibaba Cloud user.

NOTE: Available in v1.133.0+.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.hbr.getEcsBackupPlans({
nameRegex: "plan-tf-used-dont-delete",
});
const defaultGetOssBackupPlans = alicloud.hbr.getOssBackupPlans({
nameRegex: "plan-tf-used-dont-delete",
});
const defaultGetNasBackupPlans = alicloud.hbr.getNasBackupPlans({
nameRegex: "plan-tf-used-dont-delete",
});
const ecsSnapshots = Promise.all([_default, _default]).then(([_default, _default1]) => alicloud.hbr.getSnapshots({
sourceType: "ECS_FILE",
vaultId: _default.plans?.[0]?.vaultId,
instanceId: _default1.plans?.[0]?.instanceId,
}));
const ossSnapshots = Promise.all([defaultGetOssBackupPlans, defaultGetOssBackupPlans]).then(([defaultGetOssBackupPlans, defaultGetOssBackupPlans1]) => alicloud.hbr.getSnapshots({
sourceType: "OSS",
vaultId: defaultGetOssBackupPlans.plans?.[0]?.vaultId,
bucket: defaultGetOssBackupPlans1.plans?.[0]?.bucket,
completeTime: "2021-07-20T14:17:15CST,2021-07-24T14:17:15CST",
completeTimeChecker: "BETWEEN",
}));
const nasSnapshots = Promise.all([defaultGetNasBackupPlans, defaultGetNasBackupPlans, defaultGetNasBackupPlans]).then(([defaultGetNasBackupPlans, defaultGetNasBackupPlans1, defaultGetNasBackupPlans2]) => alicloud.hbr.getSnapshots({
sourceType: "NAS",
vaultId: defaultGetNasBackupPlans.plans?.[0]?.vaultId,
fileSystemId: defaultGetNasBackupPlans1.plans?.[0]?.fileSystemId,
createTime: defaultGetNasBackupPlans2.plans?.[0]?.createTime,
completeTime: "2021-08-23T14:17:15CST",
completeTimeChecker: "GREATER_THAN_OR_EQUAL",
}));
export const hbrSnapshotId1 = nasSnapshots.then(nasSnapshots => nasSnapshots.snapshots?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.hbr.get_ecs_backup_plans(name_regex="plan-tf-used-dont-delete")
default_get_oss_backup_plans = alicloud.hbr.get_oss_backup_plans(name_regex="plan-tf-used-dont-delete")
default_get_nas_backup_plans = alicloud.hbr.get_nas_backup_plans(name_regex="plan-tf-used-dont-delete")
ecs_snapshots = alicloud.hbr.get_snapshots(source_type="ECS_FILE",
vault_id=default.plans[0].vault_id,
instance_id=default.plans[0].instance_id)
oss_snapshots = alicloud.hbr.get_snapshots(source_type="OSS",
vault_id=default_get_oss_backup_plans.plans[0].vault_id,
bucket=default_get_oss_backup_plans.plans[0].bucket,
complete_time="2021-07-20T14:17:15CST,2021-07-24T14:17:15CST",
complete_time_checker="BETWEEN")
nas_snapshots = alicloud.hbr.get_snapshots(source_type="NAS",
vault_id=default_get_nas_backup_plans.plans[0].vault_id,
file_system_id=default_get_nas_backup_plans.plans[0].file_system_id,
create_time=default_get_nas_backup_plans.plans[0].create_time,
complete_time="2021-08-23T14:17:15CST",
complete_time_checker="GREATER_THAN_OR_EQUAL")
pulumi.export("hbrSnapshotId1", nas_snapshots.snapshots[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.Hbr.GetEcsBackupPlans.Invoke(new()
{
NameRegex = "plan-tf-used-dont-delete",
});
var defaultGetOssBackupPlans = AliCloud.Hbr.GetOssBackupPlans.Invoke(new()
{
NameRegex = "plan-tf-used-dont-delete",
});
var defaultGetNasBackupPlans = AliCloud.Hbr.GetNasBackupPlans.Invoke(new()
{
NameRegex = "plan-tf-used-dont-delete",
});
var ecsSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()
{
SourceType = "ECS_FILE",
VaultId = @default.Apply(getEcsBackupPlansResult => getEcsBackupPlansResult.Plans[0]?.VaultId),
InstanceId = @default.Apply(getEcsBackupPlansResult => getEcsBackupPlansResult.Plans[0]?.InstanceId),
});
var ossSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()
{
SourceType = "OSS",
VaultId = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult => getOssBackupPlansResult.Plans[0]?.VaultId),
Bucket = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult => getOssBackupPlansResult.Plans[0]?.Bucket),
CompleteTime = "2021-07-20T14:17:15CST,2021-07-24T14:17:15CST",
CompleteTimeChecker = "BETWEEN",
});
var nasSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()
{
SourceType = "NAS",
VaultId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult => getNasBackupPlansResult.Plans[0]?.VaultId),
FileSystemId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult => getNasBackupPlansResult.Plans[0]?.FileSystemId),
CreateTime = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult => getNasBackupPlansResult.Plans[0]?.CreateTime),
CompleteTime = "2021-08-23T14:17:15CST",
CompleteTimeChecker = "GREATER_THAN_OR_EQUAL",
});
return new Dictionary<string, object?>
{
["hbrSnapshotId1"] = nasSnapshots&#46;Apply(getSnapshotsResult => getSnapshotsResult&#46;Snapshots[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := hbr.GetEcsBackupPlans(ctx, &hbr.GetEcsBackupPlansArgs{
NameRegex: pulumi.StringRef("plan-tf-used-dont-delete"),
}, nil)
if err != nil {
return err
}
defaultGetOssBackupPlans, err := hbr.GetOssBackupPlans(ctx, &hbr.GetOssBackupPlansArgs{
NameRegex: pulumi.StringRef("plan-tf-used-dont-delete"),
}, nil)
if err != nil {
return err
}
defaultGetNasBackupPlans, err := hbr.GetNasBackupPlans(ctx, &hbr.GetNasBackupPlansArgs{
NameRegex: pulumi.StringRef("plan-tf-used-dont-delete"),
}, nil)
if err != nil {
return err
}
_, err = hbr.GetSnapshots(ctx, &hbr.GetSnapshotsArgs{
SourceType: "ECS_FILE",
VaultId: _default.Plans[0].VaultId,
InstanceId: pulumi.StringRef(_default.Plans[0].InstanceId),
}, nil)
if err != nil {
return err
}
_, err = hbr.GetSnapshots(ctx, &hbr.GetSnapshotsArgs{
SourceType: "OSS",
VaultId: defaultGetOssBackupPlans.Plans[0].VaultId,
Bucket: pulumi.StringRef(defaultGetOssBackupPlans.Plans[0].Bucket),
CompleteTime: pulumi.StringRef("2021-07-20T14:17:15CST,2021-07-24T14:17:15CST"),
CompleteTimeChecker: pulumi.StringRef("BETWEEN"),
}, nil)
if err != nil {
return err
}
nasSnapshots, err := hbr.GetSnapshots(ctx, &hbr.GetSnapshotsArgs{
SourceType: "NAS",
VaultId: defaultGetNasBackupPlans.Plans[0].VaultId,
FileSystemId: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].FileSystemId),
CreateTime: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].CreateTime),
CompleteTime: pulumi.StringRef("2021-08-23T14:17:15CST"),
CompleteTimeChecker: pulumi.StringRef("GREATER_THAN_OR_EQUAL"),
}, nil)
if err != nil {
return err
}
ctx.Export("hbrSnapshotId1", nasSnapshots.Snapshots[0].Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.hbr.HbrFunctions;
import com.pulumi.alicloud.hbr.inputs.GetEcsBackupPlansArgs;
import com.pulumi.alicloud.hbr.inputs.GetOssBackupPlansArgs;
import com.pulumi.alicloud.hbr.inputs.GetNasBackupPlansArgs;
import com.pulumi.alicloud.hbr.inputs.GetSnapshotsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var default = HbrFunctions.getEcsBackupPlans(GetEcsBackupPlansArgs.builder()
.nameRegex("plan-tf-used-dont-delete")
.build());
final var defaultGetOssBackupPlans = HbrFunctions.getOssBackupPlans(GetOssBackupPlansArgs.builder()
.nameRegex("plan-tf-used-dont-delete")
.build());
final var defaultGetNasBackupPlans = HbrFunctions.getNasBackupPlans(GetNasBackupPlansArgs.builder()
.nameRegex("plan-tf-used-dont-delete")
.build());
final var ecsSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()
.sourceType("ECS_FILE")
.vaultId(default_.plans()[0].vaultId())
.instanceId(default_.plans()[0].instanceId())
.build());
final var ossSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()
.sourceType("OSS")
.vaultId(defaultGetOssBackupPlans.plans()[0].vaultId())
.bucket(defaultGetOssBackupPlans.plans()[0].bucket())
.completeTime("2021-07-20T14:17:15CST,2021-07-24T14:17:15CST")
.completeTimeChecker("BETWEEN")
.build());
final var nasSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()
.sourceType("NAS")
.vaultId(defaultGetNasBackupPlans.plans()[0].vaultId())
.fileSystemId(defaultGetNasBackupPlans.plans()[0].fileSystemId())
.createTime(defaultGetNasBackupPlans.plans()[0].createTime())
.completeTime("2021-08-23T14:17:15CST")
.completeTimeChecker("GREATER_THAN_OR_EQUAL")
.build());
ctx.export("hbrSnapshotId1", nasSnapshots.snapshots()[0].id());
}
}
variables:
default:
fn::invoke:
function: alicloud:hbr:getEcsBackupPlans
arguments:
nameRegex: plan-tf-used-dont-delete
defaultGetOssBackupPlans:
fn::invoke:
function: alicloud:hbr:getOssBackupPlans
arguments:
nameRegex: plan-tf-used-dont-delete
defaultGetNasBackupPlans:
fn::invoke:
function: alicloud:hbr:getNasBackupPlans
arguments:
nameRegex: plan-tf-used-dont-delete
ecsSnapshots:
fn::invoke:
function: alicloud:hbr:getSnapshots
arguments:
sourceType: ECS_FILE
vaultId: ${default.plans[0].vaultId}
instanceId: ${default.plans[0].instanceId}
ossSnapshots:
fn::invoke:
function: alicloud:hbr:getSnapshots
arguments:
sourceType: OSS
vaultId: ${defaultGetOssBackupPlans.plans[0].vaultId}
bucket: ${defaultGetOssBackupPlans.plans[0].bucket}
completeTime: 2021-07-20T14:17:15CST,2021-07-24T14:17:15CST
completeTimeChecker: BETWEEN
nasSnapshots:
fn::invoke:
function: alicloud:hbr:getSnapshots
arguments:
sourceType: NAS
vaultId: ${defaultGetNasBackupPlans.plans[0].vaultId}
fileSystemId: ${defaultGetNasBackupPlans.plans[0].fileSystemId}
createTime: ${defaultGetNasBackupPlans.plans[0].createTime}
completeTime: 2021-08-23T14:17:15CST
completeTimeChecker: GREATER_THAN_OR_EQUAL
outputs:
hbrSnapshotId1: ${nasSnapshots.snapshots[0].id}

Return

A collection of values returned by getSnapshots.

Parameters

argument

A collection of arguments for invoking getSnapshots.


suspend fun getSnapshots(bucket: String? = null, completeTime: String? = null, completeTimeChecker: String? = null, createTime: String? = null, fileSystemId: String? = null, ids: List<String>? = null, instanceId: String? = null, limit: Int? = null, outputFile: String? = null, query: String? = null, sourceType: String, status: String? = null, vaultId: String): GetSnapshotsResult

Return

A collection of values returned by getSnapshots.

Parameters

bucket

The bucket name of OSS. While source_type equals OSS, this parameter must be set.

completeTime

Timestamp of Snapshot completion. Note The time format of the API adopts the ISO 8601 format, such as 2021-07-09T15:45:30CST or 2021-07-09T07:45:30Z. Note: While complete_time_checker equals BETWEEN, this field should be formatted such as "2021-08-20T14:17:15CST,2021-08-26T14:17:15CST", The first part of this string is the start time, the second part is the end time, and the two parts should be separated by commas.

completeTimeChecker

Complete time filter operator. Optional values: MATCH_TERM, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, BETWEEN.

createTime

File system creation timestamp of Nas. While source_type equals NAS, this parameter must be set. Note The time format of the API adopts the ISO 8601 format, such as 2021-07-09T15:45:30CST or 2021-07-09T07:45:30Z.

fileSystemId

The File System ID of Nas. While source_type equals NAS, this parameter must be set.

ids

A list of Snapshot IDs.

instanceId

The ID of ECS instance. The ecs backup client must have been installed on the host. While source_type equals ECS_FILE, this parameter must be set.

limit
outputFile

File name where to save data source results (after running pulumi preview).

query
sourceType

Data source type, valid values: ECS_FILE, OSS, NAS.

status

The status of snapshot, valid values: COMPLETE, PARTIAL_COMPLETE.

vaultId

The ID of Vault.

See also


Return

A collection of values returned by getSnapshots.

Parameters

argument

Builder for com.pulumi.alicloud.hbr.kotlin.inputs.GetSnapshotsPlainArgs.

See also