ec.SnapshotRepository
Explore with Pulumi AI
Manages Elastic Cloud Enterprise snapshot repositories.
This resource can only be used with Elastic Cloud Enterprise For Elastic Cloud SaaS please use the elasticstack_elasticsearch_snapshot_repository.
Example Usage
S3 style
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ec.SnapshotRepository;
import com.pulumi.ec.SnapshotRepositoryArgs;
import com.pulumi.ec.inputs.SnapshotRepositoryS3Args;
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 this_ = new SnapshotRepository("this", SnapshotRepositoryArgs.builder()
.name("my-snapshot-repository")
.s3(SnapshotRepositoryS3Args.builder()
.bucket("my-bucket")
.access_key("my-access-key")
.secret_key("my-secret-key")
.build())
.build());
}
}
resources:
this:
type: ec:SnapshotRepository
properties:
name: my-snapshot-repository
s3:
bucket: my-bucket
access_key: my-access-key
secret_key: my-secret-key
Azure
import * as pulumi from "@pulumi/pulumi";
import * as ec from "@pulumi/ec";
const _this = new ec.SnapshotRepository("this", {
name: "my-snapshot-repository",
generic: {
type: "azure",
settings: JSON.stringify({
container: "my_container",
client: "my_alternate_client",
compress: false,
}),
},
});
import pulumi
import json
import pulumi_ec as ec
this = ec.SnapshotRepository("this",
name="my-snapshot-repository",
generic=ec.SnapshotRepositoryGenericArgs(
type="azure",
settings=json.dumps({
"container": "my_container",
"client": "my_alternate_client",
"compress": False,
}),
))
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-ec/sdk/go/ec"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"container": "my_container",
"client": "my_alternate_client",
"compress": false,
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = ec.NewSnapshotRepository(ctx, "this", &ec.SnapshotRepositoryArgs{
Name: pulumi.String("my-snapshot-repository"),
Generic: &ec.SnapshotRepositoryGenericArgs{
Type: pulumi.String("azure"),
Settings: pulumi.String(json0),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using ElasticCloud = Pulumi.ElasticCloud;
return await Deployment.RunAsync(() =>
{
var @this = new ElasticCloud.SnapshotRepository("this", new()
{
Name = "my-snapshot-repository",
Generic = new ElasticCloud.Inputs.SnapshotRepositoryGenericArgs
{
Type = "azure",
Settings = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["container"] = "my_container",
["client"] = "my_alternate_client",
["compress"] = false,
}),
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ec.SnapshotRepository;
import com.pulumi.ec.SnapshotRepositoryArgs;
import com.pulumi.ec.inputs.SnapshotRepositoryGenericArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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 this_ = new SnapshotRepository("this", SnapshotRepositoryArgs.builder()
.name("my-snapshot-repository")
.generic(SnapshotRepositoryGenericArgs.builder()
.type("azure")
.settings(serializeJson(
jsonObject(
jsonProperty("container", "my_container"),
jsonProperty("client", "my_alternate_client"),
jsonProperty("compress", false)
)))
.build())
.build());
}
}
resources:
this:
type: ec:SnapshotRepository
properties:
name: my-snapshot-repository
generic:
type: azure
settings:
fn::toJSON:
container: my_container
client: my_alternate_client
compress: false
GCS
import * as pulumi from "@pulumi/pulumi";
import * as ec from "@pulumi/ec";
const _this = new ec.SnapshotRepository("this", {
name: "my-snapshot-repository",
generic: {
type: "gcs",
settings: JSON.stringify({
bucket: "my_bucket",
client: "my_alternate_client",
compress: false,
}),
},
});
import pulumi
import json
import pulumi_ec as ec
this = ec.SnapshotRepository("this",
name="my-snapshot-repository",
generic=ec.SnapshotRepositoryGenericArgs(
type="gcs",
settings=json.dumps({
"bucket": "my_bucket",
"client": "my_alternate_client",
"compress": False,
}),
))
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-ec/sdk/go/ec"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"bucket": "my_bucket",
"client": "my_alternate_client",
"compress": false,
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = ec.NewSnapshotRepository(ctx, "this", &ec.SnapshotRepositoryArgs{
Name: pulumi.String("my-snapshot-repository"),
Generic: &ec.SnapshotRepositoryGenericArgs{
Type: pulumi.String("gcs"),
Settings: pulumi.String(json0),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using ElasticCloud = Pulumi.ElasticCloud;
return await Deployment.RunAsync(() =>
{
var @this = new ElasticCloud.SnapshotRepository("this", new()
{
Name = "my-snapshot-repository",
Generic = new ElasticCloud.Inputs.SnapshotRepositoryGenericArgs
{
Type = "gcs",
Settings = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["bucket"] = "my_bucket",
["client"] = "my_alternate_client",
["compress"] = false,
}),
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ec.SnapshotRepository;
import com.pulumi.ec.SnapshotRepositoryArgs;
import com.pulumi.ec.inputs.SnapshotRepositoryGenericArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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 this_ = new SnapshotRepository("this", SnapshotRepositoryArgs.builder()
.name("my-snapshot-repository")
.generic(SnapshotRepositoryGenericArgs.builder()
.type("gcs")
.settings(serializeJson(
jsonObject(
jsonProperty("bucket", "my_bucket"),
jsonProperty("client", "my_alternate_client"),
jsonProperty("compress", false)
)))
.build())
.build());
}
}
resources:
this:
type: ec:SnapshotRepository
properties:
name: my-snapshot-repository
generic:
type: gcs
settings:
fn::toJSON:
bucket: my_bucket
client: my_alternate_client
compress: false
Create SnapshotRepository Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SnapshotRepository(name: string, args?: SnapshotRepositoryArgs, opts?: CustomResourceOptions);
@overload
def SnapshotRepository(resource_name: str,
args: Optional[SnapshotRepositoryArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def SnapshotRepository(resource_name: str,
opts: Optional[ResourceOptions] = None,
generic: Optional[SnapshotRepositoryGenericArgs] = None,
name: Optional[str] = None,
s3: Optional[SnapshotRepositoryS3Args] = None)
func NewSnapshotRepository(ctx *Context, name string, args *SnapshotRepositoryArgs, opts ...ResourceOption) (*SnapshotRepository, error)
public SnapshotRepository(string name, SnapshotRepositoryArgs? args = null, CustomResourceOptions? opts = null)
public SnapshotRepository(String name, SnapshotRepositoryArgs args)
public SnapshotRepository(String name, SnapshotRepositoryArgs args, CustomResourceOptions options)
type: ec:SnapshotRepository
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 SnapshotRepositoryArgs
- 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 SnapshotRepositoryArgs
- 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 SnapshotRepositoryArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SnapshotRepositoryArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SnapshotRepositoryArgs
- 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 snapshotRepositoryResource = new ElasticCloud.SnapshotRepository("snapshotRepositoryResource", new()
{
Generic = new ElasticCloud.Inputs.SnapshotRepositoryGenericArgs
{
Settings = "string",
Type = "string",
},
Name = "string",
S3 = new ElasticCloud.Inputs.SnapshotRepositoryS3Args
{
Bucket = "string",
AccessKey = "string",
Endpoint = "string",
PathStyleAccess = false,
Region = "string",
SecretKey = "string",
ServerSideEncryption = false,
},
});
example, err := ec.NewSnapshotRepository(ctx, "snapshotRepositoryResource", &ec.SnapshotRepositoryArgs{
Generic: &ec.SnapshotRepositoryGenericArgs{
Settings: pulumi.String("string"),
Type: pulumi.String("string"),
},
Name: pulumi.String("string"),
S3: &ec.SnapshotRepositoryS3Args{
Bucket: pulumi.String("string"),
AccessKey: pulumi.String("string"),
Endpoint: pulumi.String("string"),
PathStyleAccess: pulumi.Bool(false),
Region: pulumi.String("string"),
SecretKey: pulumi.String("string"),
ServerSideEncryption: pulumi.Bool(false),
},
})
var snapshotRepositoryResource = new SnapshotRepository("snapshotRepositoryResource", SnapshotRepositoryArgs.builder()
.generic(SnapshotRepositoryGenericArgs.builder()
.settings("string")
.type("string")
.build())
.name("string")
.s3(SnapshotRepositoryS3Args.builder()
.bucket("string")
.accessKey("string")
.endpoint("string")
.pathStyleAccess(false)
.region("string")
.secretKey("string")
.serverSideEncryption(false)
.build())
.build());
snapshot_repository_resource = ec.SnapshotRepository("snapshotRepositoryResource",
generic=ec.SnapshotRepositoryGenericArgs(
settings="string",
type="string",
),
name="string",
s3=ec.SnapshotRepositoryS3Args(
bucket="string",
access_key="string",
endpoint="string",
path_style_access=False,
region="string",
secret_key="string",
server_side_encryption=False,
))
const snapshotRepositoryResource = new ec.SnapshotRepository("snapshotRepositoryResource", {
generic: {
settings: "string",
type: "string",
},
name: "string",
s3: {
bucket: "string",
accessKey: "string",
endpoint: "string",
pathStyleAccess: false,
region: "string",
secretKey: "string",
serverSideEncryption: false,
},
});
type: ec:SnapshotRepository
properties:
generic:
settings: string
type: string
name: string
s3:
accessKey: string
bucket: string
endpoint: string
pathStyleAccess: false
region: string
secretKey: string
serverSideEncryption: false
SnapshotRepository 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 SnapshotRepository resource accepts the following input properties:
- Generic
Pulumi.
Elastic Cloud. Inputs. Snapshot Repository Generic - Generic repository settings.
- Name string
- The name of the snapshot repository configuration.
- S3
Pulumi.
Elastic Cloud. Inputs. Snapshot Repository S3 - S3 repository settings.
- Generic
Snapshot
Repository Generic Args - Generic repository settings.
- Name string
- The name of the snapshot repository configuration.
- S3
Snapshot
Repository S3Args - S3 repository settings.
- generic
Snapshot
Repository Generic - Generic repository settings.
- name String
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3 - S3 repository settings.
- generic
Snapshot
Repository Generic - Generic repository settings.
- name string
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3 - S3 repository settings.
- generic
Snapshot
Repository Generic Args - Generic repository settings.
- name str
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3Args - S3 repository settings.
- generic Property Map
- Generic repository settings.
- name String
- The name of the snapshot repository configuration.
- s3 Property Map
- S3 repository settings.
Outputs
All input properties are implicitly available as output properties. Additionally, the SnapshotRepository 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 SnapshotRepository Resource
Get an existing SnapshotRepository 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?: SnapshotRepositoryState, opts?: CustomResourceOptions): SnapshotRepository
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
generic: Optional[SnapshotRepositoryGenericArgs] = None,
name: Optional[str] = None,
s3: Optional[SnapshotRepositoryS3Args] = None) -> SnapshotRepository
func GetSnapshotRepository(ctx *Context, name string, id IDInput, state *SnapshotRepositoryState, opts ...ResourceOption) (*SnapshotRepository, error)
public static SnapshotRepository Get(string name, Input<string> id, SnapshotRepositoryState? state, CustomResourceOptions? opts = null)
public static SnapshotRepository get(String name, Output<String> id, SnapshotRepositoryState 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.
- Generic
Pulumi.
Elastic Cloud. Inputs. Snapshot Repository Generic - Generic repository settings.
- Name string
- The name of the snapshot repository configuration.
- S3
Pulumi.
Elastic Cloud. Inputs. Snapshot Repository S3 - S3 repository settings.
- Generic
Snapshot
Repository Generic Args - Generic repository settings.
- Name string
- The name of the snapshot repository configuration.
- S3
Snapshot
Repository S3Args - S3 repository settings.
- generic
Snapshot
Repository Generic - Generic repository settings.
- name String
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3 - S3 repository settings.
- generic
Snapshot
Repository Generic - Generic repository settings.
- name string
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3 - S3 repository settings.
- generic
Snapshot
Repository Generic Args - Generic repository settings.
- name str
- The name of the snapshot repository configuration.
- s3
Snapshot
Repository S3Args - S3 repository settings.
- generic Property Map
- Generic repository settings.
- name String
- The name of the snapshot repository configuration.
- s3 Property Map
- S3 repository settings.
Supporting Types
SnapshotRepositoryGeneric, SnapshotRepositoryGenericArgs
SnapshotRepositoryS3, SnapshotRepositoryS3Args
- Bucket string
- Name of the S3 bucket to use for snapshots.
- Access
Key string - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- Endpoint string
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- Path
Style boolAccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- Region string
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- Secret
Key string - An S3 secret key. If set, the access_key setting must also be specified.
- Server
Side boolEncryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
- Bucket string
- Name of the S3 bucket to use for snapshots.
- Access
Key string - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- Endpoint string
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- Path
Style boolAccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- Region string
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- Secret
Key string - An S3 secret key. If set, the access_key setting must also be specified.
- Server
Side boolEncryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
- bucket String
- Name of the S3 bucket to use for snapshots.
- access
Key String - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- endpoint String
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- path
Style BooleanAccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- region String
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- secret
Key String - An S3 secret key. If set, the access_key setting must also be specified.
- server
Side BooleanEncryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
- bucket string
- Name of the S3 bucket to use for snapshots.
- access
Key string - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- endpoint string
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- path
Style booleanAccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- region string
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- secret
Key string - An S3 secret key. If set, the access_key setting must also be specified.
- server
Side booleanEncryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
- bucket str
- Name of the S3 bucket to use for snapshots.
- access_
key str - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- endpoint str
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- path_
style_ boolaccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- region str
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- secret_
key str - An S3 secret key. If set, the access_key setting must also be specified.
- server_
side_ boolencryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
- bucket String
- Name of the S3 bucket to use for snapshots.
- access
Key String - An S3 access key. If set, the secret_key setting must also be specified. If unset, the client will use the instance or container role instead.
- endpoint String
- The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.
- path
Style BooleanAccess - Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.
- region String
- Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.
- secret
Key String - An S3 secret key. If set, the access_key setting must also be specified.
- server
Side BooleanEncryption - When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.
Import
You can import snapshot repositories using the name
, for example:
$ pulumi import ec:index/snapshotRepository:SnapshotRepository this my-snapshot-repository
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- ec pulumi/pulumi-ec
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
ec
Terraform Provider.