1. Packages
  2. Rancher2
  3. API Docs
  4. EtcdBackup
Rancher 2 v6.0.0 published on Wednesday, Feb 14, 2024 by Pulumi

rancher2.EtcdBackup

Explore with Pulumi AI

rancher2 logo
Rancher 2 v6.0.0 published on Wednesday, Feb 14, 2024 by Pulumi

    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

    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>",
            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 {
    		_, 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>"),
    			Filename:  pulumi.String("<FILENAME>"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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) {
            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>")
                .filename("<FILENAME>")
                .build());
    
        }
    }
    
    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>",
        filename="<FILENAME>")
    
    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>",
        filename: "<FILENAME>",
    });
    
    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>
          filename: <FILENAME>
    

    Create EtcdBackup Resource

    new EtcdBackup(name: string, args: EtcdBackupArgs, opts?: CustomResourceOptions);
    @overload
    def EtcdBackup(resource_name: 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)
    @overload
    def EtcdBackup(resource_name: str,
                   args: EtcdBackupArgs,
                   opts: Optional[ResourceOptions] = 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.
    
    
    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.

    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:

    ClusterId string
    Cluster ID to config Etcd Backup (string)
    Annotations Dictionary<string, object>
    Annotations for Etcd Backup object (map)
    BackupConfig EtcdBackupBackupConfig
    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)
    NamespaceId string
    Description for the Etcd Backup (string)
    ClusterId string
    Cluster ID to config Etcd Backup (string)
    Annotations map[string]interface{}
    Annotations for Etcd Backup object (map)
    BackupConfig EtcdBackupBackupConfigArgs
    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)
    NamespaceId string
    Description for the Etcd Backup (string)
    clusterId String
    Cluster ID to config Etcd Backup (string)
    annotations Map<String,Object>
    Annotations for Etcd Backup object (map)
    backupConfig EtcdBackupBackupConfig
    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)
    namespaceId String
    Description for the Etcd Backup (string)
    clusterId string
    Cluster ID to config Etcd Backup (string)
    annotations {[key: string]: any}
    Annotations for Etcd Backup object (map)
    backupConfig EtcdBackupBackupConfig
    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)
    namespaceId 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 EtcdBackupBackupConfigArgs
    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)
    clusterId String
    Cluster ID to config Etcd Backup (string)
    annotations Map<Any>
    Annotations for Etcd Backup object (map)
    backupConfig 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)
    namespaceId 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.
    The following state arguments are supported:
    Annotations Dictionary<string, object>
    Annotations for Etcd Backup object (map)
    BackupConfig EtcdBackupBackupConfig
    Backup config for etcd backup (list maxitems:1)
    ClusterId 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)
    NamespaceId string
    Description for the Etcd Backup (string)
    Annotations map[string]interface{}
    Annotations for Etcd Backup object (map)
    BackupConfig EtcdBackupBackupConfigArgs
    Backup config for etcd backup (list maxitems:1)
    ClusterId 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)
    NamespaceId string
    Description for the Etcd Backup (string)
    annotations Map<String,Object>
    Annotations for Etcd Backup object (map)
    backupConfig EtcdBackupBackupConfig
    Backup config for etcd backup (list maxitems:1)
    clusterId 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)
    namespaceId String
    Description for the Etcd Backup (string)
    annotations {[key: string]: any}
    Annotations for Etcd Backup object (map)
    backupConfig EtcdBackupBackupConfig
    Backup config for etcd backup (list maxitems:1)
    clusterId 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)
    namespaceId string
    Description for the Etcd Backup (string)
    annotations Mapping[str, Any]
    Annotations for Etcd Backup object (map)
    backup_config EtcdBackupBackupConfigArgs
    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)
    backupConfig Property Map
    Backup config for etcd backup (list maxitems:1)
    clusterId 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)
    namespaceId String
    Description for the Etcd Backup (string)

    Supporting Types

    EtcdBackupBackupConfig, EtcdBackupBackupConfigArgs

    Enabled bool
    Enable etcd backup (bool)
    IntervalHours int
    Interval hours for etcd backup. Default 12 (int)
    Retention int
    Retention for etcd backup. Default 6 (int)
    S3BackupConfig EtcdBackupBackupConfigS3BackupConfig
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    SafeTimestamp bool
    Timeout int
    Enabled bool
    Enable etcd backup (bool)
    IntervalHours int
    Interval hours for etcd backup. Default 12 (int)
    Retention int
    Retention for etcd backup. Default 6 (int)
    S3BackupConfig EtcdBackupBackupConfigS3BackupConfig
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    SafeTimestamp bool
    Timeout int
    enabled Boolean
    Enable etcd backup (bool)
    intervalHours Integer
    Interval hours for etcd backup. Default 12 (int)
    retention Integer
    Retention for etcd backup. Default 6 (int)
    s3BackupConfig EtcdBackupBackupConfigS3BackupConfig
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    safeTimestamp Boolean
    timeout Integer
    enabled boolean
    Enable etcd backup (bool)
    intervalHours number
    Interval hours for etcd backup. Default 12 (int)
    retention number
    Retention for etcd backup. Default 6 (int)
    s3BackupConfig EtcdBackupBackupConfigS3BackupConfig
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    safeTimestamp boolean
    timeout number
    enabled bool
    Enable etcd backup (bool)
    interval_hours int
    Interval hours for etcd backup. Default 12 (int)
    retention int
    Retention for etcd backup. Default 6 (int)
    s3_backup_config EtcdBackupBackupConfigS3BackupConfig
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    safe_timestamp bool
    timeout int
    enabled Boolean
    Enable etcd backup (bool)
    intervalHours Number
    Interval hours for etcd backup. Default 12 (int)
    retention Number
    Retention for etcd backup. Default 6 (int)
    s3BackupConfig Property Map
    S3 config options for etcd backup. Valid for imported and rke clusters. (list maxitems:1)
    safeTimestamp Boolean
    timeout Number

    EtcdBackupBackupConfigS3BackupConfig, EtcdBackupBackupConfigS3BackupConfigArgs

    BucketName string
    Bucket name for S3 service (string)
    Endpoint string
    Endpoint for S3 service (string)
    AccessKey string
    Access key for S3 service (string)
    CustomCa string
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    Folder string
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    Region string
    Region for S3 service (string)
    SecretKey string
    Secret key for S3 service (string)
    BucketName string
    Bucket name for S3 service (string)
    Endpoint string
    Endpoint for S3 service (string)
    AccessKey string
    Access key for S3 service (string)
    CustomCa string
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    Folder string
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    Region string
    Region for S3 service (string)
    SecretKey string
    Secret key for S3 service (string)
    bucketName String
    Bucket name for S3 service (string)
    endpoint String
    Endpoint for S3 service (string)
    accessKey String
    Access key for S3 service (string)
    customCa String
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    folder String
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    region String
    Region for S3 service (string)
    secretKey String
    Secret key for S3 service (string)
    bucketName string
    Bucket name for S3 service (string)
    endpoint string
    Endpoint for S3 service (string)
    accessKey string
    Access key for S3 service (string)
    customCa string
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    folder string
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    region string
    Region for S3 service (string)
    secretKey string
    Secret key for S3 service (string)
    bucket_name str
    Bucket name for S3 service (string)
    endpoint str
    Endpoint for S3 service (string)
    access_key str
    Access key for S3 service (string)
    custom_ca str
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    folder str
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    region str
    Region for S3 service (string)
    secret_key str
    Secret key for S3 service (string)
    bucketName String
    Bucket name for S3 service (string)
    endpoint String
    Endpoint for S3 service (string)
    accessKey String
    Access key for S3 service (string)
    customCa String
    Base64 encoded custom CA for S3 service. Use filebase64() for encoding file. Available from Rancher v2.2.5 (string)
    folder String
    Folder for S3 service. Available from Rancher v2.2.7 (string)
    region String
    Region for S3 service (string)
    secretKey String
    Secret key for S3 service (string)

    Import

    Etcd Backup can be imported using the Rancher etcd backup ID

     $ pulumi import rancher2:index/etcdBackup:EtcdBackup foo &lt;ETCD_BACKUP_ID&gt;
    

    Package Details

    Repository
    Rancher2 pulumi/pulumi-rancher2
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the rancher2 Terraform Provider.
    rancher2 logo
    Rancher 2 v6.0.0 published on Wednesday, Feb 14, 2024 by Pulumi