-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #126 from dell/replication_rule_datasource
adding replication rule datasource
- Loading branch information
Showing
14 changed files
with
689 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
--- | ||
# Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved. | ||
# | ||
# Licensed under the Mozilla Public License Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://mozilla.org/MPL/2.0/ | ||
# | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
title: "powerstore_replication_rule data source" | ||
linkTitle: "powerstore_replication_rule" | ||
page_title: "powerstore_replication_rule Data Source - powerstore" | ||
subcategory: "" | ||
description: |- | ||
This datasource is used to query the existing replication rule from PowerStore array. The information fetched from this datasource can be used for getting the details for further processing in resource block. | ||
--- | ||
|
||
# powerstore_replication_rule (Data Source) | ||
|
||
This datasource is used to query the existing replication rule from PowerStore array. The information fetched from this datasource can be used for getting the details for further processing in resource block. | ||
> **Note:** Only one of `name` or `id` can be provided at a time. | ||
## Example Usage | ||
|
||
```terraform | ||
/* | ||
Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved. | ||
Licensed under the Mozilla Public License Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://mozilla.org/MPL/2.0/ | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
# commands to run this tf file : terraform init && terraform apply --auto-approve | ||
# This datasource reads replication rules either by id or name where user can provide a value to any one of them | ||
# If it is a empty datsource block , then it will read all the replication rules | ||
# If id or name is provided then it reads a particular replication rule with that id or name | ||
# Only one of the attribute can be provided among id and name | ||
# Get replication rule details using name | ||
data "powerstore_replication_rule" "test" { | ||
depends_on = [powerstore_replication_rule.test] | ||
name = "terraform_replication_rule" | ||
} | ||
# Get replication rule details using ID | ||
data "powerstore_replication_rule" "test" { | ||
id = "2d0780e3-2ce7-4d8b-b2ec-349c5e9e26a9" | ||
} | ||
output "replicationRule" { | ||
value = data.powerstore_replication_rule.test.replication_rules | ||
} | ||
``` | ||
After the successful execution of above said block, We can see the output by executing `terraform output` command. Also, we can fetch information via the variable: `data.powerstore_snapshotrule.test1.attribute_name` where attribute_name is the attribute which user wants to fetch. | ||
|
||
<!-- schema generated by tfplugindocs --> | ||
## Schema | ||
|
||
### Optional | ||
|
||
- `id` (String) Unique identifier of the replication rule. Conflicts with `name`. | ||
- `name` (String) Name of the replication rule. Conflicts with `id`. | ||
|
||
### Read-Only | ||
|
||
- `replication_rules` (Attributes List) List of replication rules. (see [below for nested schema](#nestedatt--replication_rules)) | ||
|
||
<a id="nestedatt--replication_rules"></a> | ||
### Nested Schema for `replication_rules` | ||
|
||
Read-Only: | ||
|
||
- `alert_threshold` (Number) The alert threshold for the replication rule. | ||
- `id` (String) Unique identifier of the replication rule. | ||
- `is_read_only` (Boolean) Indicates whether the replication rule is read-only. | ||
- `is_replica` (Boolean) Indicates whether the replication rule is a replica. | ||
- `managed_by` (String) The entity that manages the replication rule. | ||
- `managed_by_id` (String) The ID of the managing entity. | ||
- `name` (String) Name of the replication rule. | ||
- `policies` (Attributes List) The protection policies associated with the replication rule. (see [below for nested schema](#nestedatt--replication_rules--policies)) | ||
- `remote_system` (Attributes) The remote system associated with the replication rule. (see [below for nested schema](#nestedatt--replication_rules--remote_system)) | ||
- `remote_system_id` (String) The ID of the remote system associated with the replication rule. | ||
- `replication_sessions` (Attributes List) The replication session associated with the replication rule. (see [below for nested schema](#nestedatt--replication_rules--replication_sessions)) | ||
- `rpo` (String) The RPO (Recovery Point Objective) of the replication rule. | ||
|
||
<a id="nestedatt--replication_rules--policies"></a> | ||
### Nested Schema for `replication_rules.policies` | ||
|
||
Read-Only: | ||
|
||
- `id` (String) The ID of the protection policy. | ||
- `name` (String) The name of the protection policy. | ||
|
||
|
||
<a id="nestedatt--replication_rules--remote_system"></a> | ||
### Nested Schema for `replication_rules.remote_system` | ||
|
||
Read-Only: | ||
|
||
- `id` (String) The ID of the remote system. | ||
- `name` (String) The name of the remote system. | ||
|
||
|
||
<a id="nestedatt--replication_rules--replication_sessions"></a> | ||
### Nested Schema for `replication_rules.replication_sessions` | ||
|
||
Read-Only: | ||
|
||
- `id` (String) The ID of the replication session. | ||
- `state` (String) The state of the replication session. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
examples/data-sources/powerstore_replication_rule/data-source.tf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* | ||
Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved. | ||
Licensed under the Mozilla Public License Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://mozilla.org/MPL/2.0/ | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
# commands to run this tf file : terraform init && terraform apply --auto-approve | ||
# This datasource reads replication rules either by id or name where user can provide a value to any one of them | ||
# If it is a empty datsource block , then it will read all the replication rules | ||
# If id or name is provided then it reads a particular replication rule with that id or name | ||
# Only one of the attribute can be provided among id and name | ||
|
||
# Get replication rule details using name | ||
data "powerstore_replication_rule" "test" { | ||
depends_on = [powerstore_replication_rule.test] | ||
name = "terraform_replication_rule" | ||
} | ||
|
||
# Get replication rule details using ID | ||
data "powerstore_replication_rule" "test" { | ||
id = "2d0780e3-2ce7-4d8b-b2ec-349c5e9e26a9" | ||
} | ||
|
||
output "replicationRule" { | ||
value = data.powerstore_replication_rule.test.replication_rules | ||
} |
33 changes: 33 additions & 0 deletions
33
examples/data-sources/powerstore_replication_rule/provider.tf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved. | ||
Licensed under the Mozilla Public License Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://mozilla.org/MPL/2.0/ | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
terraform { | ||
required_providers { | ||
powerstore = { | ||
version = "1.2.0" | ||
source = "registry.terraform.io/dell/powerstore" | ||
} | ||
} | ||
} | ||
|
||
provider "powerstore" { | ||
username = var.username | ||
password = var.password | ||
endpoint = var.endpoint | ||
insecure = true | ||
timeout = var.timeout | ||
} |
36 changes: 36 additions & 0 deletions
36
examples/data-sources/powerstore_replication_rule/variables.tf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved. | ||
Licensed under the Mozilla Public License Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://mozilla.org/MPL/2.0/ | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
variable "username" { | ||
type = string | ||
description = "Stores the username of PowerStore host." | ||
} | ||
|
||
variable "password" { | ||
type = string | ||
description = "Stores the password of PowerStore host." | ||
} | ||
|
||
variable "timeout" { | ||
type = string | ||
description = "Stores the timeout of PowerStore host." | ||
} | ||
|
||
variable "endpoint" { | ||
type = string | ||
description = "Stores the endpoint of PowerStore host. eg: https://10.1.1.1/api/rest" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.