@pulumi/openstack 3.13.0-alpha.1686636327 → 3.13.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.
Files changed (175) hide show
  1. package/blockstorage/volumeAttach.d.ts +19 -2
  2. package/blockstorage/volumeAttach.js +19 -2
  3. package/blockstorage/volumeAttach.js.map +1 -1
  4. package/blockstorage/volumeAttachV2.d.ts +19 -2
  5. package/blockstorage/volumeAttachV2.js +19 -2
  6. package/blockstorage/volumeAttachV2.js.map +1 -1
  7. package/compute/flavorAccess.d.ts +4 -4
  8. package/compute/flavorAccess.js +4 -4
  9. package/compute/floatingIpAssociate.d.ts +5 -5
  10. package/compute/floatingIpAssociate.js +5 -5
  11. package/compute/getKeypair.d.ts +16 -0
  12. package/compute/getKeypair.js +1 -0
  13. package/compute/getKeypair.js.map +1 -1
  14. package/compute/instance.d.ts +9 -6
  15. package/compute/instance.js.map +1 -1
  16. package/compute/interfaceAttach.d.ts +2 -2
  17. package/compute/interfaceAttach.js +2 -2
  18. package/compute/keypair.js +2 -0
  19. package/compute/keypair.js.map +1 -1
  20. package/compute/secGroup.d.ts +1 -1
  21. package/compute/secGroup.js +1 -1
  22. package/compute/volumeAttach.d.ts +3 -3
  23. package/compute/volumeAttach.js +3 -3
  24. package/config/vars.d.ts +5 -1
  25. package/config/vars.js +6 -0
  26. package/config/vars.js.map +1 -1
  27. package/containerinfra/cluster.d.ts +15 -12
  28. package/containerinfra/cluster.js +6 -0
  29. package/containerinfra/cluster.js.map +1 -1
  30. package/containerinfra/getCluster.d.ts +6 -0
  31. package/containerinfra/getCluster.js.map +1 -1
  32. package/database/instance.d.ts +6 -0
  33. package/database/instance.js +6 -0
  34. package/database/instance.js.map +1 -1
  35. package/database/user.d.ts +7 -1
  36. package/database/user.js +7 -1
  37. package/database/user.js.map +1 -1
  38. package/dns/recordSet.d.ts +9 -15
  39. package/dns/recordSet.js +7 -4
  40. package/dns/recordSet.js.map +1 -1
  41. package/dns/transferAccept.d.ts +4 -4
  42. package/dns/transferAccept.js +4 -4
  43. package/dns/transferRequest.d.ts +3 -3
  44. package/dns/transferRequest.js +3 -3
  45. package/dns/zone.d.ts +2 -2
  46. package/dns/zone.js +2 -2
  47. package/firewall/firewall.d.ts +4 -4
  48. package/firewall/firewall.js +4 -4
  49. package/firewall/groupV2.d.ts +274 -0
  50. package/firewall/groupV2.js +110 -0
  51. package/firewall/groupV2.js.map +1 -0
  52. package/firewall/index.d.ts +9 -0
  53. package/firewall/index.js +16 -1
  54. package/firewall/index.js.map +1 -1
  55. package/firewall/policy.d.ts +4 -4
  56. package/firewall/policy.js +4 -4
  57. package/firewall/policyV2.d.ts +210 -0
  58. package/firewall/policyV2.js +100 -0
  59. package/firewall/policyV2.js.map +1 -0
  60. package/firewall/ruleV2.d.ts +298 -0
  61. package/firewall/ruleV2.js +101 -0
  62. package/firewall/ruleV2.js.map +1 -0
  63. package/getFwGroupV2.d.ts +194 -0
  64. package/getFwGroupV2.js +58 -0
  65. package/getFwGroupV2.js.map +1 -0
  66. package/getFwPolicyV2.d.ts +139 -0
  67. package/getFwPolicyV2.js +54 -0
  68. package/getFwPolicyV2.js.map +1 -0
  69. package/getFwRuleV2.d.ts +242 -0
  70. package/getFwRuleV2.js +62 -0
  71. package/getFwRuleV2.js.map +1 -0
  72. package/identity/applicationCredential.d.ts +11 -0
  73. package/identity/applicationCredential.js +11 -0
  74. package/identity/applicationCredential.js.map +1 -1
  75. package/identity/ec2CredentialV3.d.ts +8 -0
  76. package/identity/ec2CredentialV3.js +8 -0
  77. package/identity/ec2CredentialV3.js.map +1 -1
  78. package/identity/endpointV3.d.ts +1 -1
  79. package/identity/endpointV3.js +1 -1
  80. package/identity/getAuthScope.d.ts +62 -4
  81. package/identity/getAuthScope.js +62 -4
  82. package/identity/getAuthScope.js.map +1 -1
  83. package/identity/getProject.d.ts +14 -0
  84. package/identity/getProject.js +1 -0
  85. package/identity/getProject.js.map +1 -1
  86. package/identity/index.d.ts +3 -0
  87. package/identity/index.js +6 -1
  88. package/identity/index.js.map +1 -1
  89. package/identity/inheritRoleAssignment.d.ts +137 -0
  90. package/identity/inheritRoleAssignment.js +97 -0
  91. package/identity/inheritRoleAssignment.js.map +1 -0
  92. package/identity/roleAssignment.d.ts +11 -1
  93. package/identity/roleAssignment.js +11 -1
  94. package/identity/roleAssignment.js.map +1 -1
  95. package/identity/user.d.ts +13 -4
  96. package/identity/user.js +13 -4
  97. package/identity/user.js.map +1 -1
  98. package/identity/userMembershipV3.d.ts +2 -2
  99. package/identity/userMembershipV3.js +2 -2
  100. package/images/image.d.ts +9 -3
  101. package/images/image.js +6 -0
  102. package/images/image.js.map +1 -1
  103. package/images/imageAccess.d.ts +4 -4
  104. package/images/imageAccess.js +4 -4
  105. package/images/imageAccessAccept.d.ts +1 -1
  106. package/images/imageAccessAccept.js +1 -1
  107. package/index.d.ts +9 -0
  108. package/index.js +10 -1
  109. package/index.js.map +1 -1
  110. package/keymanager/containerV1.d.ts +16 -16
  111. package/keymanager/containerV1.js +16 -16
  112. package/keymanager/secretV1.d.ts +3 -3
  113. package/keymanager/secretV1.js +3 -3
  114. package/loadbalancer/l7policyV2.d.ts +3 -3
  115. package/loadbalancer/l7policyV2.js +3 -3
  116. package/loadbalancer/l7ruleV2.d.ts +4 -4
  117. package/loadbalancer/l7ruleV2.js +4 -4
  118. package/loadbalancer/monitor.d.ts +3 -3
  119. package/loadbalancer/monitor.js +3 -3
  120. package/loadbalancer/poolV1.d.ts +20 -20
  121. package/loadbalancer/poolV1.js +20 -20
  122. package/loadbalancer/quota.d.ts +5 -5
  123. package/loadbalancer/quota.js +5 -5
  124. package/networking/addressScope.d.ts +1 -1
  125. package/networking/addressScope.js +1 -1
  126. package/networking/network.d.ts +7 -7
  127. package/networking/network.js +7 -7
  128. package/networking/port.d.ts +5 -6
  129. package/networking/port.js +5 -6
  130. package/networking/port.js.map +1 -1
  131. package/networking/portSecGroupAssociate.d.ts +2 -2
  132. package/networking/portSecGroupAssociate.js +2 -2
  133. package/networking/qosBandwidthLimitRule.d.ts +3 -3
  134. package/networking/qosBandwidthLimitRule.js +3 -3
  135. package/networking/qosDscpMarkingRule.d.ts +1 -1
  136. package/networking/qosDscpMarkingRule.js +1 -1
  137. package/networking/qosMinimumBandwidthRule.d.ts +1 -1
  138. package/networking/qosMinimumBandwidthRule.js +1 -1
  139. package/networking/routerInterface.d.ts +2 -2
  140. package/networking/routerInterface.js +2 -2
  141. package/networking/routerRoute.d.ts +2 -2
  142. package/networking/routerRoute.js +2 -2
  143. package/networking/secGroupRule.d.ts +2 -2
  144. package/networking/secGroupRule.js +2 -2
  145. package/networking/subnet.d.ts +1 -1
  146. package/networking/subnet.js +1 -1
  147. package/networking/subnetRoute.d.ts +2 -2
  148. package/networking/subnetRoute.js +2 -2
  149. package/networking/trunk.d.ts +5 -5
  150. package/networking/trunk.js +5 -5
  151. package/objectstorage/container.d.ts +2 -2
  152. package/objectstorage/container.js +2 -2
  153. package/objectstorage/containerObject.d.ts +17 -18
  154. package/objectstorage/containerObject.js +17 -18
  155. package/objectstorage/containerObject.js.map +1 -1
  156. package/objectstorage/tempUrl.d.ts +1 -1
  157. package/objectstorage/tempUrl.js +1 -1
  158. package/package.json +2 -2
  159. package/provider.d.ts +6 -2
  160. package/provider.js +2 -1
  161. package/provider.js.map +1 -1
  162. package/sharedfilesystem/securityService.d.ts +1 -1
  163. package/sharedfilesystem/securityService.js +1 -1
  164. package/sharedfilesystem/share.d.ts +2 -2
  165. package/sharedfilesystem/share.js +2 -2
  166. package/sharedfilesystem/shareAccess.d.ts +23 -15
  167. package/sharedfilesystem/shareAccess.js +17 -15
  168. package/sharedfilesystem/shareAccess.js.map +1 -1
  169. package/sharedfilesystem/shareNetwork.d.ts +4 -4
  170. package/sharedfilesystem/shareNetwork.js +4 -4
  171. package/types/input.d.ts +5 -0
  172. package/types/output.d.ts +5 -0
  173. package/vpnaas/ipSecPolicy.d.ts +9 -9
  174. package/vpnaas/siteConnection.d.ts +8 -8
  175. package/vpnaas/siteConnection.js +8 -8
