Hana Backup Client Args
data class HanaBackupClientArgs(val alertSetting: Output<String>? = null, val clientInfo: Output<String>? = null, val useHttps: Output<Boolean>? = null, val vaultId: Output<String>? = null) : ConvertibleToJava<HanaBackupClientArgs>
Provides a Hybrid Backup Recovery (HBR) Hana Backup Client resource. For information about Hybrid Backup Recovery (HBR) Hana Backup Client and how to use it, see What is Hana Backup Client.
NOTE: Available in v1.198.0+.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.hbr.Vault;
import com.pulumi.alicloud.hbr.VaultArgs;
import com.pulumi.alicloud.hbr.HanaInstance;
import com.pulumi.alicloud.hbr.HanaInstanceArgs;
import com.pulumi.alicloud.hbr.HanaBackupClient;
import com.pulumi.alicloud.hbr.HanaBackupClientArgs;
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 exampleZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("Instance")
.build());
final var exampleInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cpuCoreCount(1)
.memorySize(2)
.build());
final var exampleImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
.owners("system")
.build());
var exampleNetwork = new Network("exampleNetwork", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("172.17.3.0/24")
.build());
var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
.vswitchName("terraform-example")
.cidrBlock("172.17.3.0/24")
.vpcId(exampleNetwork.id())
.zoneId(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder()
.vpcId(exampleNetwork.id())
.build());
var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder()
.imageId(exampleImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceType(exampleInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.availabilityZone(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.securityGroups(exampleSecurityGroup.id())
.instanceName("terraform-example")
.internetChargeType("PayByBandwidth")
.vswitchId(exampleSwitch.id())
.build());
final var exampleResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
.status("OK")
.build());
var exampleVault = new Vault("exampleVault", VaultArgs.builder()
.vaultName("terraform-example")
.build());
var exampleHanaInstance = new HanaInstance("exampleHanaInstance", HanaInstanceArgs.builder()
.alertSetting("INHERITED")
.hanaName("terraform-example")
.host("1.1.1.1")
.instanceNumber(1)
.password("YouPassword123")
.resourceGroupId(exampleResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.sid("HXE")
.useSsl(false)
.userName("admin")
.validateCertificate(false)
.vaultId(exampleVault.id())
.build());
var default_ = new HanaBackupClient("default", HanaBackupClientArgs.builder()
.vaultId(exampleVault.id())
.clientInfo(Output.tuple(exampleInstance.id(), exampleHanaInstance.hanaInstanceId()).applyValue(values -> {
var id = values.t1;
var hanaInstanceId = values.t2;
return String.format("[ {{ \"instanceId\": \"%s\", \"clusterId\": \"%s\", \"sourceTypes\": [ \"HANA\" ] }}]", id,hanaInstanceId);
}))
.alertSetting("INHERITED")
.useHttps(true)
.build());
}
}
Content copied to clipboard
Import
Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g.
$ pulumi import alicloud:hbr/hanaBackupClient:HanaBackupClient example <vault_id>:<client_id>
Content copied to clipboard
Constructors
Link copied to clipboard
fun HanaBackupClientArgs(alertSetting: Output<String>? = null, clientInfo: Output<String>? = null, useHttps: Output<Boolean>? = null, vaultId: Output<String>? = null)