rancher2.EtcdBackup
Explore with Pulumi AI
Provides a Rancher v2 Etcd Backup resource. This can be used to create an Etcd Backup for Rancher v2.2.x and above, and to retrieve their information.
The rancher2.EtcdBackup
resource is used to define extra etcd backups for a rancher2.Cluster
, which will be created as a local or S3 backup in accordance with the etcd backup config for the cluster. The main etcd backup config for the cluster should be set on the cluster config
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Create a new rancher2 Etcd Backup
const foo = new rancher2.EtcdBackup("foo", {
backupConfig: {
enabled: true,
intervalHours: 20,
retention: 10,
s3BackupConfig: {
accessKey: "access_key",
bucketName: "bucket_name",
endpoint: "endpoint",
folder: "/folder",
region: "region",
secretKey: "secret_key",
},
},
clusterId: "<CLUSTER_ID>",
name: "foo",
filename: "<FILENAME>",
});
import pulumi
import pulumi_rancher2 as rancher2
# Create a new rancher2 Etcd Backup
foo = rancher2.EtcdBackup("foo",
backup_config=rancher2.EtcdBackupBackupConfigArgs(
enabled=True,
interval_hours=20,
retention=10,
s3_backup_config=rancher2.EtcdBackupBackupConfigS3BackupConfigArgs(
access_key="access_key",
bucket_name="bucket_name",
endpoint="endpoint",
folder="/folder",
region="region",
secret_key="secret_key",
),
),
cluster_id="<CLUSTER_ID>",
name="foo",
filename="<FILENAME>")
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a new rancher2 Etcd Backup
_, err := rancher2.NewEtcdBackup(ctx, "foo", &rancher2.EtcdBackupArgs{
BackupConfig: &rancher2.EtcdBackupBackupConfigArgs{
Enabled: pulumi.Bool(true),
IntervalHours: pulumi.Int(20),
Retention: pulumi.Int(10),
S3BackupConfig: &rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{
AccessKey: pulumi.String("access_key"),
BucketName: pulumi.String("bucket_name"),
Endpoint: pulumi.String("endpoint"),
Folder: pulumi.String("/folder"),
Region: pulumi.String("region"),
SecretKey: pulumi.String("secret_key"),
},
},
ClusterId: pulumi.String("<CLUSTER_ID>"),
Name: pulumi.String("foo"),
Filename: pulumi.String("<FILENAME>"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
// Create a new rancher2 Etcd Backup
var foo = new Rancher2.EtcdBackup("foo", new()
{
BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs
{
Enabled = true,
IntervalHours = 20,
Retention = 10,
S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs
{
AccessKey = "access_key",
BucketName = "bucket_name",
Endpoint = "endpoint",
Folder = "/folder",
Region = "region",
SecretKey = "secret_key",
},
},
ClusterId = "<CLUSTER_ID>",
Name = "foo",
Filename = "<FILENAME>",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.EtcdBackup;
import com.pulumi.rancher2.EtcdBackupArgs;
import com.pulumi.rancher2.inputs.EtcdBackupBackupConfigArgs;
import com.pulumi.rancher2.inputs.EtcdBackupBackupConfigS3BackupConfigArgs;
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) {
// Create a new rancher2 Etcd Backup
var foo = new EtcdBackup("foo", EtcdBackupArgs.builder()
.backupConfig(EtcdBackupBackupConfigArgs.builder()
.enabled(true)
.intervalHours(20)
.retention(10)
.s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()
.accessKey("access_key")
.bucketName("bucket_name")
.endpoint("endpoint")
.folder("/folder")
.region("region")
.secretKey("secret_key")
.build())
.build())
.clusterId("<CLUSTER_ID>")
.name("foo")
.filename("<FILENAME>")
.build());
}
}
resources:
# Create a new rancher2 Etcd Backup
foo:
type: rancher2:EtcdBackup
properties:
backupConfig:
enabled: true
intervalHours: 20
retention: 10
s3BackupConfig:
accessKey: access_key
bucketName: bucket_name
endpoint: endpoint
folder: /folder
region: region
secretKey: secret_key
clusterId: <CLUSTER_ID>
name: foo
filename: <FILENAME>
Create EtcdBackup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new EtcdBackup(name: string, args: EtcdBackupArgs, opts?: CustomResourceOptions);
@overload
def EtcdBackup(resource_name: str,
args: EtcdBackupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def EtcdBackup(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster_id: Optional[str] = None,
annotations: Optional[Mapping[str, Any]] = None,
backup_config: Optional[EtcdBackupBackupConfigArgs] = None,
filename: Optional[str] = None,
labels: Optional[Mapping[str, Any]] = None,
manual: Optional[bool] = None,
name: Optional[str] = None,
namespace_id: Optional[str] = None)
func NewEtcdBackup(ctx *Context, name string, args EtcdBackupArgs, opts ...ResourceOption) (*EtcdBackup, error)
public EtcdBackup(string name, EtcdBackupArgs args, CustomResourceOptions? opts = null)
public EtcdBackup(String name, EtcdBackupArgs args)
public EtcdBackup(String name, EtcdBackupArgs args, CustomResourceOptions options)
type: rancher2:EtcdBackup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args EtcdBackupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args EtcdBackupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args EtcdBackupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EtcdBackupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args EtcdBackupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var etcdBackupResource = new Rancher2.EtcdBackup("etcdBackupResource", new()
{
ClusterId = "string",
Annotations =
{
{ "string", "any" },
},
BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs
{
Enabled = false,
IntervalHours = 0,
Retention = 0,
S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs
{
BucketName = "string",
Endpoint = "string",
AccessKey = "string",
CustomCa = "string",
Folder = "string",
Region = "string",
SecretKey = "string",
},
SafeTimestamp = false,
Timeout = 0,
},
Filename = "string",
Labels =
{
{ "string", "any" },
},
Manual = false,
Name = "string",
NamespaceId = "string",
});
example, err := rancher2.NewEtcdBackup(ctx, "etcdBackupResource", &rancher2.EtcdBackupArgs{
ClusterId: pulumi.String("string"),
Annotations: pulumi.Map{
"string": pulumi.Any("any"),
},
BackupConfig: &rancher2.EtcdBackupBackupConfigArgs{
Enabled: pulumi.Bool(false),
IntervalHours: pulumi.Int(0),
Retention: pulumi.Int(0),
S3BackupConfig: &rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{
BucketName: pulumi.String("string"),
Endpoint: pulumi.String("string"),
AccessKey: pulumi.String("string"),
CustomCa: pulumi.String("string"),
Folder: pulumi.String("string"),
Region: pulumi.String("string"),
SecretKey: pulumi.String("string"),
},
SafeTimestamp: pulumi.Bool(false),
Timeout: pulumi.Int(0),
},
Filename: pulumi.String("string"),
Labels: pulumi.Map{
"string": pulumi.Any("any"),
},
Manual: pulumi.Bool(false),
Name: pulumi.String("string"),
NamespaceId: pulumi.String("string"),
})
var etcdBackupResource = new EtcdBackup("etcdBackupResource", EtcdBackupArgs.builder()
.clusterId("string")
.annotations(Map.of("string", "any"))
.backupConfig(EtcdBackupBackupConfigArgs.builder()
.enabled(false)
.intervalHours(0)
.retention(0)
.s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()
.bucketName("string")
.endpoint("string")
.accessKey("string")
.customCa("string")
.folder("string")
.region("string")
.secretKey("string")
.build())
.safeTimestamp(false)
.timeout(0)
.build())
.filename("string")
.labels(Map.of("string", "any"))
.manual(false)
.name("string")
.namespaceId("string")
.build());
etcd_backup_resource = rancher2.EtcdBackup("etcdBackupResource",
cluster_id="string",
annotations={
"string": "any",
},
backup_config=rancher2.EtcdBackupBackupConfigArgs(
enabled=False,
interval_hours=0,
retention=0,
s3_backup_config=rancher2.EtcdBackupBackupConfigS3BackupConfigArgs(
bucket_name="string",
endpoint="string",
access_key="string",
custom_ca="string",
folder="string",
region="string",
secret_key="string",
),
safe_timestamp=False,
timeout=0,
),
filename="string",
labels={
"string": "any",
},
manual=False,
name="string",
namespace_id="string")
const etcdBackupResource = new rancher2.EtcdBackup("etcdBackupResource", {
clusterId: "string",
annotations: {
string: "any",
},
backupConfig: {
enabled: false,
intervalHours: 0,
retention: 0,
s3BackupConfig: {
bucketName: "string",
endpoint: "string",
accessKey: "string",
customCa: "string",
folder: "string",
region: "string",
secretKey: "string",
},
safeTimestamp: false,
timeout: 0,
},
filename: "string",
labels: {
string: "any",
},
manual: false,
name: "string",
namespaceId: "string",
});
type: rancher2:EtcdBackup
properties:
annotations:
string: any
backupConfig:
enabled: false
intervalHours: 0
retention: 0
s3BackupConfig:
accessKey: string
bucketName: string
customCa: string
endpoint: string
folder: string
region: string
secretKey: string
safeTimestamp: false
timeout: 0
clusterId: string
filename: string
labels:
string: any
manual: false
name: string
namespaceId: string
EtcdBackup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The EtcdBackup resource accepts the following input properties:
- Cluster
Id string - Cluster ID to config Etcd Backup (string)
- Annotations Dictionary<string, object>
- Annotations for Etcd Backup object (map)
- Backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- Filename string
- Filename of the Etcd Backup (string)
- Labels Dictionary<string, object>
- Labels for Etcd Backup object (map)
- Manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - Name string
- The name of the Etcd Backup (string)
- Namespace
Id string - Description for the Etcd Backup (string)
- Cluster
Id string - Cluster ID to config Etcd Backup (string)
- Annotations map[string]interface{}
- Annotations for Etcd Backup object (map)
- Backup
Config EtcdBackup Backup Config Args - Backup config for etcd backup (list maxitems:1)
- Filename string
- Filename of the Etcd Backup (string)
- Labels map[string]interface{}
- Labels for Etcd Backup object (map)
- Manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - Name string
- The name of the Etcd Backup (string)
- Namespace
Id string - Description for the Etcd Backup (string)
- cluster
Id String - Cluster ID to config Etcd Backup (string)
- annotations Map<String,Object>
- Annotations for Etcd Backup object (map)
- backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- filename String
- Filename of the Etcd Backup (string)
- labels Map<String,Object>
- Labels for Etcd Backup object (map)
- manual Boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name String
- The name of the Etcd Backup (string)
- namespace
Id String - Description for the Etcd Backup (string)
- cluster
Id string - Cluster ID to config Etcd Backup (string)
- annotations {[key: string]: any}
- Annotations for Etcd Backup object (map)
- backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- filename string
- Filename of the Etcd Backup (string)
- labels {[key: string]: any}
- Labels for Etcd Backup object (map)
- manual boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name string
- The name of the Etcd Backup (string)
- namespace
Id string - Description for the Etcd Backup (string)
- cluster_
id str - Cluster ID to config Etcd Backup (string)
- annotations Mapping[str, Any]
- Annotations for Etcd Backup object (map)
- backup_
config EtcdBackup Backup Config Args - Backup config for etcd backup (list maxitems:1)
- filename str
- Filename of the Etcd Backup (string)
- labels Mapping[str, Any]
- Labels for Etcd Backup object (map)
- manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - name str
- The name of the Etcd Backup (string)
- namespace_
id str - Description for the Etcd Backup (string)
- cluster
Id String - Cluster ID to config Etcd Backup (string)
- annotations Map<Any>
- Annotations for Etcd Backup object (map)
- backup
Config Property Map - Backup config for etcd backup (list maxitems:1)
- filename String
- Filename of the Etcd Backup (string)
- labels Map<Any>
- Labels for Etcd Backup object (map)
- manual Boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name String
- The name of the Etcd Backup (string)
- namespace
Id String - Description for the Etcd Backup (string)
Outputs
All input properties are implicitly available as output properties. Additionally, the EtcdBackup resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing EtcdBackup Resource
Get an existing EtcdBackup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: EtcdBackupState, opts?: CustomResourceOptions): EtcdBackup
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
annotations: Optional[Mapping[str, Any]] = None,
backup_config: Optional[EtcdBackupBackupConfigArgs] = None,
cluster_id: Optional[str] = None,
filename: Optional[str] = None,
labels: Optional[Mapping[str, Any]] = None,
manual: Optional[bool] = None,
name: Optional[str] = None,
namespace_id: Optional[str] = None) -> EtcdBackup
func GetEtcdBackup(ctx *Context, name string, id IDInput, state *EtcdBackupState, opts ...ResourceOption) (*EtcdBackup, error)
public static EtcdBackup Get(string name, Input<string> id, EtcdBackupState? state, CustomResourceOptions? opts = null)
public static EtcdBackup get(String name, Output<String> id, EtcdBackupState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Annotations Dictionary<string, object>
- Annotations for Etcd Backup object (map)
- Backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- Cluster
Id string - Cluster ID to config Etcd Backup (string)
- Filename string
- Filename of the Etcd Backup (string)
- Labels Dictionary<string, object>
- Labels for Etcd Backup object (map)
- Manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - Name string
- The name of the Etcd Backup (string)
- Namespace
Id string - Description for the Etcd Backup (string)
- Annotations map[string]interface{}
- Annotations for Etcd Backup object (map)
- Backup
Config EtcdBackup Backup Config Args - Backup config for etcd backup (list maxitems:1)
- Cluster
Id string - Cluster ID to config Etcd Backup (string)
- Filename string
- Filename of the Etcd Backup (string)
- Labels map[string]interface{}
- Labels for Etcd Backup object (map)
- Manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - Name string
- The name of the Etcd Backup (string)
- Namespace
Id string - Description for the Etcd Backup (string)
- annotations Map<String,Object>
- Annotations for Etcd Backup object (map)
- backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- cluster
Id String - Cluster ID to config Etcd Backup (string)
- filename String
- Filename of the Etcd Backup (string)
- labels Map<String,Object>
- Labels for Etcd Backup object (map)
- manual Boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name String
- The name of the Etcd Backup (string)
- namespace
Id String - Description for the Etcd Backup (string)
- annotations {[key: string]: any}
- Annotations for Etcd Backup object (map)
- backup
Config EtcdBackup Backup Config - Backup config for etcd backup (list maxitems:1)
- cluster
Id string - Cluster ID to config Etcd Backup (string)
- filename string
- Filename of the Etcd Backup (string)
- labels {[key: string]: any}
- Labels for Etcd Backup object (map)
- manual boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name string
- The name of the Etcd Backup (string)
- namespace
Id string - Description for the Etcd Backup (string)
- annotations Mapping[str, Any]
- Annotations for Etcd Backup object (map)
- backup_
config EtcdBackup Backup Config Args - Backup config for etcd backup (list maxitems:1)
- cluster_
id str - Cluster ID to config Etcd Backup (string)
- filename str
- Filename of the Etcd Backup (string)
- labels Mapping[str, Any]
- Labels for Etcd Backup object (map)
- manual bool
- Manual execution of the Etcd Backup. Default
false
(bool) - name str
- The name of the Etcd Backup (string)
- namespace_
id str - Description for the Etcd Backup (string)
- annotations Map<Any>
- Annotations for Etcd Backup object (map)
- backup
Config Property Map - Backup config for etcd backup (list maxitems:1)
- cluster
Id String - Cluster ID to config Etcd Backup (string)
- filename String
- Filename of the Etcd Backup (string)
- labels Map<Any>
- Labels for Etcd Backup object (map)
- manual Boolean
- Manual execution of the Etcd Backup. Default
false
(bool) - name String
- The name of the Etcd Backup (string)
- namespace
Id String - Description for the Etcd Backup (string)
Supporting Types
EtcdBackupBackupConfig, EtcdBackupBackupConfigArgs
- enabled Boolean
- interval
Hours Integer - retention Integer
- s3Backup
Config EtcdBackup Backup Config S3Backup Config - safe
Timestamp Boolean - timeout Integer
- enabled boolean
- interval
Hours number - retention number
- s3Backup
Config EtcdBackup Backup Config S3Backup Config - safe
Timestamp boolean - timeout number
- enabled Boolean
- interval
Hours Number - retention Number
- s3Backup
Config Property Map - safe
Timestamp Boolean - timeout Number
EtcdBackupBackupConfigS3BackupConfig, EtcdBackupBackupConfigS3BackupConfigArgs
- bucket_
name str - endpoint str
- access_
key str - custom_
ca str - folder str
- region str
- secret_
key str
Import
Etcd Backup can be imported using the Rancher etcd backup ID
$ pulumi import rancher2:index/etcdBackup:EtcdBackup foo <ETCD_BACKUP_ID>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Rancher2 pulumi/pulumi-rancher2
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
rancher2
Terraform Provider.