title | linkTitle | page_title | subcategory | description |
---|---|---|---|---|
apex_navigator_block_storage resource |
apex_navigator_block_storage |
apex_navigator_block_storage Resource - apex |
This Terraform resource is used to manage Block Storage on Apex Navigator. We can create, read, update, delete Block Storage on Apex Navigator.We can also import existing Block Storage from Apex Navigator. |
This Terraform resource is used to manage Block Storage on Apex Navigator. We can create, read, update, delete Block Storage on Apex Navigator.We can also import existing Block Storage from Apex Navigator.
/*
Copyright (c) 2024 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.
*/
data "apex_navigator_storage_products" "example" {}
locals {
latest_file_id = [
for k, v in data.apex_navigator_storage_products.example.storage_products :
v.storage_type == "BLOCK" && v.cloud_type == "AWS" ? v.latest_version : ""
]
latest_file_ids = compact(local.latest_file_id)[0]
}
resource "apex_navigator_block_storage" "cloud_instance" {
# Type of system you want to deploy
storage_system_type = "POWERFLEX"
# The name of the system.
name = "apex-navigator-terraform"
# This set to the latest block version.
# If you want to set a specific version check the apex_navigator_storage_products datasource for more versions
product_version = local.latest_file_id
deployment_details = {
system_public_cloud = {
deployment_type = "PUBLIC_CLOUD"
cloud_type = "AWS"
cloud_account = "123456789012"
cloud_region = "us-east-1"
availability_zone_topology = "SINGLE_AVAILABILITY_ZONE"
minimum_iops = "100"
minimum_capacity = "8"
tier_type = "BALANCED"
ssh_key_name = "apex-navigator-terraform-key"
vpc = {
is_new_vpc = false
vpc_id = "vpc-12345678901234567"
# vpc_name = "my-vpc"
}
subnet_options = [
{
#cidr_block is not supported for existing vpc
subnet_id = "subnet-12345678901234567"
subnet_type = "EXTERNAL"
},
{
subnet_id = "subnet-2"
#cidr_block is not supported for existing vpc
subnet_type = "INTERNAL"
},
{
subnet_id = "subnet-3"
#cidr_block is not supported for existing vpc
subnet_type = "SCG"
},
]
}
}
# Note: PowerFlex credentials are required to activate the system for block storage related operations.
# This is only required when decomissioning the system
powerflex {
username = "example-user"
password = "example-password"
}
depends_on = [data.apex_navigator_storage_products.example]
}
output "navigator_block_storage" {
sensitive = true
value = apex_navigator_block_storage.cloud_instance
}
/*
Copyright (c) 2024 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.
*/
data "apex_navigator_storage_products" "example" {}
locals {
latest_file_id = [
for k, v in data.apex_navigator_storage_products.example.storage_products :
v.storage_type == "BLOCK" && v.cloud_type == "AWS" ? v.latest_version : ""
]
latest_file_ids = compact(local.latest_file_id)[0]
}
resource "apex_navigator_block_storage" "cloud_instance_newvpc" {
# Type of system you want to deploy
storage_system_type = "POWERFLEX"
# The name of the system.
name = "apex-navigator-terraform"
# This set to the latest block version.
# If you want to set a specific version check the apex_navigator_storage_products datasource for more versions
product_version = local.latest_file_id
deployment_details = {
system_public_cloud = {
deployment_type = "PUBLIC_CLOUD"
cloud_type = "AWS"
cloud_account = "123456789012"
cloud_region = "us-east-1"
availability_zone_topology = "SINGLE_AVAILABILITY_ZONE"
minimum_iops = "100"
minimum_capacity = "8"
tier_type = "BALANCED"
ssh_key_name = "apex-navigator-terraform-key"
vpc = {
is_new_vpc = true
vpc_name = "my-vpc"
}
subnet_options = [
{
cidr_block = "168.31.0.0/28"
subnet_type = "EXTERNAL"
},
{
cidr_block = "10.0.0.0/22"
subnet_type = "INTERNAL"
}
]
}
}
# Note: PowerFlex credentials are required to activate the system for block storage related operations.
# This is only required when decomissioning the system
powerflex {
username = "example-user"
password = "example-password"
}
depends_on = [data.apex_navigator_storage_products.example]
}
output "navigator_block_storage1" {
sensitive = true
value = apex_navigator_block_storage.cloud_instance_newvpc
}
name
(String) The user-defined name of the system.product_version
(String) Product version.storage_system_type
(String) Type of the system
bandwidth
(Number) The system bandwidth. Aggregated for a rolling average over the last 24 hours - Unit: bytes/scapacity_impact
(Number) Impact point of highest impacting issue in the capacity health categorycapacity_issue_count
(Number) Total number of issues in the capacity health categorycompression_savings
(Number) Storage efficiency ratio of data which has compression applied to it on the system.configuration_impact
(Number) Impact point of highest impacting issue in the configuration health category.configuration_issue_count
(Number) Total number of issues in the configuration health category.configured_size
(Number) The configured size for this system - Unit: bytes.connectivity_status
(String) Connectivity status.contract_coverage_type
(String) Type of the service contract of the system.contract_expiration_date_timestamp
(String) Expiration date for the service contract of the system.data_protection_impact
(Number) Impact point of highest impacting issue in the data protection health category.data_protection_issue_count
(Number) Total number of issues in the data protection health category.deployment_details
(Attributes) Details of deployment (see below for nested schema)display_identifier
(String) Unique identifier for the system.free_percent
(Number) The %free capacity.free_size
(Number) The free size value - Unit: bytes.health_connectivity_status
(String) Health connectivity status.health_issue_count
(Number) Total amount of health issues.health_score
(Number) The overall health score of the system.health_state
(String) Health state of the system.id
(String) Identifier for the storage systemiops
(Number) The IOPS for the system. Aggregated for a rolling average over the last 24 hours - Unit: IO/s.ipv4_address
(String) IPv4 address of the system.ipv6_address
(String) IPv6 address of the system.last_contact_timestamp
(String) Last time that CloudIQ received data from the system.latency
(Number) The latency for the system. Aggregated for a rolling average over the last 24 hours - Unit: microseconds.license_expiration_date_timestamp
(String) Expiration date for the license on the system.license_type
(String) Type of the license on the system.logical_size
(Number) The logical size written - Unit: bytes.model
(String) The model of the system.overall_efficiency
(Number) The overall system-level storage efficiency ratio based on Thin, Snapshots, Deduplication, and Data Reduction.performance_impact
(Number) Impact point of highest impacting issue in the performance health category.performance_issue_count
(Number) Total number of issues in the performance health category.powerflex
(Block, Optional) (see below for nested schema)serial_number
(String) The serial number for this system.site_name
(String) Name of the site where the system is registered to.snaps_savings
(Number) The snaps savings for this system.system_health_impact
(Number) Health impact for the system.system_health_issue_count
(Number) Total amount of health issues for the system.system_id
(String) Unique identifier for the device or appliancethin_savings
(Number) The savings due to thin provisioning.total_size
(Number) The total size of the system - Unit: bytes.unconfigured_size
(Number) The unconfigured capacity for this system - Unit: bytes.used_percent
(Number) Percentage of capacity used for this system.used_size
(Number) The value of used capacity for this system - Unit: bytes.vendor
(String) Name of the vendor who makes the system.
system_type
(String) Type of the systemversion
(String) Version identifier.
Optional:
system_on_prem
(Attributes) (see below for nested schema)system_public_cloud
(Attributes) (see below for nested schema)
Optional:
city
(String) Name of the city where the system is located.country
(String) Name of the country where the system is located.deployment_type
(String) System deployment types (e.g. PUBLIC_CLOUD)location
(String) User provided description of where the system is located.site_name
(String) Name of the site where the system is locatedstate
(String) Name of the state where the system is located.street_address_1
(String) Street address 1 of where the system is locatedstreet_address_2
(String) Street address 2 of where the system is locatedzip_code
(String) Zip code of where the system is located
Required:
cloud_account
(String) Cloud provider account where the storage system residescloud_region
(String) Cloud provider region where the storage system residescloud_type
(String) Enum for all the supported cloud providers * AWS - Amazon Web Servicesminimum_capacity
(Number) Minimum capacity requested during the deployment time - Unit: bytesminimum_iops
(Number) Minimum IOPS requested during the deployment time - Unit: IO/sssh_key_name
(String)subnet_options
(Attributes List) Subnet options (see below for nested schema)tier_type
(String) Tier type requested during the deployment timevpc
(Attributes) VPC (see below for nested schema)
Optional:
availability_zone_topology
(String) This enum represents all the availability zone topology * SINGLE_AVAILABILITY_ZONE * MULTIPLE_AVAILABILITY_ZONEavailability_zones
(List of String) For deployments in an existing VPC, this option is not required as APEX Navigator deploys the storage system to the availability zone of the subnets provided in the subnet_options. For deployments in a new VPC, APEX Navigator deploys APEX File Storage to this specific availability zone.cloud_management_address
(String) Management IPv4 or IPv6 address or DNS name of the storage system in clouddeployment_type
(String) System deployment types (e.g. PUBLIC_CLOUD)iam_instance_profile
(String) IAM instance Role name requested during the deployment time.This Role should already be created on the IAM instance.raw_capacity
(String) Raw capacity requested during the deployment time - Unit: bytesvirtual_private_cloud
(String) Cloud virtual private environment identifier
Optional:
cidr_block
(String) CIDR block for subnet. It is not supported when existing vpc is used to create block storagesubnet_id
(String)subnet_type
(String) subnet type is one of EXTERNAL, INTERNAL, SCG
Optional:
is_new_vpc
(Boolean)vpc_id
(String)vpc_name
(String)
Required:
password
(String, Sensitive) Password of the powerflexusername
(String) Username of the powerflex
Optional:
host
(String) Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the IDinsecure
(Boolean) Validated the certificate when connecting to the powerflex, defaults if unset to truescheme
(String) Scheme of the powerflex, defaults if unset to https
Import is supported using the following syntax:
/*
Copyright (c) 2021-2024 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 import apex_navigator_block_storage.cloud_instance "{\"system_id\":\"<system-id>\",\"username\":\"<powerflex-username>\",\"password\":\"<powerflex-password>\",\"host\":\"<powerflex-host>\",\"insecure\":<insecure>,\"scheme\":\"<powerflex-scheme>\"}"