@@ -0,0 +1,210 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a v2 firewall policy resource within OpenStack.
4
+ *
5
+ * > **Note:** Firewall v2 has no support for OVN currently.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as openstack from "@pulumi/openstack";
12
+ *
13
+ * const rule1 = new openstack.firewall.RuleV2("rule1", {
14
+ * description: "drop TELNET traffic",
15
+ * action: "deny",
16
+ * protocol: "tcp",
17
+ * destinationPort: "23",
18
+ * enabled: true,
19
+ * });
20
+ * const rule2 = new openstack.firewall.RuleV2("rule2", {
21
+ * description: "drop NTP traffic",
22
+ * action: "deny",
23
+ * protocol: "udp",
24
+ * destinationPort: "123",
25
+ * enabled: false,
26
+ * });
27
+ * const policy1 = new openstack.firewall.PolicyV2("policy1", {rules: [
28
+ * rule1.id,
29
+ * rule2.id,
30
+ * ]});
31
+ * ```
32
+ *
33
+ * ## Import
34
+ *
35
+ * Firewall Policies can be imported using the `id`, e.g.
36
+ *
37
+ * ```sh
38
+ * $ pulumi import openstack:firewall/policyV2:PolicyV2 policy_1 07f422e6-c596-474b-8b94-fe2c12506ce0
39
+ * ```
40
+ */
41
+ export declare class PolicyV2 extends pulumi.CustomResource {
42
+ /**
43
+ * Get an existing PolicyV2 resource's state with the given name, ID, and optional extra
44
+ * properties used to qualify the lookup.
45
+ *
46
+ * @param name The _unique_ name of the resulting resource.
47
+ * @param id The _unique_ provider ID of the resource to lookup.
48
+ * @param state Any extra arguments used during the lookup.
49
+ * @param opts Optional settings to control the behavior of the CustomResource.
50
+ */
51
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PolicyV2State, opts?: pulumi.CustomResourceOptions): PolicyV2;
52
+ /**
53
+ * Returns true if the given object is an instance of PolicyV2. This is designed to work even
54
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
55
+ */
56
+ static isInstance(obj: any): obj is PolicyV2;
57
+ /**
58
+ * Audit status of the firewall policy
59
+ * (must be "true" or "false" if provided - defaults to "false").
60
+ * This status is set to "false" whenever the firewall policy or any of its
61
+ * rules are changed. Changing this updates the `audited` status of an existing
62
+ * firewall policy.
63
+ */
64
+ readonly audited: pulumi.Output<boolean | undefined>;
65
+ /**
66
+ * A description for the firewall policy. Changing
67
+ * this updates the `description` of an existing firewall policy.
68
+ */
69
+ readonly description: pulumi.Output<string | undefined>;
70
+ /**
71
+ * A name for the firewall policy. Changing this
72
+ * updates the `name` of an existing firewall policy.
73
+ */
74
+ readonly name: pulumi.Output<string>;
75
+ /**
76
+ * The region in which to obtain the v2 networking client.
77
+ * A networking client is needed to create a firewall policy. If omitted, the
78
+ * `region` argument of the provider is used. Changing this creates a new
79
+ * firewall policy.
80
+ */
81
+ readonly region: pulumi.Output<string>;
82
+ /**
83
+ * An array of one or more firewall rules that comprise
84
+ * the policy. Changing this results in adding/removing rules from the
85
+ * existing firewall policy.
86
+ */
87
+ readonly rules: pulumi.Output<string[] | undefined>;
88
+ /**
89
+ * Sharing status of the firewall policy (must be "true"
90
+ * or "false" if provided). If this is "true" the policy is visible to, and
91
+ * can be used in, firewalls in other tenants. Changing this updates the
92
+ * `shared` status of an existing firewall policy. Only administrative users
93
+ * can specify if the policy should be shared.
94
+ */
95
+ readonly shared: pulumi.Output<boolean | undefined>;
96
+ /**
97
+ * The owner of the firewall policy. Required if admin
98
+ * wants to create a firewall policy for another tenant. Changing this
99
+ * creates a new firewall policy.
100
+ */
101
+ readonly tenantId: pulumi.Output<string>;
102
+ /**
103
+ * Create a PolicyV2 resource with the given unique name, arguments, and options.
104
+ *
105
+ * @param name The _unique_ name of the resource.
106
+ * @param args The arguments to use to populate this resource's properties.
107
+ * @param opts A bag of options that control this resource's behavior.
108
+ */
109
+ constructor(name: string, args?: PolicyV2Args, opts?: pulumi.CustomResourceOptions);
110
+ }
111
+ /**
112
+ * Input properties used for looking up and filtering PolicyV2 resources.
113
+ */
114
+ export interface PolicyV2State {
115
+ /**
116
+ * Audit status of the firewall policy
117
+ * (must be "true" or "false" if provided - defaults to "false").
118
+ * This status is set to "false" whenever the firewall policy or any of its
119
+ * rules are changed. Changing this updates the `audited` status of an existing
120
+ * firewall policy.
121
+ */
122
+ audited?: pulumi.Input<boolean>;
123
+ /**
124
+ * A description for the firewall policy. Changing
125
+ * this updates the `description` of an existing firewall policy.
126
+ */
127
+ description?: pulumi.Input<string>;
128
+ /**
129
+ * A name for the firewall policy. Changing this
130
+ * updates the `name` of an existing firewall policy.
131
+ */
132
+ name?: pulumi.Input<string>;
133
+ /**
134
+ * The region in which to obtain the v2 networking client.
135
+ * A networking client is needed to create a firewall policy. If omitted, the
136
+ * `region` argument of the provider is used. Changing this creates a new
137
+ * firewall policy.
138
+ */
139
+ region?: pulumi.Input<string>;
140
+ /**
141
+ * An array of one or more firewall rules that comprise
142
+ * the policy. Changing this results in adding/removing rules from the
143
+ * existing firewall policy.
144
+ */
145
+ rules?: pulumi.Input<pulumi.Input<string>[]>;
146
+ /**
147
+ * Sharing status of the firewall policy (must be "true"
148
+ * or "false" if provided). If this is "true" the policy is visible to, and
149
+ * can be used in, firewalls in other tenants. Changing this updates the
150
+ * `shared` status of an existing firewall policy. Only administrative users
151
+ * can specify if the policy should be shared.
152
+ */
153
+ shared?: pulumi.Input<boolean>;
154
+ /**
155
+ * The owner of the firewall policy. Required if admin
156
+ * wants to create a firewall policy for another tenant. Changing this
157
+ * creates a new firewall policy.
158
+ */
159
+ tenantId?: pulumi.Input<string>;
160
+ }
161
+ /**
162
+ * The set of arguments for constructing a PolicyV2 resource.
163
+ */
164
+ export interface PolicyV2Args {
165
+ /**
166
+ * Audit status of the firewall policy
167
+ * (must be "true" or "false" if provided - defaults to "false").
168
+ * This status is set to "false" whenever the firewall policy or any of its
169
+ * rules are changed. Changing this updates the `audited` status of an existing
170
+ * firewall policy.
171
+ */
172
+ audited?: pulumi.Input<boolean>;
173
+ /**
174
+ * A description for the firewall policy. Changing
175
+ * this updates the `description` of an existing firewall policy.
176
+ */
177
+ description?: pulumi.Input<string>;
178
+ /**
179
+ * A name for the firewall policy. Changing this
180
+ * updates the `name` of an existing firewall policy.
181
+ */
182
+ name?: pulumi.Input<string>;
183
+ /**
184
+ * The region in which to obtain the v2 networking client.
185
+ * A networking client is needed to create a firewall policy. If omitted, the
186
+ * `region` argument of the provider is used. Changing this creates a new
187
+ * firewall policy.
188
+ */
189
+ region?: pulumi.Input<string>;
190
+ /**
191
+ * An array of one or more firewall rules that comprise
192
+ * the policy. Changing this results in adding/removing rules from the
193
+ * existing firewall policy.
194
+ */
195
+ rules?: pulumi.Input<pulumi.Input<string>[]>;
196
+ /**
197
+ * Sharing status of the firewall policy (must be "true"
198
+ * or "false" if provided). If this is "true" the policy is visible to, and
199
+ * can be used in, firewalls in other tenants. Changing this updates the
200
+ * `shared` status of an existing firewall policy. Only administrative users
201
+ * can specify if the policy should be shared.
202
+ */
203
+ shared?: pulumi.Input<boolean>;
204
+ /**
205
+ * The owner of the firewall policy. Required if admin
206
+ * wants to create a firewall policy for another tenant. Changing this
207
+ * creates a new firewall policy.
208
+ */
209
+ tenantId?: pulumi.Input<string>;
210
+ }
@@ -0,0 +1,100 @@
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.PolicyV2 = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a v2 firewall policy resource within OpenStack.
10
+ *
11
+ * > **Note:** Firewall v2 has no support for OVN currently.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as openstack from "@pulumi/openstack";
18
+ *
19
+ * const rule1 = new openstack.firewall.RuleV2("rule1", {
20
+ * description: "drop TELNET traffic",
21
+ * action: "deny",
22
+ * protocol: "tcp",
23
+ * destinationPort: "23",
24
+ * enabled: true,
25
+ * });
26
+ * const rule2 = new openstack.firewall.RuleV2("rule2", {
27
+ * description: "drop NTP traffic",
28
+ * action: "deny",
29
+ * protocol: "udp",
30
+ * destinationPort: "123",
31
+ * enabled: false,
32
+ * });
33
+ * const policy1 = new openstack.firewall.PolicyV2("policy1", {rules: [
34
+ * rule1.id,
35
+ * rule2.id,
36
+ * ]});
37
+ * ```
38
+ *
39
+ * ## Import
40
+ *
41
+ * Firewall Policies can be imported using the `id`, e.g.
42
+ *
43
+ * ```sh
44
+ * $ pulumi import openstack:firewall/policyV2:PolicyV2 policy_1 07f422e6-c596-474b-8b94-fe2c12506ce0
45
+ * ```
46
+ */
47
+ class PolicyV2 extends pulumi.CustomResource {
48
+ /**
49
+ * Get an existing PolicyV2 resource's state with the given name, ID, and optional extra
50
+ * properties used to qualify the lookup.
51
+ *
52
+ * @param name The _unique_ name of the resulting resource.
53
+ * @param id The _unique_ provider ID of the resource to lookup.
54
+ * @param state Any extra arguments used during the lookup.
55
+ * @param opts Optional settings to control the behavior of the CustomResource.
56
+ */
57
+ static get(name, id, state, opts) {
58
+ return new PolicyV2(name, state, Object.assign(Object.assign({}, opts), { id: id }));
59
+ }
60
+ /**
61
+ * Returns true if the given object is an instance of PolicyV2. This is designed to work even
62
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
63
+ */
64
+ static isInstance(obj) {
65
+ if (obj === undefined || obj === null) {
66
+ return false;
67
+ }
68
+ return obj['__pulumiType'] === PolicyV2.__pulumiType;
69
+ }
70
+ constructor(name, argsOrState, opts) {
71
+ let resourceInputs = {};
72
+ opts = opts || {};
73
+ if (opts.id) {
74
+ const state = argsOrState;
75
+ resourceInputs["audited"] = state ? state.audited : undefined;
76
+ resourceInputs["description"] = state ? state.description : undefined;
77
+ resourceInputs["name"] = state ? state.name : undefined;
78
+ resourceInputs["region"] = state ? state.region : undefined;
79
+ resourceInputs["rules"] = state ? state.rules : undefined;
80
+ resourceInputs["shared"] = state ? state.shared : undefined;
81
+ resourceInputs["tenantId"] = state ? state.tenantId : undefined;
82
+ }
83
+ else {
84
+ const args = argsOrState;
85
+ resourceInputs["audited"] = args ? args.audited : undefined;
86
+ resourceInputs["description"] = args ? args.description : undefined;
87
+ resourceInputs["name"] = args ? args.name : undefined;
88
+ resourceInputs["region"] = args ? args.region : undefined;
89
+ resourceInputs["rules"] = args ? args.rules : undefined;
90
+ resourceInputs["shared"] = args ? args.shared : undefined;
91
+ resourceInputs["tenantId"] = args ? args.tenantId : undefined;
92
+ }
93
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
94
+ super(PolicyV2.__pulumiType, name, resourceInputs, opts);
95
+ }
96
+ }
97
+ exports.PolicyV2 = PolicyV2;
98
+ /** @internal */
99
+ PolicyV2.__pulumiType = 'openstack:firewall/policyV2:PolicyV2';
100
+ //# sourceMappingURL=policyV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policyV2.js","sourceRoot":"","sources":["../../firewall/policyV2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a v2 firewall rule resource within OpenStack.
4
+ *
5
+ * > **Note:** Firewall v2 has no support for OVN currently.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as openstack from "@pulumi/openstack";
12
+ *
13
+ * const rule2 = new openstack.firewall.RuleV2("rule2", {
14
+ * action: "deny",
15
+ * description: "drop TELNET traffic",
16
+ * destinationPort: "23",
17
+ * enabled: true,
18
+ * protocol: "tcp",
19
+ * });
20
+ * ```
21
+ *
22
+ * ## Import
23
+ *
24
+ * Firewall Rules can be imported using the `id`, e.g.
25
+ *
26
+ * ```sh
27
+ * $ pulumi import openstack:firewall/ruleV2:RuleV2 rule_1 8dbc0c28-e49c-463f-b712-5c5d1bbac327
28
+ * ```
29
+ */
30
+ export declare class RuleV2 extends pulumi.CustomResource {
31
+ /**
32
+ * Get an existing RuleV2 resource's state with the given name, ID, and optional extra
33
+ * properties used to qualify the lookup.
34
+ *
35
+ * @param name The _unique_ name of the resulting resource.
36
+ * @param id The _unique_ provider ID of the resource to lookup.
37
+ * @param state Any extra arguments used during the lookup.
38
+ * @param opts Optional settings to control the behavior of the CustomResource.
39
+ */
40
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RuleV2State, opts?: pulumi.CustomResourceOptions): RuleV2;
41
+ /**
42
+ * Returns true if the given object is an instance of RuleV2. This is designed to work even
43
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
44
+ */
45
+ static isInstance(obj: any): obj is RuleV2;
46
+ /**
47
+ * Action to be taken (must be "allow", "deny" or "reject")
48
+ * when the firewall rule matches. Changing this updates the `action` of an
49
+ * existing firewall rule. Default is `deny`.
50
+ */
51
+ readonly action: pulumi.Output<string | undefined>;
52
+ /**
53
+ * A description for the firewall rule. Changing this
54
+ * updates the `description` of an existing firewall rule.
55
+ */
56
+ readonly description: pulumi.Output<string | undefined>;
57
+ /**
58
+ * The destination IP address on which the
59
+ * firewall rule operates. Changing this updates the `destinationIpAddress`
60
+ * of an existing firewall rule.
61
+ */
62
+ readonly destinationIpAddress: pulumi.Output<string | undefined>;
63
+ /**
64
+ * The destination port on which the firewall
65
+ * rule operates. Changing this updates the `destinationPort` of an existing
66
+ * firewall rule. Require not `any` or empty protocol.
67
+ */
68
+ readonly destinationPort: pulumi.Output<string | undefined>;
69
+ /**
70
+ * Enabled status for the firewall rule (must be "true"
71
+ * or "false" if provided - defaults to "true"). Changing this updates the
72
+ * `enabled` status of an existing firewall rule.
73
+ */
74
+ readonly enabled: pulumi.Output<boolean | undefined>;
75
+ /**
76
+ * IP version, either 4 or 6. Changing this
77
+ * updates the `ipVersion` of an existing firewall rule. Default is `4`.
78
+ */
79
+ readonly ipVersion: pulumi.Output<number | undefined>;
80
+ /**
81
+ * A unique name for the firewall rule. Changing this
82
+ * updates the `name` of an existing firewall rule.
83
+ */
84
+ readonly name: pulumi.Output<string>;
85
+ /**
86
+ * (Optional; Required if `sourcePort` or `destinationPort` is not
87
+ * empty) The protocol type on which the firewall rule operates.
88
+ * Valid values are: `tcp`, `udp`, `icmp`, and `any`. Changing this updates the
89
+ * `protocol` of an existing firewall rule. Default is `any`.
90
+ */
91
+ readonly protocol: pulumi.Output<string | undefined>;
92
+ /**
93
+ * The region in which to obtain the v2 networking client.
94
+ * A networking client is needed to create a firewall rule. If omitted, the
95
+ * `region` argument of the provider is used. Changing this creates a new
96
+ * firewall rule.
97
+ */
98
+ readonly region: pulumi.Output<string>;
99
+ /**
100
+ * Sharing status of the firewall rule (must be "true"
101
+ * or "false" if provided). If this is "true" the policy is visible to, and
102
+ * can be used in, firewalls in other tenants. Changing this updates the
103
+ * `shared` status of an existing firewall policy. On
104
+ */
105
+ readonly shared: pulumi.Output<boolean | undefined>;
106
+ /**
107
+ * The source IP address on which the firewall
108
+ * rule operates. Changing this updates the `sourceIpAddress` of an existing
109
+ * firewall rule.
110
+ */
111
+ readonly sourceIpAddress: pulumi.Output<string | undefined>;
112
+ /**
113
+ * The source port on which the firewall
114
+ * rule operates. Changing this updates the `sourcePort` of an existing
115
+ * firewall rule. Require not `any` or empty protocol.
116
+ */
117
+ readonly sourcePort: pulumi.Output<string | undefined>;
118
+ /**
119
+ * The owner of the firewall rule. Required if admin
120
+ * wants to create a firewall rule for another tenant. Changing this creates a
121
+ * new firewall rule.
122
+ */
123
+ readonly tenantId: pulumi.Output<string | undefined>;
124
+ /**
125
+ * Create a RuleV2 resource with the given unique name, arguments, and options.
126
+ *
127
+ * @param name The _unique_ name of the resource.
128
+ * @param args The arguments to use to populate this resource's properties.
129
+ * @param opts A bag of options that control this resource's behavior.
130
+ */
131
+ constructor(name: string, args?: RuleV2Args, opts?: pulumi.CustomResourceOptions);
132
+ }
133
+ /**
134
+ * Input properties used for looking up and filtering RuleV2 resources.
135
+ */
136
+ export interface RuleV2State {
137
+ /**
138
+ * Action to be taken (must be "allow", "deny" or "reject")
139
+ * when the firewall rule matches. Changing this updates the `action` of an
140
+ * existing firewall rule. Default is `deny`.
141
+ */
142
+ action?: pulumi.Input<string>;
143
+ /**
144
+ * A description for the firewall rule. Changing this
145
+ * updates the `description` of an existing firewall rule.
146
+ */
147
+ description?: pulumi.Input<string>;
148
+ /**
149
+ * The destination IP address on which the
150
+ * firewall rule operates. Changing this updates the `destinationIpAddress`
151
+ * of an existing firewall rule.
152
+ */
153
+ destinationIpAddress?: pulumi.Input<string>;
154
+ /**
155
+ * The destination port on which the firewall
156
+ * rule operates. Changing this updates the `destinationPort` of an existing
157
+ * firewall rule. Require not `any` or empty protocol.
158
+ */
159
+ destinationPort?: pulumi.Input<string>;
160
+ /**
161
+ * Enabled status for the firewall rule (must be "true"
162
+ * or "false" if provided - defaults to "true"). Changing this updates the
163
+ * `enabled` status of an existing firewall rule.
164
+ */
165
+ enabled?: pulumi.Input<boolean>;
166
+ /**
167
+ * IP version, either 4 or 6. Changing this
168
+ * updates the `ipVersion` of an existing firewall rule. Default is `4`.
169
+ */
170
+ ipVersion?: pulumi.Input<number>;
171
+ /**
172
+ * A unique name for the firewall rule. Changing this
173
+ * updates the `name` of an existing firewall rule.
174
+ */
175
+ name?: pulumi.Input<string>;
176
+ /**
177
+ * (Optional; Required if `sourcePort` or `destinationPort` is not
178
+ * empty) The protocol type on which the firewall rule operates.
179
+ * Valid values are: `tcp`, `udp`, `icmp`, and `any`. Changing this updates the
180
+ * `protocol` of an existing firewall rule. Default is `any`.
181
+ */
182
+ protocol?: pulumi.Input<string>;
183
+ /**
184
+ * The region in which to obtain the v2 networking client.
185
+ * A networking client is needed to create a firewall rule. If omitted, the
186
+ * `region` argument of the provider is used. Changing this creates a new
187
+ * firewall rule.
188
+ */
189
+ region?: pulumi.Input<string>;
190
+ /**
191
+ * Sharing status of the firewall rule (must be "true"
192
+ * or "false" if provided). If this is "true" the policy is visible to, and
193
+ * can be used in, firewalls in other tenants. Changing this updates the
194
+ * `shared` status of an existing firewall policy. On
195
+ */
196
+ shared?: pulumi.Input<boolean>;
197
+ /**
198
+ * The source IP address on which the firewall
199
+ * rule operates. Changing this updates the `sourceIpAddress` of an existing
200
+ * firewall rule.
201
+ */
202
+ sourceIpAddress?: pulumi.Input<string>;
203
+ /**
204
+ * The source port on which the firewall
205
+ * rule operates. Changing this updates the `sourcePort` of an existing
206
+ * firewall rule. Require not `any` or empty protocol.
207
+ */
208
+ sourcePort?: pulumi.Input<string>;
209
+ /**
210
+ * The owner of the firewall rule. Required if admin
211
+ * wants to create a firewall rule for another tenant. Changing this creates a
212
+ * new firewall rule.
213
+ */
214
+ tenantId?: pulumi.Input<string>;
215
+ }
216
+ /**
217
+ * The set of arguments for constructing a RuleV2 resource.
218
+ */
219
+ export interface RuleV2Args {
220
+ /**
221
+ * Action to be taken (must be "allow", "deny" or "reject")
222
+ * when the firewall rule matches. Changing this updates the `action` of an
223
+ * existing firewall rule. Default is `deny`.
224
+ */
225
+ action?: pulumi.Input<string>;
226
+ /**
227
+ * A description for the firewall rule. Changing this
228
+ * updates the `description` of an existing firewall rule.
229
+ */
230
+ description?: pulumi.Input<string>;
231
+ /**
232
+ * The destination IP address on which the
233
+ * firewall rule operates. Changing this updates the `destinationIpAddress`
234
+ * of an existing firewall rule.
235
+ */
236
+ destinationIpAddress?: pulumi.Input<string>;
237
+ /**
238
+ * The destination port on which the firewall
239
+ * rule operates. Changing this updates the `destinationPort` of an existing
240
+ * firewall rule. Require not `any` or empty protocol.
241
+ */
242
+ destinationPort?: pulumi.Input<string>;
243
+ /**
244
+ * Enabled status for the firewall rule (must be "true"
245
+ * or "false" if provided - defaults to "true"). Changing this updates the
246
+ * `enabled` status of an existing firewall rule.
247
+ */
248
+ enabled?: pulumi.Input<boolean>;
249
+ /**
250
+ * IP version, either 4 or 6. Changing this
251
+ * updates the `ipVersion` of an existing firewall rule. Default is `4`.
252
+ */
253
+ ipVersion?: pulumi.Input<number>;
254
+ /**
255
+ * A unique name for the firewall rule. Changing this
256
+ * updates the `name` of an existing firewall rule.
257
+ */
258
+ name?: pulumi.Input<string>;
259
+ /**
260
+ * (Optional; Required if `sourcePort` or `destinationPort` is not
261
+ * empty) The protocol type on which the firewall rule operates.
262
+ * Valid values are: `tcp`, `udp`, `icmp`, and `any`. Changing this updates the
263
+ * `protocol` of an existing firewall rule. Default is `any`.
264
+ */
265
+ protocol?: pulumi.Input<string>;
266
+ /**
267
+ * The region in which to obtain the v2 networking client.
268
+ * A networking client is needed to create a firewall rule. If omitted, the
269
+ * `region` argument of the provider is used. Changing this creates a new
270
+ * firewall rule.
271
+ */
272
+ region?: pulumi.Input<string>;
273
+ /**
274
+ * Sharing status of the firewall rule (must be "true"
275
+ * or "false" if provided). If this is "true" the policy is visible to, and
276
+ * can be used in, firewalls in other tenants. Changing this updates the
277
+ * `shared` status of an existing firewall policy. On
278
+ */
279
+ shared?: pulumi.Input<boolean>;
280
+ /**
281
+ * The source IP address on which the firewall
282
+ * rule operates. Changing this updates the `sourceIpAddress` of an existing
283
+ * firewall rule.
284
+ */
285
+ sourceIpAddress?: pulumi.Input<string>;
286
+ /**
287
+ * The source port on which the firewall
288
+ * rule operates. Changing this updates the `sourcePort` of an existing
289
+ * firewall rule. Require not `any` or empty protocol.
290
+ */
291
+ sourcePort?: pulumi.Input<string>;
292
+ /**
293
+ * The owner of the firewall rule. Required if admin
294
+ * wants to create a firewall rule for another tenant. Changing this creates a
295
+ * new firewall rule.
296
+ */
297
+ tenantId?: pulumi.Input<string>;
298
+ }