Documentation ¶
Index ¶
- Variables
- func GetStorageSystemSchema(systemType string) map[string]schema.Attribute
- func New(version string) func() provider.Provider
- func NewAwsAccountResource() resource.Resource
- func NewAwsAccountsDataSource() datasource.DataSource
- func NewAwsPermissionsDataSource() datasource.DataSource
- func NewBlockStorageResource() resource.Resource
- func NewClonesDataSource() datasource.DataSource
- func NewClonesMapResource() resource.Resource
- func NewClonesRefreshResource() resource.Resource
- func NewClonesResource() resource.Resource
- func NewClonesUnmapResource() resource.Resource
- func NewFileStorageResource() resource.Resource
- func NewHostsDataSource() datasource.DataSource
- func NewMobilityGroupsCopyResource() resource.Resource
- func NewMobilityGroupsDataSource() datasource.DataSource
- func NewMobilityGroupsResource() resource.Resource
- func NewMobilityTargetsDataSource() datasource.DataSource
- func NewMobilityTargetsResource() resource.Resource
- func NewPoolsDataSource() datasource.DataSource
- func NewStorageProductsDataSource() datasource.DataSource
- func NewStoragesDataSource() datasource.DataSource
- func NewTrustPolicyGenerateResource() resource.Resource
- func NewVolumesDataSource() datasource.DataSource
- type Clients
- type StorageSystemResource
Constants ¶
This section is empty.
Variables ¶
var AwsAccountsDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "Identifier of the AWS account", MarkdownDescription: "Identifier of the AWS account", Optional: true, }, "account_alias": schema.StringAttribute{ Description: "Alias of the AWS account", MarkdownDescription: "Alias of the AWS account", Optional: true, }, "status": schema.StringAttribute{ Description: "status of the AWS account", MarkdownDescription: "status of the AWS account", Optional: true, }, }, }
AwsAccountsDataSourceSchema defines tha acceptable confirguation and state attribute names and types
var AwsPermissionPoliciesDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "Identifier of the AWS Permission Policy", MarkdownDescription: "Identifier of the AWS Permission Policy", Optional: true, }, "version": schema.StringAttribute{ Description: "Version of the AWS Permission Policy", MarkdownDescription: "Version of the AWS Permission Policy", Optional: true, }, "permission_policy": schema.StringAttribute{ MarkdownDescription: "The JSON stringified details of the Permissions Policy", Description: "The JSON stringified details of the Permissions Policy", Computed: true, }, }, }
AwsPermissionPoliciesDataSourceSchema defines tha acceptable confirguation and state attribute names and types
var ClonesDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "Identifier of the cloned object", MarkdownDescription: "Identifier of the cloned object", Optional: true, }, "name": schema.StringAttribute{ Description: "Name of the clone", MarkdownDescription: "Name of the clone", Computed: true, }, "description": schema.StringAttribute{ Description: "Description of the clone", MarkdownDescription: "Description of the clone", Computed: true, }, "mobility_target_id": schema.StringAttribute{ Description: "Mobility target ID", MarkdownDescription: "Mobility target ID", Computed: true, }, "creation_timestamp": schema.StringAttribute{ Description: "When the clone was created", MarkdownDescription: "When the clone was created", Computed: true, }, "refresh_timestamp": schema.StringAttribute{ Description: "When the clone was last updated", MarkdownDescription: "When the clone was last updated", Computed: true, }, "image_timestamp": schema.StringAttribute{ Description: "Image timestamp", MarkdownDescription: "Image timestamp", Computed: true, }, "clone_volumes": schema.ListNestedAttribute{ Description: "A clone mobility member provides details of clone volume", MarkdownDescription: "A clone mobility member provides details of clone volume", Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "ID of the member", MarkdownDescription: "ID of the member", Computed: true, }, "parent_id": schema.StringAttribute{ Description: "Identifier of the related mobility member", MarkdownDescription: "Identifier of the related mobility member", Computed: true, }, "name": schema.StringAttribute{ Description: "Name of the member", MarkdownDescription: "Name of the member", Computed: true, }, "size": schema.StringAttribute{ Description: "Size of the member", MarkdownDescription: "Size of the member", Computed: true, }, }, }, }, "host_mappings": schema.ListNestedAttribute{ Description: "This represents the mapping of a repurposed (clone) storage object to a host (presumably using the clone for some analytical workload)", MarkdownDescription: "This represents the mapping of a repurposed (clone) storage object to a host (presumably using the clone for some analytical workload)", Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "host_name": schema.StringAttribute{ Description: "Name of host/SDC to be mapped to the clone", MarkdownDescription: "Name of host/SDC to be mapped to the clone", Computed: true, }, "host_ip": schema.StringAttribute{ Description: "IP address of host", MarkdownDescription: "IP address of host", Computed: true, }, "host_id": schema.StringAttribute{ Description: "Identifier of the host", MarkdownDescription: "Identifier of the host", Computed: true, }, "id": schema.StringAttribute{ Description: "This is a host mappings id generated by APEX Navigator for Multicloud Storage", MarkdownDescription: "This is a host mappings id generated by APEX Navigator for Multicloud Storage", Computed: true, }, "nqn": schema.StringAttribute{ Description: "NVMe qualified name. Only applicable if host_initiator_protocol is NVMe", MarkdownDescription: "NVMe qualified name. Only applicable if host_initiator_protocol is NVMe", Computed: true, }, "host_initiator_protocol": schema.StringAttribute{ Description: "Type of the host", MarkdownDescription: "Type of the host", Computed: true, }, }, }, }, }, }
ClonesDataSourceSchema defines tha acceptable confirguation and state attribute names and types
var MobilityGroupsDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "Mobility group identifier", MarkdownDescription: "Mobility group identifier", Optional: true, }, "name": schema.StringAttribute{ Description: "Name of the mobility group", MarkdownDescription: "Name of the mobility group", Computed: true, }, "description": schema.StringAttribute{ Description: "Description of the mobility group", MarkdownDescription: "Description of the mobility group", Computed: true, }, "system_id": schema.StringAttribute{ Description: "Identifier of the system for the mobility group members", MarkdownDescription: "Identifier of the system for the mobility group members", Computed: true, }, "system_type": schema.StringAttribute{ Description: "The source system type (e.g.: POWERFLEX)", MarkdownDescription: "The source system type (e.g.: POWERFLEX)", Computed: true, }, "creation_timestamp": schema.StringAttribute{ Description: "When the mobility group was created", MarkdownDescription: "When the mobility group was created", Computed: true, }, "volume_id": schema.ListAttribute{ ElementType: types.StringType, Computed: true, }, "members": schema.ListNestedAttribute{ Computed: true, Description: "A mobility member is an object (e.g. volume) that is part of a mobility group that will be the source of mobility copy operations", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "Identifier of the member (e.g. PowerFlex volume identifier)", MarkdownDescription: "Identifier of the member (e.g. PowerFlex volume identifier)", Computed: true, }, "name": schema.StringAttribute{ Description: "Name of the member (e.g. name of the volume)", MarkdownDescription: "Name of the member (e.g. name of the volume)", Computed: true, }, "size": schema.StringAttribute{ Description: "Size of the member (e.g. volume size in bytes)", MarkdownDescription: "Size of the member (e.g. volume size in bytes)", Computed: true, }, }, }, }, }, }
MobilityGroupsDataSourceSchema defines the acceptable configuration and state attributes names and types
var MobilityTargetsDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ MarkdownDescription: "Idenifier of this target mobility group", Description: "Idenifier of this target mobility group", Optional: true, }, "name": schema.StringAttribute{ Description: "Name of the mobility target", MarkdownDescription: "Name of the mobility target", Computed: true, }, "description": schema.StringAttribute{ MarkdownDescription: "Description of the mobility target", Description: "Description of the mobility target", Computed: true, }, "system_id": schema.StringAttribute{ Description: "ID of the target system", MarkdownDescription: "ID of the target system", Computed: true, }, "system_type": schema.StringAttribute{ Description: "The source system type (e.g.: POWERFLEX)", MarkdownDescription: "The source system type (e.g.: POWERFLEX)", Computed: true, }, "source_mobility_group_id": schema.StringAttribute{ Description: "ID of the source mobility group", MarkdownDescription: "ID of the source mobility group", Computed: true, }, "creation_timestamp": schema.StringAttribute{ Description: "Timestamp from when the group was created", MarkdownDescription: "Timestamp from when the group was created", Computed: true, }, "image_timestamp": schema.StringAttribute{ Description: "Timestamp of the last source image copied to this target", MarkdownDescription: "Timestamp of the last source image copied to this target", Computed: true, }, "target_members": schema.ListNestedAttribute{ Description: "A mobility member map is a mapping of a mobility member and it's related member. Ex: a target volume with a reference to the source volume or a clone volume and its related target volume.", MarkdownDescription: "A mobility member map is a mapping of a mobility member and it's related member. Ex: a target volume with a reference to the source volume or a clone volume and its related target volume.", Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "ID of the member", MarkdownDescription: "ID of the member", Computed: true, }, "parent_id": schema.StringAttribute{ Description: "Identifier of the related mobility member", MarkdownDescription: "Identifier of the related mobility member", Computed: true, }, "name": schema.StringAttribute{ Description: "Name of the member", MarkdownDescription: "Name of the member", Computed: true, }, "size": schema.StringAttribute{ Description: "Size of the member", MarkdownDescription: "Size of the member", Computed: true, }, }, }, }, "last_copy_job_id": schema.StringAttribute{ MarkdownDescription: "Last copy job ID", Description: "Last copy job ID", Computed: true, }, "bandwidth_limit": schema.Int64Attribute{ Description: "Bandwidth limit in Mbps (Mega bits per second).", MarkdownDescription: "Bandwidth limit in Mbps (Mega bits per second).", Computed: true, }, "target_system_options": schema.StringAttribute{ Description: "Storage pool id to use for allocating target volumes", MarkdownDescription: "Storage pool id to use for allocating target volumes", Computed: true, }, "type": schema.StringAttribute{ Optional: true, }, }, }
MobilityTargetsDataSourceSchema defines tha acceptable confirguation and state attribute names and types
var PowerflexAsyncInfo schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "username": schema.StringAttribute{ MarkdownDescription: "Username of the powerflex", Description: "Username of the powerflex", Required: true, }, "password": schema.StringAttribute{ MarkdownDescription: "Password of the powerflex", Description: "Password of the powerflex", Sensitive: true, Required: true, }, "insecure": schema.BoolAttribute{ MarkdownDescription: "Validated the certificate when connecting to the powerflex, defaults if unset to true", Description: "Validated the certificate when connecting to the powerflex, defaults if unset to true", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "scheme": schema.StringAttribute{ MarkdownDescription: "Scheme of the powerflex, defaults if unset to https", Description: "Scheme of the powerflex, defaults if unset to https", Optional: true, Computed: true, Default: stringdefault.StaticString("https"), }, "host": schema.StringAttribute{ MarkdownDescription: "Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID", Description: "Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID", Optional: true, Computed: true, }, "poll_interval": schema.Int64Attribute{ MarkdownDescription: "Poll interval for long-running operations in seconds. This will check if the powerflex is activated every interval. Defaults if unset to 30", Description: "Poll interval for long-running operations in seconds. This will check if the powerflex is activated every interval. Defaults if unset to 30", Optional: true, Computed: true, Default: int64default.StaticInt64(30), }, }, }
PowerflexAsyncInfo Schema defines tha acceptable confirguation and state attribute names and types
var PowerflexInfo schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "username": schema.StringAttribute{ MarkdownDescription: "Username of the powerflex", Description: "Username of the powerflex", Required: true, }, "password": schema.StringAttribute{ MarkdownDescription: "Password of the powerflex", Description: "Password of the powerflex", Sensitive: true, Required: true, }, "insecure": schema.BoolAttribute{ MarkdownDescription: "Validated the certificate when connecting to the powerflex, defaults if unset to true", Description: "Validated the certificate when connecting to the powerflex, defaults if unset to true", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "scheme": schema.StringAttribute{ MarkdownDescription: "Scheme of the powerflex, defaults if unset to https", Description: "Scheme of the powerflex, defaults if unset to https", Optional: true, Computed: true, Default: stringdefault.StaticString("https"), }, "host": schema.StringAttribute{ MarkdownDescription: "Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID", Description: "Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID", Optional: true, Computed: true, }, }, }
PowerflexInfo Schema defines tha acceptable confirguation and state attribute names and types
var StorageDataSourceSchema schema.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ MarkdownDescription: "Identifier for the storage system", Description: "Identifier for the storage system", Optional: true, }, "system_id": schema.StringAttribute{ MarkdownDescription: "Unique identifier for the device or appliance", Description: "Unique identifier for the device or appliance", Computed: true, }, "storage_system_type": schema.StringAttribute{ MarkdownDescription: "Type of the system", Description: "Type of the system", Computed: true, }, "system_type": schema.StringAttribute{ MarkdownDescription: "Type of the system", Description: "Type of the system", Computed: true, }, "bandwidth": schema.Int64Attribute{ MarkdownDescription: "The system bandwidth. Aggregated for a rolling average over the last 24 hours - Unit: bytes/s", Description: "The system bandwidth. Aggregated for a rolling average over the last 24 hours - Unit: bytes/s", Computed: true, }, "capacity_impact": schema.Int64Attribute{ MarkdownDescription: "Impact point of highest impacting issue in the capacity health category", Description: "Impact point of highest impacting issue in the capacity health category", Computed: true, }, "capacity_issue_count": schema.Int64Attribute{ MarkdownDescription: "Total number of issues in the capacity health category", Description: "Total number of issues in the capacity health category", Computed: true, }, "compression_savings": schema.Float64Attribute{ Description: "Storage efficiency ratio of data which has compression applied to it on the system.", MarkdownDescription: "Storage efficiency ratio of data which has compression applied to it on the system.", Computed: true, }, "configuration_impact": schema.Int64Attribute{ Description: "Impact point of highest impacting issue in the configuration health category.", MarkdownDescription: "Impact point of highest impacting issue in the configuration health category.", Computed: true, }, "configuration_issue_count": schema.Int64Attribute{ Description: "Total number of issues in the configuration health category.", MarkdownDescription: "Total number of issues in the configuration health category.", Computed: true, }, "configured_size": schema.Int64Attribute{ Description: "The configured size for this system - Unit: bytes.", MarkdownDescription: "The configured size for this system - Unit: bytes.", Computed: true, }, "connectivity_status": schema.StringAttribute{ Description: "Connectivity status.", MarkdownDescription: "Connectivity status.", Computed: true, }, "license_type": schema.StringAttribute{ Description: "Type of the license on the system.", MarkdownDescription: "Type of the license on the system.", Computed: true, }, "license_expiration_date_timestamp": schema.StringAttribute{ Description: "Expiration date for the license on the system.", MarkdownDescription: "Expiration date for the license on the system.", Computed: true, }, "contract_coverage_type": schema.StringAttribute{ Description: "Type of the service contract of the system.", MarkdownDescription: "Type of the service contract of the system.", Computed: true, }, "contract_expiration_date_timestamp": schema.StringAttribute{ Description: "Expiration date for the service contract of the system.", MarkdownDescription: "Expiration date for the service contract of the system.", Computed: true, }, "data_protection_impact": schema.Int64Attribute{ Description: "Impact point of highest impacting issue in the data protection health category.", MarkdownDescription: "Impact point of highest impacting issue in the data protection health category.", Computed: true, }, "data_protection_issue_count": schema.Int64Attribute{ Description: "Total number of issues in the data protection health category.", MarkdownDescription: "Total number of issues in the data protection health category.", Computed: true, }, "display_identifier": schema.StringAttribute{ Description: "Unique identifier for the system.", MarkdownDescription: "Unique identifier for the system.", Computed: true, }, "free_percent": schema.Float64Attribute{ Description: "The %free capacity.", MarkdownDescription: "The %free capacity.", Computed: true, }, "free_size": schema.Int64Attribute{ Description: "The free size value - Unit: bytes.", MarkdownDescription: "The free size value - Unit: bytes.", Computed: true, }, "health_connectivity_status": schema.StringAttribute{ Description: "Health connectivity status.", MarkdownDescription: "Health connectivity status.", Computed: true, }, "health_issue_count": schema.Int64Attribute{ Description: "Total amount of health issues.", MarkdownDescription: "Total amount of health issues.", Computed: true, }, "health_score": schema.Int64Attribute{ Description: "The overall health score of the system.", MarkdownDescription: "The overall health score of the system.", Computed: true, }, "health_state": schema.StringAttribute{ Description: "Health state of the system.", MarkdownDescription: "Health state of the system.", Computed: true, }, "iops": schema.Int64Attribute{ Description: "The IOPS for the system. Aggregated for a rolling average over the last 24 hours - Unit: IO/s.", MarkdownDescription: "The IOPS for the system. Aggregated for a rolling average over the last 24 hours - Unit: IO/s.", Computed: true, }, "ipv4_address": schema.StringAttribute{ Description: "IPv4 address of the system.", MarkdownDescription: "IPv4 address of the system.", Computed: true, }, "ipv6_address": schema.StringAttribute{ Description: "IPv6 address of the system.", MarkdownDescription: "IPv6 address of the system.", Computed: true, }, "last_contact_timestamp": schema.StringAttribute{ Description: "Last time that CloudIQ received data from the system.", MarkdownDescription: "Last time that CloudIQ received data from the system.", Computed: true, }, "latency": schema.Int64Attribute{ Description: "The latency for the system. Aggregated for a rolling average over the last 24 hours - Unit: microseconds.", MarkdownDescription: "The latency for the system. Aggregated for a rolling average over the last 24 hours - Unit: microseconds.", Computed: true, }, "logical_size": schema.Int64Attribute{ Description: "The logical size written - Unit: bytes.", MarkdownDescription: "The logical size written - Unit: bytes.", Computed: true, }, "model": schema.StringAttribute{ Description: "The model of the system.", MarkdownDescription: "The model of the system.", Computed: true, }, "name": schema.StringAttribute{ Description: "The user-defined name of the system.", MarkdownDescription: "The user-defined name of the system.", Computed: true, }, "overall_efficiency": schema.Float64Attribute{ Description: "The overall system-level storage efficiency ratio based on Thin, Snapshots, Deduplication, and Data Reduction.", MarkdownDescription: "The overall system-level storage efficiency ratio based on Thin, Snapshots, Deduplication, and Data Reduction.", Computed: true, }, "performance_impact": schema.Int64Attribute{ Description: "Impact point of highest impacting issue in the performance health category.", MarkdownDescription: "Impact point of highest impacting issue in the performance health category.", Computed: true, }, "performance_issue_count": schema.Int64Attribute{ Description: "Total number of issues in the performance health category.", MarkdownDescription: "Total number of issues in the performance health category.", Computed: true, }, "serial_number": schema.StringAttribute{ Description: "The serial number for this system.", MarkdownDescription: "The serial number for this system.", Computed: true, }, "site_name": schema.StringAttribute{ Description: "Name of the site where the system is registered to.", MarkdownDescription: "Name of the site where the system is registered to.", Computed: true, }, "snaps_savings": schema.Float64Attribute{ Description: "The snaps savings for this system.", MarkdownDescription: "The snaps savings for this system.", Computed: true, }, "system_health_impact": schema.Int64Attribute{ Description: "Health impact for the system.", MarkdownDescription: "Health impact for the system.", Computed: true, }, "system_health_issue_count": schema.Int64Attribute{ Description: "Total amount of health issues for the system.", MarkdownDescription: "Total amount of health issues for the system.", Computed: true, }, "thin_savings": schema.Float64Attribute{ Description: "The savings due to thin provisioning.", MarkdownDescription: "The savings due to thin provisioning.", Computed: true, }, "total_size": schema.Int64Attribute{ Description: "The total size of the system - Unit: bytes.", MarkdownDescription: "The total size of the system - Unit: bytes.", Computed: true, }, "unconfigured_size": schema.Int64Attribute{ Description: "The unconfigured capacity for this system - Unit: bytes.", MarkdownDescription: "The unconfigured capacity for this system - Unit: bytes.", Computed: true, }, "used_percent": schema.Float64Attribute{ Description: "Percentage of capacity used for this system.", MarkdownDescription: "Percentage of capacity used for this system.", Computed: true, }, "used_size": schema.Int64Attribute{ Description: "The value of used capacity for this system - Unit: bytes.", MarkdownDescription: "The value of used capacity for this system - Unit: bytes.", Computed: true, }, "vendor": schema.StringAttribute{ Description: "Name of the vendor who makes the system.", MarkdownDescription: "Name of the vendor who makes the system.", Computed: true, }, "product_version": schema.StringAttribute{ MarkdownDescription: "Product version.", Description: "Product version.", Computed: true, }, "version": schema.StringAttribute{ Description: "Version identifier.", MarkdownDescription: "Version identifier.", Computed: true, }, "deployment_details": schema.SingleNestedAttribute{ MarkdownDescription: "Details of the deployment", Description: "Details of the deployment", Computed: true, Attributes: map[string]schema.Attribute{ "system_on_prem": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ "deployment_type": schema.StringAttribute{ Description: "System deployment types (e.g. PUBLIC_CLOUD)", MarkdownDescription: "System deployment types (e.g. PUBLIC_CLOUD)", Computed: true, }, "site_name": schema.StringAttribute{ MarkdownDescription: "Name of the site where the system is located", Description: "Name of the site where the system is located", Computed: true, }, "location": schema.StringAttribute{ Description: "User provided description of where the system is located.", MarkdownDescription: "User provided description of where the system is located.", Computed: true, }, "country": schema.StringAttribute{ Description: "Name of the country where the system is located.", MarkdownDescription: "Name of the country where the system is located.", Computed: true, }, "state": schema.StringAttribute{ Description: "Name of the state where the system is located.", MarkdownDescription: "Name of the state where the system is located.", Computed: true, }, "city": schema.StringAttribute{ Description: "Name of the city where the system is located.", MarkdownDescription: "Name of the city where the system is located.", Computed: true, }, "street_address_1": schema.StringAttribute{ Description: "Street address 1 of where the system is located", MarkdownDescription: "Street address 1 of where the system is located", Computed: true, }, "street_address_2": schema.StringAttribute{ Description: "Street address 2 of where the system is located", MarkdownDescription: "Street address 2 of where the system is located", Computed: true, }, "zip_code": schema.StringAttribute{ Description: "Zip code of where the system is located", MarkdownDescription: "Zip code of where the system is located", Computed: true, }, }, }, "system_public_cloud": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ "deployment_type": schema.StringAttribute{ Description: "System deployment types (e.g. PUBLIC_CLOUD)", MarkdownDescription: "System deployment types (e.g. PUBLIC_CLOUD)", Computed: true, }, "cloud_type": schema.StringAttribute{ Description: "Enum for all the supported cloud providers * AWS - Amazon Web Services", MarkdownDescription: "Enum for all the supported cloud providers * AWS - Amazon Web Services", Computed: true, }, "cloud_account": schema.StringAttribute{ Description: "Cloud provider account where the storage system resides", MarkdownDescription: "Cloud provider account where the storage system resides", Computed: true, }, "cloud_region": schema.StringAttribute{ Description: "Cloud provider region where the storage system resides", MarkdownDescription: "Cloud provider region where the storage system resides", Computed: true, }, "availability_zone_topology": schema.StringAttribute{ Description: "This enum represents all the availability zone topology * SINGLE_AVAILABILITY_ZONE * MULTIPLE_AVAILABILITY_ZONE", MarkdownDescription: "This enum represents all the availability zone topology * SINGLE_AVAILABILITY_ZONE * MULTIPLE_AVAILABILITY_ZONE", Computed: true, }, "virtual_private_cloud": schema.StringAttribute{ Description: "Cloud virtual private environment identifier", MarkdownDescription: "Cloud virtual private environment identifier", Computed: true, }, "cloud_management_address": schema.StringAttribute{ Description: "Management IPv4 or IPv6 address or DNS name of the storage system in cloud", MarkdownDescription: "Management IPv4 or IPv6 address or DNS name of the storage system in cloud", Computed: true, }, "minimum_iops": schema.Int64Attribute{ Description: "Minimum IOPS requested during the deployment time - Unit: IO/s", MarkdownDescription: "Minimum IOPS requested during the deployment time - Unit: IO/s", Computed: true, }, "minimum_capacity": schema.Int64Attribute{ Description: "Minimum capacity requested during the deployment time - Unit: bytes", MarkdownDescription: "Minimum capacity requested during the deployment time - Unit: bytes", Computed: true, }, "raw_capacity": schema.StringAttribute{ Description: "Raw capacity requested during the deployment time - Unit: bytes", MarkdownDescription: "Raw capacity requested during the deployment time - Unit: bytes", Optional: true, }, "tier_type": schema.StringAttribute{ Description: "Tier type requested during the deployment time", MarkdownDescription: "Tier type requested during the deployment time", Computed: true, }, "ssh_key_name": schema.StringAttribute{ Computed: true, }, "iam_instance_profile": schema.StringAttribute{ Description: "Raw capacity requested during the deployment time - Unit: bytes", MarkdownDescription: "Raw capacity requested during the deployment time - Unit: bytes", Optional: true, }, "availability_zones": schema.ListAttribute{ Description: "List of availability zones", MarkdownDescription: "List of availability zones", Optional: true, ElementType: types.StringType, }, "vpc": schema.SingleNestedAttribute{ Description: "VPC", MarkdownDescription: "VPC", Computed: true, Attributes: map[string]schema.Attribute{ "is_new_vpc": schema.BoolAttribute{ Computed: true, }, "vpc_id": schema.StringAttribute{ Computed: true, }, "vpc_name": schema.StringAttribute{ Computed: true, }, }, }, "subnet_options": schema.ListNestedAttribute{ Description: "Subnet options", MarkdownDescription: "Subnet options", Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "subnet_option": schema.ListNestedAttribute{ Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "subnet_id": schema.StringAttribute{ Computed: true, }, "cidr_block": schema.StringAttribute{ Computed: true, }, "subnet_type": schema.StringAttribute{ Computed: true, }, }, }, }, }, }, }, }, }, }, }, }, }
StorageDataSourceSchema defines the schema for a storage system instance data source and its attributes are used in storage systems collection data source
Functions ¶
func GetStorageSystemSchema ¶
GetStorageSystemSchema returns a map of attribute names and types
func NewAwsAccountResource ¶
NewAwsAccountResource is a helper function to simplify the provider implementation.
func NewAwsAccountsDataSource ¶
func NewAwsAccountsDataSource() datasource.DataSource
NewAwsAccountsDataSource returns a new aws accounts datasource instance.
func NewAwsPermissionsDataSource ¶
func NewAwsPermissionsDataSource() datasource.DataSource
NewAwsPermissionsDataSource returns a new aws permissions datasource instance.
func NewBlockStorageResource ¶
NewBlockStorageResource returns a storage system resource object
func NewClonesDataSource ¶
func NewClonesDataSource() datasource.DataSource
NewClonesDataSource returns a new clones data source instance.
func NewClonesMapResource ¶
NewClonesMapResource returns a storage system resource object
func NewClonesRefreshResource ¶
NewClonesRefreshResource returns a storage system resource object
func NewClonesResource ¶
NewClonesResource is a helper function to simplify the provider implementation.
func NewClonesUnmapResource ¶
NewClonesUnmapResource returns a storage system resource object
func NewFileStorageResource ¶
NewFileStorageResource returns a storage system resource object
func NewHostsDataSource ¶
func NewHostsDataSource() datasource.DataSource
NewHostsDataSource returns a new hosts data source instance.
func NewMobilityGroupsCopyResource ¶
NewMobilityGroupsCopyResource returns a storage system resource object
func NewMobilityGroupsDataSource ¶
func NewMobilityGroupsDataSource() datasource.DataSource
NewMobilityGroupsDataSource is a storage system data source object
func NewMobilityGroupsResource ¶
NewMobilityGroupsResource returns a storage system resource object
func NewMobilityTargetsDataSource ¶
func NewMobilityTargetsDataSource() datasource.DataSource
NewMobilityTargetsDataSource is a storage system data source object
func NewMobilityTargetsResource ¶
NewMobilityTargetsResource returns a storage system resource object
func NewPoolsDataSource ¶
func NewPoolsDataSource() datasource.DataSource
NewPoolsDataSource returns a new pools data source instance.
func NewStorageProductsDataSource ¶
func NewStorageProductsDataSource() datasource.DataSource
NewStorageProductsDataSource returns a new storage products data source instance.
func NewStoragesDataSource ¶
func NewStoragesDataSource() datasource.DataSource
NewStoragesDataSource is a storage data source object
func NewTrustPolicyGenerateResource ¶
NewTrustPolicyGenerateResource returns a trust policy resource
func NewVolumesDataSource ¶
func NewVolumesDataSource() datasource.DataSource
NewVolumesDataSource returns a new volumes data source instance.
Types ¶
type Clients ¶
Clients is the structure for the API client and JMS client.
func NewApexJmsClient ¶
func NewApexJmsClient(ctx context.Context, hostURL url.URL, jmsURL url.URL, token string, insecure bool) (*Clients, error)
NewApexJmsClient creates a new instance of Clients, which contains two API clients: apiClient and jobsClient.
The function takes the following parameters: - ctx: the context.Context object for cancellation and timeouts. - hostURL: the URL of the host API. - jmsURL: the URL of the JMS API. - insecure: a boolean indicating whether to skip SSL certificate verification or not.
It returns a pointer to Clients and an error.
type StorageSystemResource ¶
type StorageSystemResource struct { StorageSystem resource.Resource // contains filtered or unexported fields }
StorageSystemResource is a resource that represents a storage system
func (*StorageSystemResource) Delete ¶
func (r *StorageSystemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete deletes the resource and removes the Terraform state on success.
func (*StorageSystemResource) ImportState ¶
func (r *StorageSystemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState imports the Terraform resource
Source Files ¶
- apex_client.go
- data_source_navigator_aws_accounts.go
- data_source_navigator_aws_accounts_schema.go
- data_source_navigator_aws_permission_policies.go
- data_source_navigator_aws_permission_policies_schema.go
- data_source_navigator_block_clones.go
- data_source_navigator_block_clones_schema.go
- data_source_navigator_block_hosts.go
- data_source_navigator_block_mobility_groups.go
- data_source_navigator_block_mobility_groups_schema.go
- data_source_navigator_block_mobility_targets.go
- data_source_navigator_block_mobility_targets_schema.go
- data_source_navigator_block_pools.go
- data_source_navigator_block_volumes.go
- data_source_navigator_storage.go
- data_source_navigator_storage_products.go
- data_source_navigator_storage_schema.go
- powerflex_schema.go
- provider.go
- resource_navigator_aws_account.go
- resource_navigator_aws_trust_policy_generate.go
- resource_navigator_block_clones.go
- resource_navigator_block_clones_map.go
- resource_navigator_block_clones_refresh.go
- resource_navigator_block_clones_unmap.go
- resource_navigator_block_mobility_groups.go
- resource_navigator_block_mobility_groups_copy.go
- resource_navigator_block_mobility_targets.go
- resource_navigator_block_storage.go
- resource_navigator_file_storage.go
- storage_schema_helper.go