hitachivantara.vspone_object.oneobject_node.hv_storage_component module – Create or update a storage component

Note

This module is part of the hitachivantara.vspone_object collection (version 1.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install hitachivantara.vspone_object. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: hitachivantara.vspone_object.oneobject_node.hv_storage_component.

New in hitachivantara.vspone_object 1.0.0

Synopsis

  • This module creates or updates a storage component in Hitachi VSP One Object.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 3.7

Parameters

Parameter

Comments

connection_info

dictionary / required

Information required to establish a connection to the system.

cluster_name

string / required

Cluster name of the system.

http_request_retry_interval_seconds

integer / required

Interval between retries of an HTTP request.

http_request_retry_times

integer / required

Number of times to retry an HTTP request.

http_request_timeout

integer / required

Timeout for HTTP requests.

oneobject_node_client_id

string / required

Id for authentication.

oneobject_node_client_secret

string

Secret for authentication.

oneobject_node_username

string / required

Username for authentication.

oneobject_node_userpass

string / required

Password for authentication.

region

string / required

Region of the system.

ssl

dictionary

SSL configuration.

ca_certs

string

Path to the CA certificates file.

Default: ""

ca_path

string

Path to the CA certificate file.

Default: ""

check_hostname

boolean

Whether to check the hostname.

Choices:

  • false ← (default)

  • true

client_cert

string

Path to the client certificate file.

Default: ""

client_key

string

Path to the client key file.

Default: ""

ssl_cipher

string

SSL cipher to use.

Default: ""

ssl_version

string

SSL version to use.

Default: ""

validate_certs

boolean / required

Whether to validate SSL certificates.

Choices:

  • false

  • true

spec

dictionary / required

Storage component module spec

id

string

The ID of the storage component.

If specified, only updates are performed.

storage_component_config

dictionary

The storage component configuration values.

access_key

string

The access key of the S3 credentials for access to the bucket.

Mandatory when creating a storage component.

activate_now

boolean

Activate storage component immediately.

Choices:

  • false

  • true ← (default)

auth_type

string

The AWS Signature Version for authenticating all interactions with Amazon S3.

Use V2 for an unsecured connection, or V4 for a secure connection.

Choices:

  • "V2" ← (default)

  • "V4"

bucket

string

The name of the bucket.

The bucket must already exist.

Mandatory when creating a storage component.

connection_timeout

integer

Timeout for establishing HTTP connections (milliseconds).

connection_ttl

integer

The connection time to live (TTL) for a request.

data_claim_capacity

string

The amount of storage requested for the storage component.

data_persistent_volume_name

string

The persistent volume (PV) associated with the storage component.

host

string

The URL of the storage component back-end host domain.

Mandatory when creating a storage component.

label

string

The name of the storage component.

Mandatory when creating a storage component.

management_host

string

Required for an VSP One Object S Series node storage component.

Type the management system IP address or fully qualified domain name.

Do not provide for other storage component types.

management_password

string

Required for an VSP One Object S Series node storage component.

The password credential.

Do not provide for other storage component types.

management_protocol

string

Required for an VSP One Object S Series node storage component.

The communication protocol for MAPI requests.

Do not provide for other storage component types.

management_user

string

Required for an VSP One Object S Series node storage component.

The administrative user name credential.

Do not provide for other storage component types.

max_connections

integer

The maximum number of open HTTP connections to a storage component.

namespace

string

The Kubernetes namespace associated with the storage component.

node

string

The node on the Kubernetes cluster on which the storage is to be allocated.

port

string

The HTTP port of the back-end system.

Mandatory when creating a storage component.

proxy_domain

string

The proxy domain. This is not supported.

proxy_host

string

The proxy server host.

proxy_password

string

The proxy domain password.

proxy_port

string

The proxy port number.

proxy_user_name

string

The proxy domain username.

region

string

The S3 region. Mandatory when creating a storage component.

secret_key

string

The secret key of the S3 credentials for access to the bucket.

Mandatory when creating a storage component.

socket_recv_buffer_size_hint

integer

The size hint, in bytes, for the low-level TCP receive buffer.

If specified, you must also specify socketSendBufferSizeHint.

socket_send_buffer_size_hint

integer

The size hint, in bytes, for the low-level TCP send buffer.

If specified, you must also specify socketRecvBufferSizeHint.

socket_timeout

integer

The timeout value for reading from a connected socket.

storage_class

string

The storage class associated with the storage component.

Mandatory when creating a storage component.

storage_fault_domain

string

The fault domain associated with the storage component.

Mandatory when creating a storage component.

uri_scheme

string

The Uniform Resource Identifier (URI) schema used when accessing the resource.

Use HTTP for an unsecured connection, or HTTPS for a secure connection.

Choices:

  • "HTTP"

  • "HTTPS"

use_path_style_always

boolean

If true, use path-style syntax to send requests to the back-end system.

If false, use virtual-hosted style.

If not specified, defaults to true.

Choices:

  • false

  • true

use_proxy

boolean

If true, then values are required for proxy_host, proxy_port, proxy_user_name, and proxy_password.

Choices:

  • false

  • true

user_agent_prefix

string

The HTTP user agent prefix header, used in requests to a storage component.

storage_custom_metadata

dictionary

The metadata assigned to the storage component.

storage_type

string

The type of storage component.

Set storage_type to HCPS_S3 for HCPS S3 storage component.

Choices:

  • "HCPS_S3"

state

string

Set operation to activate for activating storage component

Set operation to test for testing storage component connection

Set operation to present for creating or updating storage component

Choices:

  • "activate"

  • "test"

  • "present"

Attributes

Attribute

Support

Description

check_mode

Support: none

Determines if the module should run in check mode.

Examples

- name: Activate storage component in Hitachi VSP One Object
  hitachivantara.vspone_object.oneobject_node.hv_storage_component:
    connection_info:
      http_request_timeout: 300
      http_request_retry_times: 3
      http_request_retry_interval_seconds: 5
      cluster_name: "your_cluster_name"
      region: "your_region"
      oneobject_node_username: "your_username"
      oneobject_node_userpass: "your_password"
      oneobject_node_client_id: "vsp-object-external-client"
    state: "activate"
    spec:
      id: 759156789

- name: Create storage component in Hitachi VSP One Object
  hitachivantara.vspone_object.oneobject_node.hv_storage_component:
    connection_info:
      http_request_timeout: 300
      http_request_retry_times: 3
      http_request_retry_interval_seconds: 5
      cluster_name: "your_cluster_name"
      region: "your_region"
      oneobject_node_username: "your_username"
      oneobject_node_userpass: "your_password"
      oneobject_node_client_id: "vsp-object-external-client"
      state: "present"
      spec:
        storage_type: "HCPS_S3"
        storage_component_config:
          label: "component-test6"
          host: "172.25.57.10"
          storage_class: "A1-CLASS-3_123"
          storage_fault_domain: "humphrey-storage-test"
          uri_scheme: "HTTP"
          port: "80"
          bucket: "ansiblecreate6"
          region: "us-west-2b"
          auth_type: "V2"
          access_key: "dxfchgvjh"
          secret_key: "thsfgndzbfvzdc"
          use_proxy: false
          proxy_host: ~
          proxy_port: ~
          proxy_user_name: ~
          proxy_password: ~
          management_user: "johndoenag"
          management_password: "Passw0rd!"
          management_protocol: "HTTPS"
          management_host: "172.25.57.10:9090/mapi"
          use_path_style_always: false
          activate_now: false

- name: Update storage component in Hitachi VSP One Object
  hitachivantara.vspone_object.oneobject_node.hv_storage_component:
    connection_info:
      http_request_timeout: 300
      http_request_retry_times: 3
      http_request_retry_interval_seconds: 5
      cluster_name: "your_cluster_name"
      region: "your_region"
      oneobject_node_username: "your_username"
      oneobject_node_userpass: "your_password"
      oneobject_node_client_id: "vsp-object-external-client"
      state: "present"
      spec:
        storage_type: "HCPS_S3"
        storage_component_config:
          label: "component-test6"
          host: "172.25.57.10"
          storage_class: "A1-CLASS-3_123"
          storage_fault_domain: "humphrey-storage-test"
          uri_scheme: "HTTP"
          port: "80"
          bucket: "ansiblecreate6"
          region: "us-west-2b"
          auth_type: "V2"
          access_key: "dxfchgvjh"
          secret_key: "thsfgndzbfvzdc"
          use_proxy: false
          proxy_host: ~
          proxy_port: ~
          proxy_user_name: ~
          proxy_password: ~
          management_user: "johndoenag"
          management_password: "Passw0rd!"
          management_protocol: "HTTPS"
          management_host: "172.25.57.10:9090/mapi"
          use_path_style_always: false
          activate_now: false

- name: Test storage component access in Hitachi VSP One Object
  hitachivantara.vspone_object.oneobject_node.hv_storage_component:
    connection_info:
      http_request_timeout: 300
      http_request_retry_times: 3
      http_request_retry_interval_seconds: 5
      cluster_name: "your_cluster_name"
      region: "your_region"
      oneobject_node_username: "your_username"
      oneobject_node_userpass: "your_password"
      oneobject_node_client_id: "vsp-object-external-client"
    state: "test"
    spec:
      id: 759156789

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

storage_component

dictionary

Storage component and its attributes.

Returned: success

id

integer

The ID of the storage component.

Returned: success

Sample: 1473644437

storage_class_id

integer

The id of storage class assigned to the storage component in Kubernetes.

Returned: success

Sample: -1128696871

storage_component_config

dictionary

The storage component configuration values.

Returned: success

auth_type

string

The AWS Signature Version for authenticating all interactions with Amazon S3.

Returned: success

Sample: "V2"

bucket

string

The name of the bucket.

Returned: success

Sample: "test_bucket"

connection_ttl

integer

The connection time to live (TTL) for a request.

Returned: success

Sample: 0

host

string

The URL of the storage component back-end host domain.

Returned: success

Sample: "urloripaddressofcomponent"

label

string

The name of the storage component.

Returned: success

Sample: "component-test6"

management_host

string

The management system IP address or fully qualified domain name.

Returned: success

Sample: "urloripaddressofcomponentmapi"

management_protocol

string

The communication protocol for MAPI requests.

Returned: success

Sample: "HTTPS"

max_connections

integer

The maximum number of connections for the storage component.

Returned: success

Sample: 1024

port

integer

The HTTP port of the back-end system.

Returned: success

Sample: 80

region

string

The S3 region.

Returned: success

Sample: "us-west-2b"

site_affiliation

dictionary

The site affiliation details for the storage component.

Returned: success

id

string

The unique identifier of the site affiliation.

Returned: success

Sample: "6e8ba3a8-b477-484a-95cf-9d3b29e1699d"

socket_timeout

integer

The timeout value for reading from a connected socket.

Returned: success

Sample: 31000

state

string

The current state of the storage component.

Returned: success

Sample: "UNVERIFIED"

uri_scheme

string

The Uniform Resource Identifier (URI) schema used when accessing the resource.

Returned: success

Sample: "HTTP"

use_path_style_always

boolean

Whether to use path-style addressing for the storage component.

Returned: success

Sample: false

use_proxy

boolean

Whether to use a proxy for the storage component.

Returned: success

Sample: false

storage_custom_metadata

dictionary

Custom metadata for the storage component.

Returned: success

Sample: {}

storage_fault_domain_id

string

The unique identifier of the storage fault domain.

Returned: success

Sample: "073cddb1-01f2-45a3-8688-50a1483d9e53"

storage_type

string

The type of the storage component.

Returned: success

Sample: "HCPS_S3"

Authors

  • Hitachi Vantara, LTD. (@hitachi-vantara)