@pulumi/openstack 4.2.0-alpha.1727221614 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockstorage/index.d.ts +0 -18
- package/blockstorage/index.js +1 -27
- package/blockstorage/index.js.map +1 -1
- package/compute/index.d.ts +0 -9
- package/compute/index.js +1 -16
- package/compute/index.js.map +1 -1
- package/compute/instance.d.ts +6 -6
- package/compute/serverGroup.d.ts +5 -5
- package/compute/serverGroup.js +2 -2
- package/containerinfra/cluster.d.ts +15 -0
- package/containerinfra/cluster.js +2 -0
- package/containerinfra/cluster.js.map +1 -1
- package/containerinfra/getCluster.d.ts +5 -0
- package/containerinfra/getCluster.js.map +1 -1
- package/dns/recordSet.d.ts +5 -2
- package/dns/recordSet.js +5 -2
- package/dns/recordSet.js.map +1 -1
- package/dns/zone.d.ts +1 -1
- package/dns/zone.js +1 -1
- package/firewall/index.d.ts +0 -12
- package/firewall/index.js +1 -19
- package/firewall/index.js.map +1 -1
- package/identity/getProjectIdsV3.d.ts +128 -0
- package/identity/getProjectIdsV3.js +74 -0
- package/identity/getProjectIdsV3.js.map +1 -0
- package/identity/index.d.ts +3 -0
- package/identity/index.js +4 -1
- package/identity/index.js.map +1 -1
- package/index.d.ts +3 -0
- package/index.js +6 -1
- package/index.js.map +1 -1
- package/keymanager/containerV1.d.ts +2 -16
- package/keymanager/containerV1.js +2 -16
- package/keymanager/containerV1.js.map +1 -1
- package/lbFlavorprofileV2.d.ts +133 -0
- package/lbFlavorprofileV2.js +104 -0
- package/lbFlavorprofileV2.js.map +1 -0
- package/loadbalancer/index.d.ts +0 -15
- package/loadbalancer/index.js +1 -26
- package/loadbalancer/index.js.map +1 -1
- package/loadbalancer/l7policyV2.d.ts +3 -3
- package/loadbalancer/l7ruleV2.d.ts +3 -3
- package/loadbalancer/listener.d.ts +337 -90
- package/loadbalancer/listener.js +61 -0
- package/loadbalancer/listener.js.map +1 -1
- package/loadbalancer/monitor.d.ts +42 -6
- package/loadbalancer/monitor.js +4 -0
- package/loadbalancer/monitor.js.map +1 -1
- package/loadbalancer/pool.d.ts +190 -61
- package/loadbalancer/pool.js +14 -0
- package/loadbalancer/pool.js.map +1 -1
- package/networking/network.d.ts +10 -7
- package/networking/network.js +10 -7
- package/networking/network.js.map +1 -1
- package/networking/secGroupRule.d.ts +21 -6
- package/networking/secGroupRule.js.map +1 -1
- package/objectstorage/accountV1.d.ts +163 -0
- package/objectstorage/accountV1.js +89 -0
- package/objectstorage/accountV1.js.map +1 -0
- package/objectstorage/index.d.ts +3 -0
- package/objectstorage/index.js +6 -1
- package/objectstorage/index.js.map +1 -1
- package/objectstorage/tempUrl.d.ts +42 -0
- package/objectstorage/tempUrl.js +5 -1
- package/objectstorage/tempUrl.js.map +1 -1
- package/package.json +2 -2
- package/types/input.d.ts +0 -84
- package/types/output.d.ts +0 -84
- package/blockstorage/getSnapshotV2.d.ts +0 -127
- package/blockstorage/getSnapshotV2.js +0 -62
- package/blockstorage/getSnapshotV2.js.map +0 -1
- package/blockstorage/getVolumeV2.d.ts +0 -138
- package/blockstorage/getVolumeV2.js +0 -62
- package/blockstorage/getVolumeV2.js.map +0 -1
- package/blockstorage/quoteSetV2.d.ts +0 -217
- package/blockstorage/quoteSetV2.js +0 -89
- package/blockstorage/quoteSetV2.js.map +0 -1
- package/blockstorage/volumeAttachV2.d.ts +0 -296
- package/blockstorage/volumeAttachV2.js +0 -145
- package/blockstorage/volumeAttachV2.js.map +0 -1
- package/blockstorage/volumeV1.d.ts +0 -234
- package/blockstorage/volumeV1.js +0 -97
- package/blockstorage/volumeV1.js.map +0 -1
- package/blockstorage/volumeV2.d.ts +0 -276
- package/blockstorage/volumeV2.js +0 -103
- package/blockstorage/volumeV2.js.map +0 -1
- package/compute/floatingIp.d.ts +0 -125
- package/compute/floatingIp.js +0 -86
- package/compute/floatingIp.js.map +0 -1
- package/compute/floatingIpAssociate.d.ts +0 -159
- package/compute/floatingIpAssociate.js +0 -126
- package/compute/floatingIpAssociate.js.map +0 -1
- package/compute/secGroup.d.ts +0 -172
- package/compute/secGroup.js +0 -120
- package/compute/secGroup.js.map +0 -1
- package/firewall/firewall.d.ts +0 -238
- package/firewall/firewall.js +0 -114
- package/firewall/firewall.js.map +0 -1
- package/firewall/getPolicy.d.ts +0 -118
- package/firewall/getPolicy.js +0 -58
- package/firewall/getPolicy.js.map +0 -1
- package/firewall/policy.d.ts +0 -216
- package/firewall/policy.js +0 -105
- package/firewall/policy.js.map +0 -1
- package/firewall/rule.d.ts +0 -291
- package/firewall/rule.js +0 -106
- package/firewall/rule.js.map +0 -1
- package/loadbalancer/loadBalancer.d.ts +0 -320
- package/loadbalancer/loadBalancer.js +0 -105
- package/loadbalancer/loadBalancer.js.map +0 -1
- package/loadbalancer/memberV1.d.ts +0 -162
- package/loadbalancer/memberV1.js +0 -94
- package/loadbalancer/memberV1.js.map +0 -1
- package/loadbalancer/monitorV1.d.ts +0 -242
- package/loadbalancer/monitorV1.js +0 -105
- package/loadbalancer/monitorV1.js.map +0 -1
- package/loadbalancer/poolV1.d.ts +0 -281
- package/loadbalancer/poolV1.js +0 -185
- package/loadbalancer/poolV1.js.map +0 -1
- package/loadbalancer/vip.d.ts +0 -292
- package/loadbalancer/vip.js +0 -113
- package/loadbalancer/vip.js.map +0 -1
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
-
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.QuoteSetV2 = void 0;
|
|
6
|
-
const pulumi = require("@pulumi/pulumi");
|
|
7
|
-
const utilities = require("../utilities");
|
|
8
|
-
/**
|
|
9
|
-
* Manages a V2 block storage quotaset resource within OpenStack.
|
|
10
|
-
*
|
|
11
|
-
* > **Note:** This usually requires admin privileges.
|
|
12
|
-
*
|
|
13
|
-
* > **Note:** This resource has a no-op deletion so no actual actions will be done against the OpenStack API
|
|
14
|
-
* in case of delete call.
|
|
15
|
-
*
|
|
16
|
-
* > **Note:** This resource has all-in creation so all optional quota arguments that were not specified are
|
|
17
|
-
* created with zero value. This excludes volume type quota.
|
|
18
|
-
*
|
|
19
|
-
* ## Import
|
|
20
|
-
*
|
|
21
|
-
* Quotasets can be imported using the `project_id/region`, e.g.
|
|
22
|
-
*
|
|
23
|
-
* ```sh
|
|
24
|
-
* $ pulumi import openstack:blockstorage/quoteSetV2:QuoteSetV2 quotaset_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
class QuoteSetV2 extends pulumi.CustomResource {
|
|
28
|
-
/**
|
|
29
|
-
* Get an existing QuoteSetV2 resource's state with the given name, ID, and optional extra
|
|
30
|
-
* properties used to qualify the lookup.
|
|
31
|
-
*
|
|
32
|
-
* @param name The _unique_ name of the resulting resource.
|
|
33
|
-
* @param id The _unique_ provider ID of the resource to lookup.
|
|
34
|
-
* @param state Any extra arguments used during the lookup.
|
|
35
|
-
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
36
|
-
*/
|
|
37
|
-
static get(name, id, state, opts) {
|
|
38
|
-
return new QuoteSetV2(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Returns true if the given object is an instance of QuoteSetV2. This is designed to work even
|
|
42
|
-
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
43
|
-
*/
|
|
44
|
-
static isInstance(obj) {
|
|
45
|
-
if (obj === undefined || obj === null) {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
return obj['__pulumiType'] === QuoteSetV2.__pulumiType;
|
|
49
|
-
}
|
|
50
|
-
constructor(name, argsOrState, opts) {
|
|
51
|
-
let resourceInputs = {};
|
|
52
|
-
opts = opts || {};
|
|
53
|
-
if (opts.id) {
|
|
54
|
-
const state = argsOrState;
|
|
55
|
-
resourceInputs["backupGigabytes"] = state ? state.backupGigabytes : undefined;
|
|
56
|
-
resourceInputs["backups"] = state ? state.backups : undefined;
|
|
57
|
-
resourceInputs["gigabytes"] = state ? state.gigabytes : undefined;
|
|
58
|
-
resourceInputs["groups"] = state ? state.groups : undefined;
|
|
59
|
-
resourceInputs["perVolumeGigabytes"] = state ? state.perVolumeGigabytes : undefined;
|
|
60
|
-
resourceInputs["projectId"] = state ? state.projectId : undefined;
|
|
61
|
-
resourceInputs["region"] = state ? state.region : undefined;
|
|
62
|
-
resourceInputs["snapshots"] = state ? state.snapshots : undefined;
|
|
63
|
-
resourceInputs["volumeTypeQuota"] = state ? state.volumeTypeQuota : undefined;
|
|
64
|
-
resourceInputs["volumes"] = state ? state.volumes : undefined;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
const args = argsOrState;
|
|
68
|
-
if ((!args || args.projectId === undefined) && !opts.urn) {
|
|
69
|
-
throw new Error("Missing required property 'projectId'");
|
|
70
|
-
}
|
|
71
|
-
resourceInputs["backupGigabytes"] = args ? args.backupGigabytes : undefined;
|
|
72
|
-
resourceInputs["backups"] = args ? args.backups : undefined;
|
|
73
|
-
resourceInputs["gigabytes"] = args ? args.gigabytes : undefined;
|
|
74
|
-
resourceInputs["groups"] = args ? args.groups : undefined;
|
|
75
|
-
resourceInputs["perVolumeGigabytes"] = args ? args.perVolumeGigabytes : undefined;
|
|
76
|
-
resourceInputs["projectId"] = args ? args.projectId : undefined;
|
|
77
|
-
resourceInputs["region"] = args ? args.region : undefined;
|
|
78
|
-
resourceInputs["snapshots"] = args ? args.snapshots : undefined;
|
|
79
|
-
resourceInputs["volumeTypeQuota"] = args ? args.volumeTypeQuota : undefined;
|
|
80
|
-
resourceInputs["volumes"] = args ? args.volumes : undefined;
|
|
81
|
-
}
|
|
82
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
83
|
-
super(QuoteSetV2.__pulumiType, name, resourceInputs, opts);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.QuoteSetV2 = QuoteSetV2;
|
|
87
|
-
/** @internal */
|
|
88
|
-
QuoteSetV2.__pulumiType = 'openstack:blockstorage/quoteSetV2:QuoteSetV2';
|
|
89
|
-
//# sourceMappingURL=quoteSetV2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quoteSetV2.js","sourceRoot":"","sources":["../../blockstorage/quoteSetV2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
/**
|
|
3
|
-
* > **Note:** This resource usually requires admin privileges.
|
|
4
|
-
*
|
|
5
|
-
* > **Note:** This resource does not actually attach a volume to an instance.
|
|
6
|
-
* Please use the `openstack.compute.VolumeAttach` resource for that.
|
|
7
|
-
*
|
|
8
|
-
* > **Note:** All arguments including the `data` computed attribute will be
|
|
9
|
-
* stored in the raw state as plain-text. Read more about sensitive data in
|
|
10
|
-
* state.
|
|
11
|
-
*
|
|
12
|
-
* Creates a general purpose attachment connection to a Block
|
|
13
|
-
* Storage volume using the OpenStack Block Storage (Cinder) v2 API.
|
|
14
|
-
*
|
|
15
|
-
* Depending on your Block Storage service configuration, this
|
|
16
|
-
* resource can assist in attaching a volume to a non-OpenStack resource
|
|
17
|
-
* such as a bare-metal server or a remote virtual machine in a
|
|
18
|
-
* different cloud provider.
|
|
19
|
-
*
|
|
20
|
-
* ## Example Usage
|
|
21
|
-
*
|
|
22
|
-
* ```typescript
|
|
23
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
24
|
-
* import * as openstack from "@pulumi/openstack";
|
|
25
|
-
*
|
|
26
|
-
* const volume1 = new openstack.blockstorage.VolumeV2("volume_1", {
|
|
27
|
-
* name: "volume_1",
|
|
28
|
-
* size: 1,
|
|
29
|
-
* });
|
|
30
|
-
* const va1 = new openstack.blockstorage.VolumeAttachV2("va_1", {
|
|
31
|
-
* volumeId: volume1.id,
|
|
32
|
-
* device: "auto",
|
|
33
|
-
* hostName: "devstack",
|
|
34
|
-
* ipAddress: "192.168.255.10",
|
|
35
|
-
* initiator: "iqn.1993-08.org.debian:01:e9861fb1859",
|
|
36
|
-
* osType: "linux2",
|
|
37
|
-
* platform: "x86_64",
|
|
38
|
-
* });
|
|
39
|
-
* ```
|
|
40
|
-
*
|
|
41
|
-
* ## Volume Connection Data
|
|
42
|
-
*
|
|
43
|
-
* Upon creation of this resource, a `data` exported attribute will be available.
|
|
44
|
-
* This attribute is a set of key/value pairs that contains the information
|
|
45
|
-
* required to complete the block storage connection.
|
|
46
|
-
*
|
|
47
|
-
* As an example, creating an iSCSI-based volume will return the following:
|
|
48
|
-
*
|
|
49
|
-
* This information can then be fed into a provisioner or a template shell script,
|
|
50
|
-
* where the final result would look something like:
|
|
51
|
-
*
|
|
52
|
-
* The contents of `data` will vary from each Block Storage service. You must have
|
|
53
|
-
* a good understanding of how the service is configured and how to make the
|
|
54
|
-
* appropriate final connection. However, if used correctly, this has the
|
|
55
|
-
* flexibility to be able to attach OpenStack Block Storage volumes to
|
|
56
|
-
* non-OpenStack resources.
|
|
57
|
-
*
|
|
58
|
-
* ## Import
|
|
59
|
-
*
|
|
60
|
-
* It is not possible to import this resource.
|
|
61
|
-
*/
|
|
62
|
-
export declare class VolumeAttachV2 extends pulumi.CustomResource {
|
|
63
|
-
/**
|
|
64
|
-
* Get an existing VolumeAttachV2 resource's state with the given name, ID, and optional extra
|
|
65
|
-
* properties used to qualify the lookup.
|
|
66
|
-
*
|
|
67
|
-
* @param name The _unique_ name of the resulting resource.
|
|
68
|
-
* @param id The _unique_ provider ID of the resource to lookup.
|
|
69
|
-
* @param state Any extra arguments used during the lookup.
|
|
70
|
-
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
71
|
-
*/
|
|
72
|
-
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeAttachV2State, opts?: pulumi.CustomResourceOptions): VolumeAttachV2;
|
|
73
|
-
/**
|
|
74
|
-
* Returns true if the given object is an instance of VolumeAttachV2. This is designed to work even
|
|
75
|
-
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
76
|
-
*/
|
|
77
|
-
static isInstance(obj: any): obj is VolumeAttachV2;
|
|
78
|
-
/**
|
|
79
|
-
* Specify whether to attach the volume as Read-Only
|
|
80
|
-
* (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
|
|
81
|
-
* If left unspecified, the Block Storage API will apply a default of `rw`.
|
|
82
|
-
*/
|
|
83
|
-
readonly attachMode: pulumi.Output<string | undefined>;
|
|
84
|
-
/**
|
|
85
|
-
* This is a map of key/value pairs that contain the connection
|
|
86
|
-
* information. You will want to pass this information to a provisioner
|
|
87
|
-
* script to finalize the connection. See below for more information.
|
|
88
|
-
*/
|
|
89
|
-
readonly data: pulumi.Output<{
|
|
90
|
-
[key: string]: string;
|
|
91
|
-
}>;
|
|
92
|
-
/**
|
|
93
|
-
* The device to tell the Block Storage service this
|
|
94
|
-
* volume will be attached as. This is purely for informational purposes.
|
|
95
|
-
* You can specify `auto` or a device such as `/dev/vdc`.
|
|
96
|
-
*/
|
|
97
|
-
readonly device: pulumi.Output<string | undefined>;
|
|
98
|
-
/**
|
|
99
|
-
* The storage driver that the volume is based on.
|
|
100
|
-
*/
|
|
101
|
-
readonly driverVolumeType: pulumi.Output<string>;
|
|
102
|
-
/**
|
|
103
|
-
* The host to attach the volume to.
|
|
104
|
-
*/
|
|
105
|
-
readonly hostName: pulumi.Output<string>;
|
|
106
|
-
/**
|
|
107
|
-
* The iSCSI initiator string to make the connection.
|
|
108
|
-
*/
|
|
109
|
-
readonly initiator: pulumi.Output<string | undefined>;
|
|
110
|
-
/**
|
|
111
|
-
* The IP address of the `hostName` above.
|
|
112
|
-
*/
|
|
113
|
-
readonly ipAddress: pulumi.Output<string | undefined>;
|
|
114
|
-
/**
|
|
115
|
-
* A mount point base name for shared storage.
|
|
116
|
-
*/
|
|
117
|
-
readonly mountPointBase: pulumi.Output<string>;
|
|
118
|
-
/**
|
|
119
|
-
* Whether to connect to this volume via multipath.
|
|
120
|
-
*/
|
|
121
|
-
readonly multipath: pulumi.Output<boolean | undefined>;
|
|
122
|
-
/**
|
|
123
|
-
* The iSCSI initiator OS type.
|
|
124
|
-
*/
|
|
125
|
-
readonly osType: pulumi.Output<string | undefined>;
|
|
126
|
-
/**
|
|
127
|
-
* The iSCSI initiator platform.
|
|
128
|
-
*/
|
|
129
|
-
readonly platform: pulumi.Output<string | undefined>;
|
|
130
|
-
/**
|
|
131
|
-
* The region in which to obtain the V2 Block Storage
|
|
132
|
-
* client. A Block Storage client is needed to create a volume attachment.
|
|
133
|
-
* If omitted, the `region` argument of the provider is used. Changing this
|
|
134
|
-
* creates a new volume attachment.
|
|
135
|
-
*/
|
|
136
|
-
readonly region: pulumi.Output<string>;
|
|
137
|
-
/**
|
|
138
|
-
* The ID of the Volume to attach to an Instance.
|
|
139
|
-
*/
|
|
140
|
-
readonly volumeId: pulumi.Output<string>;
|
|
141
|
-
/**
|
|
142
|
-
* A wwnn name. Used for Fibre Channel connections.
|
|
143
|
-
*/
|
|
144
|
-
readonly wwnn: pulumi.Output<string | undefined>;
|
|
145
|
-
/**
|
|
146
|
-
* An array of wwpn strings. Used for Fibre Channel
|
|
147
|
-
* connections.
|
|
148
|
-
*/
|
|
149
|
-
readonly wwpns: pulumi.Output<string[] | undefined>;
|
|
150
|
-
/**
|
|
151
|
-
* Create a VolumeAttachV2 resource with the given unique name, arguments, and options.
|
|
152
|
-
*
|
|
153
|
-
* @param name The _unique_ name of the resource.
|
|
154
|
-
* @param args The arguments to use to populate this resource's properties.
|
|
155
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
156
|
-
*/
|
|
157
|
-
constructor(name: string, args: VolumeAttachV2Args, opts?: pulumi.CustomResourceOptions);
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Input properties used for looking up and filtering VolumeAttachV2 resources.
|
|
161
|
-
*/
|
|
162
|
-
export interface VolumeAttachV2State {
|
|
163
|
-
/**
|
|
164
|
-
* Specify whether to attach the volume as Read-Only
|
|
165
|
-
* (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
|
|
166
|
-
* If left unspecified, the Block Storage API will apply a default of `rw`.
|
|
167
|
-
*/
|
|
168
|
-
attachMode?: pulumi.Input<string>;
|
|
169
|
-
/**
|
|
170
|
-
* This is a map of key/value pairs that contain the connection
|
|
171
|
-
* information. You will want to pass this information to a provisioner
|
|
172
|
-
* script to finalize the connection. See below for more information.
|
|
173
|
-
*/
|
|
174
|
-
data?: pulumi.Input<{
|
|
175
|
-
[key: string]: pulumi.Input<string>;
|
|
176
|
-
}>;
|
|
177
|
-
/**
|
|
178
|
-
* The device to tell the Block Storage service this
|
|
179
|
-
* volume will be attached as. This is purely for informational purposes.
|
|
180
|
-
* You can specify `auto` or a device such as `/dev/vdc`.
|
|
181
|
-
*/
|
|
182
|
-
device?: pulumi.Input<string>;
|
|
183
|
-
/**
|
|
184
|
-
* The storage driver that the volume is based on.
|
|
185
|
-
*/
|
|
186
|
-
driverVolumeType?: pulumi.Input<string>;
|
|
187
|
-
/**
|
|
188
|
-
* The host to attach the volume to.
|
|
189
|
-
*/
|
|
190
|
-
hostName?: pulumi.Input<string>;
|
|
191
|
-
/**
|
|
192
|
-
* The iSCSI initiator string to make the connection.
|
|
193
|
-
*/
|
|
194
|
-
initiator?: pulumi.Input<string>;
|
|
195
|
-
/**
|
|
196
|
-
* The IP address of the `hostName` above.
|
|
197
|
-
*/
|
|
198
|
-
ipAddress?: pulumi.Input<string>;
|
|
199
|
-
/**
|
|
200
|
-
* A mount point base name for shared storage.
|
|
201
|
-
*/
|
|
202
|
-
mountPointBase?: pulumi.Input<string>;
|
|
203
|
-
/**
|
|
204
|
-
* Whether to connect to this volume via multipath.
|
|
205
|
-
*/
|
|
206
|
-
multipath?: pulumi.Input<boolean>;
|
|
207
|
-
/**
|
|
208
|
-
* The iSCSI initiator OS type.
|
|
209
|
-
*/
|
|
210
|
-
osType?: pulumi.Input<string>;
|
|
211
|
-
/**
|
|
212
|
-
* The iSCSI initiator platform.
|
|
213
|
-
*/
|
|
214
|
-
platform?: pulumi.Input<string>;
|
|
215
|
-
/**
|
|
216
|
-
* The region in which to obtain the V2 Block Storage
|
|
217
|
-
* client. A Block Storage client is needed to create a volume attachment.
|
|
218
|
-
* If omitted, the `region` argument of the provider is used. Changing this
|
|
219
|
-
* creates a new volume attachment.
|
|
220
|
-
*/
|
|
221
|
-
region?: pulumi.Input<string>;
|
|
222
|
-
/**
|
|
223
|
-
* The ID of the Volume to attach to an Instance.
|
|
224
|
-
*/
|
|
225
|
-
volumeId?: pulumi.Input<string>;
|
|
226
|
-
/**
|
|
227
|
-
* A wwnn name. Used for Fibre Channel connections.
|
|
228
|
-
*/
|
|
229
|
-
wwnn?: pulumi.Input<string>;
|
|
230
|
-
/**
|
|
231
|
-
* An array of wwpn strings. Used for Fibre Channel
|
|
232
|
-
* connections.
|
|
233
|
-
*/
|
|
234
|
-
wwpns?: pulumi.Input<pulumi.Input<string>[]>;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* The set of arguments for constructing a VolumeAttachV2 resource.
|
|
238
|
-
*/
|
|
239
|
-
export interface VolumeAttachV2Args {
|
|
240
|
-
/**
|
|
241
|
-
* Specify whether to attach the volume as Read-Only
|
|
242
|
-
* (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
|
|
243
|
-
* If left unspecified, the Block Storage API will apply a default of `rw`.
|
|
244
|
-
*/
|
|
245
|
-
attachMode?: pulumi.Input<string>;
|
|
246
|
-
/**
|
|
247
|
-
* The device to tell the Block Storage service this
|
|
248
|
-
* volume will be attached as. This is purely for informational purposes.
|
|
249
|
-
* You can specify `auto` or a device such as `/dev/vdc`.
|
|
250
|
-
*/
|
|
251
|
-
device?: pulumi.Input<string>;
|
|
252
|
-
/**
|
|
253
|
-
* The host to attach the volume to.
|
|
254
|
-
*/
|
|
255
|
-
hostName: pulumi.Input<string>;
|
|
256
|
-
/**
|
|
257
|
-
* The iSCSI initiator string to make the connection.
|
|
258
|
-
*/
|
|
259
|
-
initiator?: pulumi.Input<string>;
|
|
260
|
-
/**
|
|
261
|
-
* The IP address of the `hostName` above.
|
|
262
|
-
*/
|
|
263
|
-
ipAddress?: pulumi.Input<string>;
|
|
264
|
-
/**
|
|
265
|
-
* Whether to connect to this volume via multipath.
|
|
266
|
-
*/
|
|
267
|
-
multipath?: pulumi.Input<boolean>;
|
|
268
|
-
/**
|
|
269
|
-
* The iSCSI initiator OS type.
|
|
270
|
-
*/
|
|
271
|
-
osType?: pulumi.Input<string>;
|
|
272
|
-
/**
|
|
273
|
-
* The iSCSI initiator platform.
|
|
274
|
-
*/
|
|
275
|
-
platform?: pulumi.Input<string>;
|
|
276
|
-
/**
|
|
277
|
-
* The region in which to obtain the V2 Block Storage
|
|
278
|
-
* client. A Block Storage client is needed to create a volume attachment.
|
|
279
|
-
* If omitted, the `region` argument of the provider is used. Changing this
|
|
280
|
-
* creates a new volume attachment.
|
|
281
|
-
*/
|
|
282
|
-
region?: pulumi.Input<string>;
|
|
283
|
-
/**
|
|
284
|
-
* The ID of the Volume to attach to an Instance.
|
|
285
|
-
*/
|
|
286
|
-
volumeId: pulumi.Input<string>;
|
|
287
|
-
/**
|
|
288
|
-
* A wwnn name. Used for Fibre Channel connections.
|
|
289
|
-
*/
|
|
290
|
-
wwnn?: pulumi.Input<string>;
|
|
291
|
-
/**
|
|
292
|
-
* An array of wwpn strings. Used for Fibre Channel
|
|
293
|
-
* connections.
|
|
294
|
-
*/
|
|
295
|
-
wwpns?: pulumi.Input<pulumi.Input<string>[]>;
|
|
296
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
-
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.VolumeAttachV2 = void 0;
|
|
6
|
-
const pulumi = require("@pulumi/pulumi");
|
|
7
|
-
const utilities = require("../utilities");
|
|
8
|
-
/**
|
|
9
|
-
* > **Note:** This resource usually requires admin privileges.
|
|
10
|
-
*
|
|
11
|
-
* > **Note:** This resource does not actually attach a volume to an instance.
|
|
12
|
-
* Please use the `openstack.compute.VolumeAttach` resource for that.
|
|
13
|
-
*
|
|
14
|
-
* > **Note:** All arguments including the `data` computed attribute will be
|
|
15
|
-
* stored in the raw state as plain-text. Read more about sensitive data in
|
|
16
|
-
* state.
|
|
17
|
-
*
|
|
18
|
-
* Creates a general purpose attachment connection to a Block
|
|
19
|
-
* Storage volume using the OpenStack Block Storage (Cinder) v2 API.
|
|
20
|
-
*
|
|
21
|
-
* Depending on your Block Storage service configuration, this
|
|
22
|
-
* resource can assist in attaching a volume to a non-OpenStack resource
|
|
23
|
-
* such as a bare-metal server or a remote virtual machine in a
|
|
24
|
-
* different cloud provider.
|
|
25
|
-
*
|
|
26
|
-
* ## Example Usage
|
|
27
|
-
*
|
|
28
|
-
* ```typescript
|
|
29
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
30
|
-
* import * as openstack from "@pulumi/openstack";
|
|
31
|
-
*
|
|
32
|
-
* const volume1 = new openstack.blockstorage.VolumeV2("volume_1", {
|
|
33
|
-
* name: "volume_1",
|
|
34
|
-
* size: 1,
|
|
35
|
-
* });
|
|
36
|
-
* const va1 = new openstack.blockstorage.VolumeAttachV2("va_1", {
|
|
37
|
-
* volumeId: volume1.id,
|
|
38
|
-
* device: "auto",
|
|
39
|
-
* hostName: "devstack",
|
|
40
|
-
* ipAddress: "192.168.255.10",
|
|
41
|
-
* initiator: "iqn.1993-08.org.debian:01:e9861fb1859",
|
|
42
|
-
* osType: "linux2",
|
|
43
|
-
* platform: "x86_64",
|
|
44
|
-
* });
|
|
45
|
-
* ```
|
|
46
|
-
*
|
|
47
|
-
* ## Volume Connection Data
|
|
48
|
-
*
|
|
49
|
-
* Upon creation of this resource, a `data` exported attribute will be available.
|
|
50
|
-
* This attribute is a set of key/value pairs that contains the information
|
|
51
|
-
* required to complete the block storage connection.
|
|
52
|
-
*
|
|
53
|
-
* As an example, creating an iSCSI-based volume will return the following:
|
|
54
|
-
*
|
|
55
|
-
* This information can then be fed into a provisioner or a template shell script,
|
|
56
|
-
* where the final result would look something like:
|
|
57
|
-
*
|
|
58
|
-
* The contents of `data` will vary from each Block Storage service. You must have
|
|
59
|
-
* a good understanding of how the service is configured and how to make the
|
|
60
|
-
* appropriate final connection. However, if used correctly, this has the
|
|
61
|
-
* flexibility to be able to attach OpenStack Block Storage volumes to
|
|
62
|
-
* non-OpenStack resources.
|
|
63
|
-
*
|
|
64
|
-
* ## Import
|
|
65
|
-
*
|
|
66
|
-
* It is not possible to import this resource.
|
|
67
|
-
*/
|
|
68
|
-
class VolumeAttachV2 extends pulumi.CustomResource {
|
|
69
|
-
/**
|
|
70
|
-
* Get an existing VolumeAttachV2 resource's state with the given name, ID, and optional extra
|
|
71
|
-
* properties used to qualify the lookup.
|
|
72
|
-
*
|
|
73
|
-
* @param name The _unique_ name of the resulting resource.
|
|
74
|
-
* @param id The _unique_ provider ID of the resource to lookup.
|
|
75
|
-
* @param state Any extra arguments used during the lookup.
|
|
76
|
-
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
77
|
-
*/
|
|
78
|
-
static get(name, id, state, opts) {
|
|
79
|
-
return new VolumeAttachV2(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Returns true if the given object is an instance of VolumeAttachV2. This is designed to work even
|
|
83
|
-
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
84
|
-
*/
|
|
85
|
-
static isInstance(obj) {
|
|
86
|
-
if (obj === undefined || obj === null) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
return obj['__pulumiType'] === VolumeAttachV2.__pulumiType;
|
|
90
|
-
}
|
|
91
|
-
constructor(name, argsOrState, opts) {
|
|
92
|
-
let resourceInputs = {};
|
|
93
|
-
opts = opts || {};
|
|
94
|
-
if (opts.id) {
|
|
95
|
-
const state = argsOrState;
|
|
96
|
-
resourceInputs["attachMode"] = state ? state.attachMode : undefined;
|
|
97
|
-
resourceInputs["data"] = state ? state.data : undefined;
|
|
98
|
-
resourceInputs["device"] = state ? state.device : undefined;
|
|
99
|
-
resourceInputs["driverVolumeType"] = state ? state.driverVolumeType : undefined;
|
|
100
|
-
resourceInputs["hostName"] = state ? state.hostName : undefined;
|
|
101
|
-
resourceInputs["initiator"] = state ? state.initiator : undefined;
|
|
102
|
-
resourceInputs["ipAddress"] = state ? state.ipAddress : undefined;
|
|
103
|
-
resourceInputs["mountPointBase"] = state ? state.mountPointBase : undefined;
|
|
104
|
-
resourceInputs["multipath"] = state ? state.multipath : undefined;
|
|
105
|
-
resourceInputs["osType"] = state ? state.osType : undefined;
|
|
106
|
-
resourceInputs["platform"] = state ? state.platform : undefined;
|
|
107
|
-
resourceInputs["region"] = state ? state.region : undefined;
|
|
108
|
-
resourceInputs["volumeId"] = state ? state.volumeId : undefined;
|
|
109
|
-
resourceInputs["wwnn"] = state ? state.wwnn : undefined;
|
|
110
|
-
resourceInputs["wwpns"] = state ? state.wwpns : undefined;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
const args = argsOrState;
|
|
114
|
-
if ((!args || args.hostName === undefined) && !opts.urn) {
|
|
115
|
-
throw new Error("Missing required property 'hostName'");
|
|
116
|
-
}
|
|
117
|
-
if ((!args || args.volumeId === undefined) && !opts.urn) {
|
|
118
|
-
throw new Error("Missing required property 'volumeId'");
|
|
119
|
-
}
|
|
120
|
-
resourceInputs["attachMode"] = args ? args.attachMode : undefined;
|
|
121
|
-
resourceInputs["device"] = args ? args.device : undefined;
|
|
122
|
-
resourceInputs["hostName"] = args ? args.hostName : undefined;
|
|
123
|
-
resourceInputs["initiator"] = args ? args.initiator : undefined;
|
|
124
|
-
resourceInputs["ipAddress"] = args ? args.ipAddress : undefined;
|
|
125
|
-
resourceInputs["multipath"] = args ? args.multipath : undefined;
|
|
126
|
-
resourceInputs["osType"] = args ? args.osType : undefined;
|
|
127
|
-
resourceInputs["platform"] = args ? args.platform : undefined;
|
|
128
|
-
resourceInputs["region"] = args ? args.region : undefined;
|
|
129
|
-
resourceInputs["volumeId"] = args ? args.volumeId : undefined;
|
|
130
|
-
resourceInputs["wwnn"] = args ? args.wwnn : undefined;
|
|
131
|
-
resourceInputs["wwpns"] = args ? args.wwpns : undefined;
|
|
132
|
-
resourceInputs["data"] = undefined /*out*/;
|
|
133
|
-
resourceInputs["driverVolumeType"] = undefined /*out*/;
|
|
134
|
-
resourceInputs["mountPointBase"] = undefined /*out*/;
|
|
135
|
-
}
|
|
136
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
137
|
-
const secretOpts = { additionalSecretOutputs: ["data"] };
|
|
138
|
-
opts = pulumi.mergeOptions(opts, secretOpts);
|
|
139
|
-
super(VolumeAttachV2.__pulumiType, name, resourceInputs, opts);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
exports.VolumeAttachV2 = VolumeAttachV2;
|
|
143
|
-
/** @internal */
|
|
144
|
-
VolumeAttachV2.__pulumiType = 'openstack:blockstorage/volumeAttachV2:VolumeAttachV2';
|
|
145
|
-
//# sourceMappingURL=volumeAttachV2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"volumeAttachV2.js","sourceRoot":"","sources":["../../blockstorage/volumeAttachV2.ts"],"names":[],"mappings":"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"}
|