get Snapshots
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.Apply(getSnapshotsResult => getSnapshotsResult.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
A collection of arguments for invoking getSnapshots.
Return
A collection of values returned by getSnapshots.
Parameters
The bucket name of OSS. While source_type equals OSS
, this parameter must be set.
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.
Complete time filter operator. Optional values: MATCH_TERM
, GREATER_THAN
, GREATER_THAN_OR_EQUAL
, LESS_THAN
, LESS_THAN_OR_EQUAL
, BETWEEN
.
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
.
The File System ID of Nas. While source_type equals NAS
, this parameter must be set.
A list of Snapshot IDs.
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.
File name where to save data source results (after running pulumi preview
).
Data source type, valid values: ECS_FILE
, OSS
, NAS
.
The status of snapshot, valid values: COMPLETE
, PARTIAL_COMPLETE
.
The ID of Vault.
See also
Return
A collection of values returned by getSnapshots.
Parameters
Builder for com.pulumi.alicloud.hbr.kotlin.inputs.GetSnapshotsPlainArgs.