-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathelasticsearchSnapshotRepository.ts
More file actions
225 lines (217 loc) · 11.7 KB
/
Copy pathelasticsearchSnapshotRepository.ts
File metadata and controls
225 lines (217 loc) · 11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
import * as utilities from "./utilities";
export class ElasticsearchSnapshotRepository extends pulumi.CustomResource {
/**
* Get an existing ElasticsearchSnapshotRepository resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ElasticsearchSnapshotRepositoryState, opts?: pulumi.CustomResourceOptions): ElasticsearchSnapshotRepository {
return new ElasticsearchSnapshotRepository(name, <any>state, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'elasticstack:index/elasticsearchSnapshotRepository:ElasticsearchSnapshotRepository';
/**
* Returns true if the given object is an instance of ElasticsearchSnapshotRepository. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is ElasticsearchSnapshotRepository {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === ElasticsearchSnapshotRepository.__pulumiType;
}
/**
* Support for using Azure Blob storage as a repository for Snapshot/Restore. See the [repository Azure plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-azure.html) for more details.
*/
declare public readonly azure: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryAzure | undefined>;
/**
* Elasticsearch connection configuration block. This property will be removed in a future provider version. Configure the
* Elasticsearch connection via the provider configuration instead.
*
* @deprecated Deprecated
*/
declare public readonly elasticsearchConnection: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryElasticsearchConnection | undefined>;
/**
* Shared filesystem repository. Repositories of this type use a shared filesystem to store snapshots. This filesystem must
* be accessible to all master and data nodes in the cluster.
*/
declare public readonly fs: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryFs | undefined>;
/**
* Support for using the Google Cloud Storage service as a repository for Snapshot/Restore. See the [repository GCS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-gcs.html) for more details.
*/
declare public readonly gcs: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryGcs | undefined>;
/**
* Support for using HDFS File System as a repository for Snapshot/Restore. See the [repository HDFS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-hdfs.html) for more details.
*/
declare public readonly hdfs: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryHdfs | undefined>;
/**
* Name of the snapshot repository to register or update.
*/
declare public readonly name: pulumi.Output<string>;
/**
* Support for using AWS S3 as a repository for Snapshot/Restore. See the [repository S3 plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-s3-repository.html) for more
* details.
*/
declare public readonly s3: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryS3 | undefined>;
/**
* URL repository. Repositories of this type are read-only for the cluster. This means the cluster can retrieve or restore
* snapshots from the repository but cannot write or create snapshots in it.
*/
declare public readonly url: pulumi.Output<outputs.ElasticsearchSnapshotRepositoryUrl | undefined>;
/**
* If true, the request verifies the repository is functional on all master and data nodes in the cluster.
*/
declare public readonly verify: pulumi.Output<boolean | undefined>;
/**
* Create a ElasticsearchSnapshotRepository resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: ElasticsearchSnapshotRepositoryArgs, opts?: pulumi.CustomResourceOptions)
constructor(name: string, argsOrState?: ElasticsearchSnapshotRepositoryArgs | ElasticsearchSnapshotRepositoryState, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState as ElasticsearchSnapshotRepositoryState | undefined;
resourceInputs["azure"] = state?.azure;
resourceInputs["elasticsearchConnection"] = state?.elasticsearchConnection;
resourceInputs["fs"] = state?.fs;
resourceInputs["gcs"] = state?.gcs;
resourceInputs["hdfs"] = state?.hdfs;
resourceInputs["name"] = state?.name;
resourceInputs["s3"] = state?.s3;
resourceInputs["url"] = state?.url;
resourceInputs["verify"] = state?.verify;
} else {
const args = argsOrState as ElasticsearchSnapshotRepositoryArgs | undefined;
resourceInputs["azure"] = args?.azure;
resourceInputs["elasticsearchConnection"] = args?.elasticsearchConnection;
resourceInputs["fs"] = args?.fs;
resourceInputs["gcs"] = args?.gcs;
resourceInputs["hdfs"] = args?.hdfs;
resourceInputs["name"] = args?.name;
resourceInputs["s3"] = args?.s3;
resourceInputs["url"] = args?.url;
resourceInputs["verify"] = args?.verify;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(ElasticsearchSnapshotRepository.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
}
}
/**
* Input properties used for looking up and filtering ElasticsearchSnapshotRepository resources.
*/
export interface ElasticsearchSnapshotRepositoryState {
/**
* Support for using Azure Blob storage as a repository for Snapshot/Restore. See the [repository Azure plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-azure.html) for more details.
*/
azure?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryAzure>;
/**
* Elasticsearch connection configuration block. This property will be removed in a future provider version. Configure the
* Elasticsearch connection via the provider configuration instead.
*
* @deprecated Deprecated
*/
elasticsearchConnection?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryElasticsearchConnection>;
/**
* Shared filesystem repository. Repositories of this type use a shared filesystem to store snapshots. This filesystem must
* be accessible to all master and data nodes in the cluster.
*/
fs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryFs>;
/**
* Support for using the Google Cloud Storage service as a repository for Snapshot/Restore. See the [repository GCS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-gcs.html) for more details.
*/
gcs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryGcs>;
/**
* Support for using HDFS File System as a repository for Snapshot/Restore. See the [repository HDFS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-hdfs.html) for more details.
*/
hdfs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryHdfs>;
/**
* Name of the snapshot repository to register or update.
*/
name?: pulumi.Input<string>;
/**
* Support for using AWS S3 as a repository for Snapshot/Restore. See the [repository S3 plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-s3-repository.html) for more
* details.
*/
s3?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryS3>;
/**
* URL repository. Repositories of this type are read-only for the cluster. This means the cluster can retrieve or restore
* snapshots from the repository but cannot write or create snapshots in it.
*/
url?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryUrl>;
/**
* If true, the request verifies the repository is functional on all master and data nodes in the cluster.
*/
verify?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a ElasticsearchSnapshotRepository resource.
*/
export interface ElasticsearchSnapshotRepositoryArgs {
/**
* Support for using Azure Blob storage as a repository for Snapshot/Restore. See the [repository Azure plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-azure.html) for more details.
*/
azure?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryAzure>;
/**
* Elasticsearch connection configuration block. This property will be removed in a future provider version. Configure the
* Elasticsearch connection via the provider configuration instead.
*
* @deprecated Deprecated
*/
elasticsearchConnection?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryElasticsearchConnection>;
/**
* Shared filesystem repository. Repositories of this type use a shared filesystem to store snapshots. This filesystem must
* be accessible to all master and data nodes in the cluster.
*/
fs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryFs>;
/**
* Support for using the Google Cloud Storage service as a repository for Snapshot/Restore. See the [repository GCS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-gcs.html) for more details.
*/
gcs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryGcs>;
/**
* Support for using HDFS File System as a repository for Snapshot/Restore. See the [repository HDFS plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-hdfs.html) for more details.
*/
hdfs?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryHdfs>;
/**
* Name of the snapshot repository to register or update.
*/
name?: pulumi.Input<string>;
/**
* Support for using AWS S3 as a repository for Snapshot/Restore. See the [repository S3 plugin
* documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository-s3-repository.html) for more
* details.
*/
s3?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryS3>;
/**
* URL repository. Repositories of this type are read-only for the cluster. This means the cluster can retrieve or restore
* snapshots from the repository but cannot write or create snapshots in it.
*/
url?: pulumi.Input<inputs.ElasticsearchSnapshotRepositoryUrl>;
/**
* If true, the request verifies the repository is functional on all master and data nodes in the cluster.
*/
verify?: pulumi.Input<boolean>;
}