Class: Aws::FSx::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb

Overview

An API client for FSx. To construct a client, you need to configure a :region and :credentials.

client = Aws::FSx::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test or custom endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



334
335
336
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 334

def initialize(*args)
  super
end

Instance Method Details

#associate_file_system_aliases(params = {}) ⇒ Types::AssociateFileSystemAliasesResponse

Use this action to associate one or more Domain Name Server (DNS) aliases with an existing Amazon FSx for Windows File Server file system. A file system can have a maximum of 50 DNS aliases associated with it at any one time. If you try to associate a DNS alias that is already associated with the file system, FSx takes no action on that alias in the request. For more information, see Working with DNS Aliases and Walkthrough 5: Using DNS aliases to access your file system, including additional steps you must take to be able to access your file system using a DNS alias.

The system response shows the DNS aliases that Amazon FSx is attempting to associate with the file system. Use the API operation to monitor the status of the aliases Amazon FSx is associating with the file system.

Examples:

Request syntax with placeholder values


resp = client.associate_file_system_aliases({
  client_request_token: "ClientRequestToken",
  file_system_id: "FileSystemId", # required
  aliases: ["AlternateDNSName"], # required
})

Response structure


resp.aliases #=> Array
resp.aliases[0].name #=> String
resp.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :file_system_id (required, String)

    Specifies the file system with which you want to associate one or more DNS aliases.

  • :aliases (required, Array<String>)

    An array of one or more DNS alias names to associate with the file system. The alias name has to comply with the following formatting requirements:

    • Formatted as a fully-qualified domain name (FQDN), hostname.domain , for example, accounting.corp.example.com.

    • Can contain alphanumeric characters and the hyphen (-).

    • Cannot start or end with a hyphen.

    • Can start with a numeric.

    For DNS alias names, Amazon FSx stores alphabetic characters as lowercase letters (a-z), regardless of how you specify them: as uppercase letters, lowercase letters, or the corresponding letters in escape codes.

Returns:

See Also:



415
416
417
418
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 415

def associate_file_system_aliases(params = {}, options = {})
  req = build_request(:associate_file_system_aliases, params)
  req.send_request(options)
end

#cancel_data_repository_task(params = {}) ⇒ Types::CancelDataRepositoryTaskResponse

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

  • Any files that FSx has already exported are not reverted.

  • FSx continues to export any files that are "in-flight" when the cancel operation is received.

  • FSx does not export any files that have not yet been exported.

Examples:

Request syntax with placeholder values


resp = client.cancel_data_repository_task({
  task_id: "TaskId", # required
})

Response structure


resp.lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
resp.task_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :task_id (required, String)

    Specifies the data repository task to cancel.

Returns:

See Also:



454
455
456
457
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 454

def cancel_data_repository_task(params = {}, options = {})
  req = build_request(:cancel_data_repository_task, params)
  req.send_request(options)
end

#copy_backup(params = {}) ⇒ Types::CopyBackupResponse

Copies an existing backup within the same Amazon Web Services account to another Amazon Web Services Region (cross-Region copy) or within the same Amazon Web Services Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

You can use cross-Region backup copies for cross-region disaster recovery. You periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your Amazon Web Services partition.

You can also use backup copies to clone your file data set to another Region or within the same Region.

You can use the SourceRegion parameter to specify the Amazon Web Services Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

For more information on creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide and Copying backups in the Amazon FSx for Lustre User Guide.

Examples:

Example: To copy a backup


# This operation copies an Amazon FSx backup.

resp = client.copy_backup({
  source_backup_id: "backup-03e3c82e0183b7b6b", 
  source_region: "us-east-2", 
})

resp.to_h outputs the following:
{
  backup: {
    backup_id: "backup-0a3364eded1014b28", 
    creation_time: Time.parse(1617954808.068), 
    file_system: {
      file_system_id: "fs-0498eed5fe91001ec", 
      file_system_type: "LUSTRE", 
      lustre_configuration: {
        automatic_backup_retention_days: 0, 
        deployment_type: "PERSISTENT_1", 
        per_unit_storage_throughput: 50, 
        weekly_maintenance_start_time: "1:05:00", 
      }, 
      resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0f5179e395f597e66", 
      storage_capacity: 2400, 
      storage_type: "SSD", 
    }, 
    kms_key_id: "arn:aws:fsx:us-east-1:012345678912:key/d1234e22-543a-12b7-a98f-e12c2b54001a", 
    lifecycle: "COPYING", 
    owner_id: "123456789012", 
    resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-0a3364eded1014b28", 
    tags: [
      {
        key: "Name", 
        value: "MyBackup", 
      }, 
    ], 
    type: "USER_INITIATED", 
  }, 
}

Request syntax with placeholder values


resp = client.copy_backup({
  client_request_token: "ClientRequestToken",
  source_backup_id: "SourceBackupId", # required
  source_region: "Region",
  kms_key_id: "KmsKeyId",
  copy_tags: false,
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.backup.backup_id #=> String
resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
resp.backup.failure_details.message #=> String
resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
resp.backup.progress_percent #=> Integer
resp.backup.creation_time #=> Time
resp.backup.kms_key_id #=> String
resp.backup.resource_arn #=> String
resp.backup.tags #=> Array
resp.backup.tags[0].key #=> String
resp.backup.tags[0].value #=> String
resp.backup.file_system.owner_id #=> String
resp.backup.file_system.creation_time #=> Time
resp.backup.file_system.file_system_id #=> String
resp.backup.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.backup.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.backup.file_system.failure_details.message #=> String
resp.backup.file_system.storage_capacity #=> Integer
resp.backup.file_system.storage_type #=> String, one of "SSD", "HDD"
resp.backup.file_system.vpc_id #=> String
resp.backup.file_system.subnet_ids #=> Array
resp.backup.file_system.subnet_ids[0] #=> String
resp.backup.file_system.network_interface_ids #=> Array
resp.backup.file_system.network_interface_ids[0] #=> String
resp.backup.file_system.dns_name #=> String
resp.backup.file_system.kms_key_id #=> String
resp.backup.file_system.resource_arn #=> String
resp.backup.file_system.tags #=> Array
resp.backup.file_system.tags[0].key #=> String
resp.backup.file_system.tags[0].value #=> String
resp.backup.file_system.windows_configuration.active_directory_id #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.backup.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.backup.file_system.windows_configuration.remote_administration_endpoint #=> String
resp.backup.file_system.windows_configuration.preferred_subnet_id #=> String
resp.backup.file_system.windows_configuration.preferred_file_server_ip #=> String
resp.backup.file_system.windows_configuration.throughput_capacity #=> Integer
resp.backup.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.backup.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.backup.file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.backup.file_system.windows_configuration.aliases #=> Array
resp.backup.file_system.windows_configuration.aliases[0].name #=> String
resp.backup.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.backup.file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backup.file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backup.file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.backup.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.backup.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.backup.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.backup.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.backup.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.backup.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.backup.file_system.lustre_configuration.mount_name #=> String
resp.backup.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.backup.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.backup.file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.backup.file_system.administrative_actions #=> Array
resp.backup.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.backup.file_system.administrative_actions[0].progress_percent #=> Integer
resp.backup.file_system.administrative_actions[0].request_time #=> Time
resp.backup.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.backup.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.backup.file_system.administrative_actions[0].failure_details.message #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.backup.file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backup.file_system.administrative_actions[0].target_volume_values.name #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backup.file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.backup.file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.backup.file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.backup.file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.backup.file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.backup.file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.backup.file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.backup.file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.backup.file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.backup.file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.backup.file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.backup.file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.backup.file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.backup.file_system.ontap_configuration.preferred_subnet_id #=> String
resp.backup.file_system.ontap_configuration.route_table_ids #=> Array
resp.backup.file_system.ontap_configuration.route_table_ids[0] #=> String
resp.backup.file_system.ontap_configuration.throughput_capacity #=> Integer
resp.backup.file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.file_system_type_version #=> String
resp.backup.directory_information.domain_name #=> String
resp.backup.directory_information.active_directory_id #=> String
resp.backup.directory_information.resource_arn #=> String
resp.backup.owner_id #=> String
resp.backup.source_backup_id #=> String
resp.backup.source_backup_region #=> String
resp.backup.resource_type #=> String, one of "FILE_SYSTEM", "VOLUME"
resp.backup.volume.creation_time #=> Time
resp.backup.volume.file_system_id #=> String
resp.backup.volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backup.volume.name #=> String
resp.backup.volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backup.volume.ontap_configuration.junction_path #=> String
resp.backup.volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backup.volume.ontap_configuration.size_in_megabytes #=> Integer
resp.backup.volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backup.volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.backup.volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backup.volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backup.volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backup.volume.ontap_configuration.uuid #=> String
resp.backup.volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backup.volume.resource_arn #=> String
resp.backup.volume.tags #=> Array
resp.backup.volume.tags[0].key #=> String
resp.backup.volume.tags[0].value #=> String
resp.backup.volume.volume_id #=> String
resp.backup.volume.volume_type #=> String, one of "ONTAP"
resp.backup.volume.lifecycle_transition_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :source_backup_id (required, String)

    The ID of the source backup. Specifies the ID of the backup that is being copied.

  • :source_region (String)

    The source Amazon Web Services Region of the backup. Specifies the Amazon Web Services Region from which the backup is being copied. The source and destination Regions must be in the same Amazon Web Services partition. If you don't specify a Region, it defaults to the Region where the request is sent from (in-Region copy).

  • :kms_key_id (String)

    The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems at rest. If not specified, the Amazon FSx managed key is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the Key Management Service API Reference.

  • :copy_tags (Boolean)

    A boolean flag indicating whether tags from the source backup should be copied to the backup copy. This value defaults to false.

    If you set CopyTags to true and the source backup has existing tags, you can use the Tags parameter to create new tags, provided that the sum of the source backup tags and the new tags doesn't exceed 50. Both sets of tags are merged. If there are tag conflicts (for example, two tags with the same key but different values), the tags created with the Tags parameter take precedence.

  • :tags (Array<Types::Tag>)

    A list of Tag values, with a maximum of 50 elements.

Returns:

See Also:



754
755
756
757
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 754

def copy_backup(params = {}, options = {})
  req = build_request(:copy_backup, params)
  req.send_request(options)
end

#create_backup(params = {}) ⇒ Types::CreateBackupResponse

Creates a backup of an existing Amazon FSx for Windows File Server or Amazon FSx for Lustre file system, or of an Amazon FSx for NetApp ONTAP volume. Creating regular backups is a best practice, enabling you to restore a file system or volume from a backup if an issue arises with the original file system or volume.

For Amazon FSx for Lustre file systems, you can create a backup only for file systems with the following configuration:

  • a Persistent deployment type

  • is not linked to a data repository.

For more information about backups, see the following:

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

  • Creates a new Amazon FSx backup with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the backup.

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateBackup operation returns while the backup's lifecycle state is still CREATING. You can check the backup creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

Examples:

Example: To create a new backup


# This operation creates a new backup.

resp = client.create_backup({
  file_system_id: "fs-0498eed5fe91001ec", 
  tags: [
    {
      key: "Name", 
      value: "MyBackup", 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  backup: {
    backup_id: "backup-03e3c82e0183b7b6b", 
    creation_time: Time.parse("1481841524.0"), 
    file_system: {
      file_system_id: "fs-0498eed5fe91001ec", 
      owner_id: "012345678912", 
      storage_capacity: 300, 
      windows_configuration: {
        active_directory_id: "d-1234abcd12", 
        automatic_backup_retention_days: 30, 
        daily_automatic_backup_start_time: "05:00", 
        weekly_maintenance_start_time: "1:05:00", 
      }, 
    }, 
    lifecycle: "CREATING", 
    progress_percent: 0, 
    resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-03e3c82e0183b7b6b", 
    tags: [
      {
        key: "Name", 
        value: "MyBackup", 
      }, 
    ], 
    type: "USER_INITIATED", 
  }, 
}

Request syntax with placeholder values


resp = client.create_backup({
  file_system_id: "FileSystemId",
  client_request_token: "ClientRequestToken",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  volume_id: "VolumeId",
})

Response structure


resp.backup.backup_id #=> String
resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
resp.backup.failure_details.message #=> String
resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
resp.backup.progress_percent #=> Integer
resp.backup.creation_time #=> Time
resp.backup.kms_key_id #=> String
resp.backup.resource_arn #=> String
resp.backup.tags #=> Array
resp.backup.tags[0].key #=> String
resp.backup.tags[0].value #=> String
resp.backup.file_system.owner_id #=> String
resp.backup.file_system.creation_time #=> Time
resp.backup.file_system.file_system_id #=> String
resp.backup.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.backup.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.backup.file_system.failure_details.message #=> String
resp.backup.file_system.storage_capacity #=> Integer
resp.backup.file_system.storage_type #=> String, one of "SSD", "HDD"
resp.backup.file_system.vpc_id #=> String
resp.backup.file_system.subnet_ids #=> Array
resp.backup.file_system.subnet_ids[0] #=> String
resp.backup.file_system.network_interface_ids #=> Array
resp.backup.file_system.network_interface_ids[0] #=> String
resp.backup.file_system.dns_name #=> String
resp.backup.file_system.kms_key_id #=> String
resp.backup.file_system.resource_arn #=> String
resp.backup.file_system.tags #=> Array
resp.backup.file_system.tags[0].key #=> String
resp.backup.file_system.tags[0].value #=> String
resp.backup.file_system.windows_configuration.active_directory_id #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.backup.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.backup.file_system.windows_configuration.remote_administration_endpoint #=> String
resp.backup.file_system.windows_configuration.preferred_subnet_id #=> String
resp.backup.file_system.windows_configuration.preferred_file_server_ip #=> String
resp.backup.file_system.windows_configuration.throughput_capacity #=> Integer
resp.backup.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.backup.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.backup.file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.backup.file_system.windows_configuration.aliases #=> Array
resp.backup.file_system.windows_configuration.aliases[0].name #=> String
resp.backup.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.backup.file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backup.file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backup.file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.backup.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.backup.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.backup.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.backup.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.backup.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.backup.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.backup.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.backup.file_system.lustre_configuration.mount_name #=> String
resp.backup.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.backup.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.backup.file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.backup.file_system.administrative_actions #=> Array
resp.backup.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.backup.file_system.administrative_actions[0].progress_percent #=> Integer
resp.backup.file_system.administrative_actions[0].request_time #=> Time
resp.backup.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.backup.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.backup.file_system.administrative_actions[0].failure_details.message #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.backup.file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backup.file_system.administrative_actions[0].target_volume_values.name #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backup.file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.backup.file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.backup.file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.backup.file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.backup.file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.backup.file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.backup.file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.backup.file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.backup.file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.backup.file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.backup.file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.backup.file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.backup.file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.backup.file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.backup.file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.backup.file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.backup.file_system.ontap_configuration.preferred_subnet_id #=> String
resp.backup.file_system.ontap_configuration.route_table_ids #=> Array
resp.backup.file_system.ontap_configuration.route_table_ids[0] #=> String
resp.backup.file_system.ontap_configuration.throughput_capacity #=> Integer
resp.backup.file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.backup.file_system.file_system_type_version #=> String
resp.backup.directory_information.domain_name #=> String
resp.backup.directory_information.active_directory_id #=> String
resp.backup.directory_information.resource_arn #=> String
resp.backup.owner_id #=> String
resp.backup.source_backup_id #=> String
resp.backup.source_backup_region #=> String
resp.backup.resource_type #=> String, one of "FILE_SYSTEM", "VOLUME"
resp.backup.volume.creation_time #=> Time
resp.backup.volume.file_system_id #=> String
resp.backup.volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backup.volume.name #=> String
resp.backup.volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backup.volume.ontap_configuration.junction_path #=> String
resp.backup.volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backup.volume.ontap_configuration.size_in_megabytes #=> Integer
resp.backup.volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backup.volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.backup.volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backup.volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backup.volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backup.volume.ontap_configuration.uuid #=> String
resp.backup.volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backup.volume.resource_arn #=> String
resp.backup.volume.tags #=> Array
resp.backup.volume.tags[0].key #=> String
resp.backup.volume.tags[0].value #=> String
resp.backup.volume.volume_id #=> String
resp.backup.volume.volume_type #=> String, one of "ONTAP"
resp.backup.volume.lifecycle_transition_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :file_system_id (String)

    The ID of the file system to back up.

  • :client_request_token (String) — default: Optional

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tags (Array<Types::Tag>) — default: Optional

    The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup action, no existing file system tags are copied from the file system to the backup.

  • :volume_id (String)

    The ID of he FSx for NetApp ONTAP volume to back up.

Returns:

See Also:



1049
1050
1051
1052
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 1049

def create_backup(params = {}, options = {})
  req = build_request(:create_backup, params)
  req.send_request(options)
end

#create_data_repository_task(params = {}) ⇒ Types::CreateDataRepositoryTaskResponse

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Data Repository Tasks. To learn more about linking a data repository to your file system, see Linking your file system to an S3 bucket.

Examples:

Request syntax with placeholder values


resp = client.create_data_repository_task({
  type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY
  paths: ["DataRepositoryTaskPath"],
  file_system_id: "FileSystemId", # required
  report: { # required
    enabled: false, # required
    path: "ArchivePath",
    format: "REPORT_CSV_20191124", # accepts REPORT_CSV_20191124
    scope: "FAILED_FILES_ONLY", # accepts FAILED_FILES_ONLY
  },
  client_request_token: "ClientRequestToken",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.data_repository_task.task_id #=> String
resp.data_repository_task.lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
resp.data_repository_task.type #=> String, one of "EXPORT_TO_REPOSITORY"
resp.data_repository_task.creation_time #=> Time
resp.data_repository_task.start_time #=> Time
resp.data_repository_task.end_time #=> Time
resp.data_repository_task.resource_arn #=> String
resp.data_repository_task.tags #=> Array
resp.data_repository_task.tags[0].key #=> String
resp.data_repository_task.tags[0].value #=> String
resp.data_repository_task.file_system_id #=> String
resp.data_repository_task.paths #=> Array
resp.data_repository_task.paths[0] #=> String
resp.data_repository_task.failure_details.message #=> String
resp.data_repository_task.status.total_count #=> Integer
resp.data_repository_task.status.succeeded_count #=> Integer
resp.data_repository_task.status.failed_count #=> Integer
resp.data_repository_task.status.last_updated_time #=> Time
resp.data_repository_task.report.enabled #=> Boolean
resp.data_repository_task.report.path #=> String
resp.data_repository_task.report.format #=> String, one of "REPORT_CSV_20191124"
resp.data_repository_task.report.scope #=> String, one of "FAILED_FILES_ONLY"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :type (required, String)

    Specifies the type of data repository task to create.

  • :paths (Array<String>) — default: Optional

    The path or paths on the Amazon FSx file system to use when the data repository task is processed. The default path is the file system root directory. The paths you provide need to be relative to the mount point of the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory or file on the file system you want to export, then the path to provide is path1. If a path that you provide isn't valid, the task fails.

  • :file_system_id (required, String)

    The globally unique ID of the file system, assigned by Amazon FSx.

  • :report (required, Types::CompletionReport)

    Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the Scope parameter. For more information, see Working with Task Completion Reports.

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tags (Array<Types::Tag>)

    A list of Tag values, with a maximum of 50 elements.

Returns:

See Also:



1163
1164
1165
1166
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 1163

def create_data_repository_task(params = {}, options = {})
  req = build_request(:create_data_repository_task, params)
  req.send_request(options)
end

#create_file_system(params = {}) ⇒ Types::CreateFileSystemResponse

Creates a new, empty Amazon FSx file system.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

  • Creates a new, empty Amazon FSx file system with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the file system.

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

Examples:

Example: To create a new file system


# This operation creates a new Amazon FSx for Windows File Server file system.

resp = client.create_file_system({
  client_request_token: "a8ca07e4-61ec-4399-99f4-19853801bcd5", 
  file_system_type: "WINDOWS", 
  kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/1111abcd-2222-3333-4444-55556666eeff", 
  security_group_ids: [
    "sg-edcd9784", 
  ], 
  storage_capacity: 3200, 
  storage_type: "HDD", 
  subnet_ids: [
    "subnet-1234abcd", 
  ], 
  tags: [
    {
      key: "Name", 
      value: "MyFileSystem", 
    }, 
  ], 
  windows_configuration: {
    active_directory_id: "d-1234abcd12", 
    aliases: [
      "accounting.corp.example.com", 
    ], 
    automatic_backup_retention_days: 30, 
    daily_automatic_backup_start_time: "05:00", 
    throughput_capacity: 32, 
    weekly_maintenance_start_time: "1:05:00", 
  }, 
})

resp.to_h outputs the following:
{
  file_system: {
    creation_time: Time.parse("1481841524.0"), 
    dns_name: "fs-0123456789abcdef0.fsx.com", 
    file_system_id: "fs-0123456789abcdef0", 
    kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/1111abcd-2222-3333-4444-55556666eeff", 
    lifecycle: "CREATING", 
    owner_id: "012345678912", 
    resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0123456789abcdef0", 
    storage_capacity: 3200, 
    storage_type: "HDD", 
    subnet_ids: [
      "subnet-1234abcd", 
    ], 
    tags: [
      {
        key: "Name", 
        value: "MyFileSystem", 
      }, 
    ], 
    vpc_id: "vpc-ab1234cd", 
    windows_configuration: {
      active_directory_id: "d-1234abcd12", 
      aliases: [
        {
          lifecycle: "CREATING", 
          name: "accounting.corp.example.com", 
        }, 
      ], 
      automatic_backup_retention_days: 30, 
      daily_automatic_backup_start_time: "05:00", 
      throughput_capacity: 32, 
      weekly_maintenance_start_time: "1:05:00", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.create_file_system({
  client_request_token: "ClientRequestToken",
  file_system_type: "WINDOWS", # required, accepts WINDOWS, LUSTRE, ONTAP
  storage_capacity: 1, # required
  storage_type: "SSD", # accepts SSD, HDD
  subnet_ids: ["SubnetId"], # required
  security_group_ids: ["SecurityGroupId"],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  kms_key_id: "KmsKeyId",
  windows_configuration: {
    active_directory_id: "DirectoryId",
    self_managed_active_directory_configuration: {
      domain_name: "ActiveDirectoryFullyQualifiedName", # required
      organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
      file_system_administrators_group: "FileSystemAdministratorsGroupName",
      user_name: "DirectoryUserName", # required
      password: "DirectoryPassword", # required
      dns_ips: ["IpAddress"], # required
    },
    deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1, SINGLE_AZ_2
    preferred_subnet_id: "SubnetId",
    throughput_capacity: 1, # required
    weekly_maintenance_start_time: "WeeklyTime",
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    copy_tags_to_backups: false,
    aliases: ["AlternateDNSName"],
    audit_log_configuration: {
      file_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      file_share_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      audit_log_destination: "GeneralARN",
    },
  },
  lustre_configuration: {
    weekly_maintenance_start_time: "WeeklyTime",
    import_path: "ArchivePath",
    export_path: "ArchivePath",
    imported_file_chunk_size: 1,
    deployment_type: "SCRATCH_1", # accepts SCRATCH_1, SCRATCH_2, PERSISTENT_1
    auto_import_policy: "NONE", # accepts NONE, NEW, NEW_CHANGED
    per_unit_storage_throughput: 1,
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    copy_tags_to_backups: false,
    drive_cache_type: "NONE", # accepts NONE, READ
    data_compression_type: "NONE", # accepts NONE, LZ4
  },
  ontap_configuration: {
    automatic_backup_retention_days: 1,
    daily_automatic_backup_start_time: "DailyTime",
    deployment_type: "MULTI_AZ_1", # required, accepts MULTI_AZ_1
    endpoint_ip_address_range: "IpAddressRange",
    fsx_admin_password: "AdminPassword",
    disk_iops_configuration: {
      mode: "AUTOMATIC", # accepts AUTOMATIC, USER_PROVISIONED
      iops: 1,
    },
    preferred_subnet_id: "SubnetId",
    route_table_ids: ["RouteTableId"],
    throughput_capacity: 1, # required
    weekly_maintenance_start_time: "WeeklyTime",
  },
  file_system_type_version: "FileSystemTypeVersion",
})

Response structure


resp.file_system.owner_id #=> String
resp.file_system.creation_time #=> Time
resp.file_system.file_system_id #=> String
resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.file_system.failure_details.message #=> String
resp.file_system.storage_capacity #=> Integer
resp.file_system.storage_type #=> String, one of "SSD", "HDD"
resp.file_system.vpc_id #=> String
resp.file_system.subnet_ids #=> Array
resp.file_system.subnet_ids[0] #=> String
resp.file_system.network_interface_ids #=> Array
resp.file_system.network_interface_ids[0] #=> String
resp.file_system.dns_name #=> String
resp.file_system.kms_key_id #=> String
resp.file_system.resource_arn #=> String
resp.file_system.tags #=> Array
resp.file_system.tags[0].key #=> String
resp.file_system.tags[0].value #=> String
resp.file_system.windows_configuration.active_directory_id #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.file_system.windows_configuration.remote_administration_endpoint #=> String
resp.file_system.windows_configuration.preferred_subnet_id #=> String
resp.file_system.windows_configuration.preferred_file_server_ip #=> String
resp.file_system.windows_configuration.throughput_capacity #=> Integer
resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.windows_configuration.aliases #=> Array
resp.file_system.windows_configuration.aliases[0].name #=> String
resp.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.file_system.lustre_configuration.mount_name #=> String
resp.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.file_system.administrative_actions #=> Array
resp.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.file_system.administrative_actions[0].progress_percent #=> Integer
resp.file_system.administrative_actions[0].request_time #=> Time
resp.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.file_system.administrative_actions[0].failure_details.message #=> String
resp.file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.file_system.administrative_actions[0].target_volume_values.name #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.file_system.ontap_configuration.preferred_subnet_id #=> String
resp.file_system.ontap_configuration.route_table_ids #=> Array
resp.file_system.ontap_configuration.route_table_ids[0] #=> String
resp.file_system.ontap_configuration.throughput_capacity #=> Integer
resp.file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.file_system.file_system_type_version #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String)

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :file_system_type (required, String)

    The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, and ONTAP.

  • :storage_capacity (required, Integer)

    Sets the storage capacity of the file system that you're creating.

    For Lustre file systems:

    • For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

    • For PERSISTENT HDD file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

    • For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

    For Windows file systems:

    • If StorageType=SSD, valid values are 32 GiB - 65,536 GiB (64 TiB).

    • If StorageType=HDD, valid values are 2000 GiB - 65,536 GiB (64 TiB).

    For ONTAP file systems:

    • Valid values are 1024 GiB - 196,608 GiB (192 TiB).

    ^

  • :storage_type (String)

    Sets the storage type for the file system you're creating. Valid values are SSD and HDD.

    • Set to SSD to use solid state drive storage. SSD is supported on all Windows, Lustre, and ONTAP deployment types.

    • Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT Lustre file system deployment types.

    Default value is SSD. For more information, see Storage Type Options in the Amazon FSx for Windows User Guide and Multiple Storage Options in the Amazon FSx for Lustre User Guide.

  • :subnet_ids (required, Array<String>)

    Specifies the IDs of the subnets that the file system will be accessible from. For Windows and ONTAP MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID properties. For more information, see Availability and durability: Single-AZ and Multi-AZ file systems in the Amazon FSx for Windows User Guide and Availability and durability in the Amazon FSx for ONTAP User Guide.

    For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

  • :security_group_ids (Array<String>)

    A list of IDs specifying the security groups to apply to all network interfaces created for file system access. This list isn't returned in later requests to describe the file system.

  • :tags (Array<Types::Tag>)

    The tags to apply to the file system being created. The key value of the Name tag appears in the console as the file system name.

  • :kms_key_id (String)

    The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems at rest. If not specified, the Amazon FSx managed key is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the Key Management Service API Reference.

  • :windows_configuration (Types::CreateFileSystemWindowsConfiguration)

    The Microsoft Windows configuration for the file system being created.

  • :lustre_configuration (Types::CreateFileSystemLustreConfiguration)

    The Lustre configuration for the file system being created.

  • :ontap_configuration (Types::CreateFileSystemOntapConfiguration)

    The ONTAP configuration properties of the FSx for NetApp ONTAP file system that you are creating.

  • :file_system_type_version (String)

    Sets the version of the Amazon FSx for Lustre file system you're creating. Valid values are 2.10 and 2.12.

    • Set the value to 2.10 to create a Lustre 2.10 file system.

    • Set the value to 2.12 to create a Lustre 2.12 file system.

    Default value is 2.10.

Returns:

See Also:



1588
1589
1590
1591
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 1588

def create_file_system(params = {}, options = {})
  req = build_request(:create_file_system, params)
  req.send_request(options)
end

#create_file_system_from_backup(params = {}) ⇒ Types::CreateFileSystemFromBackupResponse

Creates a new Amazon FSx for Lustre or Amazon FSx for Windows File Server file system from an existing Amazon FSx backup.

If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a client request token specified by the file system exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following:

  • Creates a new Amazon FSx file system from backup with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the file system.

Parameters like Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings.

By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

Examples:

Example: To create a new file system from backup


# This operation creates a new file system from backup.

resp = client.create_file_system_from_backup({
  backup_id: "backup-03e3c82e0183b7b6b", 
  client_request_token: "f4c94ed7-238d-4c46-93db-48cd62ec33b7", 
  security_group_ids: [
    "sg-edcd9784", 
  ], 
  subnet_ids: [
    "subnet-1234abcd", 
  ], 
  tags: [
    {
      key: "Name", 
      value: "MyFileSystem", 
    }, 
  ], 
  windows_configuration: {
    throughput_capacity: 8, 
  }, 
})

resp.to_h outputs the following:
{
  file_system: {
    creation_time: Time.parse("1481841524.0"), 
    dns_name: "fs-0498eed5fe91001ec.fsx.com", 
    file_system_id: "fs-0498eed5fe91001ec", 
    kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6", 
    lifecycle: "CREATING", 
    owner_id: "012345678912", 
    resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
    storage_capacity: 300, 
    subnet_ids: [
      "subnet-1234abcd", 
    ], 
    tags: [
      {
        key: "Name", 
        value: "MyFileSystem", 
      }, 
    ], 
    vpc_id: "vpc-ab1234cd", 
    windows_configuration: {
      active_directory_id: "d-1234abcd12", 
      automatic_backup_retention_days: 30, 
      daily_automatic_backup_start_time: "05:00", 
      throughput_capacity: 8, 
      weekly_maintenance_start_time: "1:05:00", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.create_file_system_from_backup({
  backup_id: "BackupId", # required
  client_request_token: "ClientRequestToken",
  subnet_ids: ["SubnetId"], # required
  security_group_ids: ["SecurityGroupId"],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  windows_configuration: {
    active_directory_id: "DirectoryId",
    self_managed_active_directory_configuration: {
      domain_name: "ActiveDirectoryFullyQualifiedName", # required
      organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
      file_system_administrators_group: "FileSystemAdministratorsGroupName",
      user_name: "DirectoryUserName", # required
      password: "DirectoryPassword", # required
      dns_ips: ["IpAddress"], # required
    },
    deployment_type: "MULTI_AZ_1", # accepts MULTI_AZ_1, SINGLE_AZ_1, SINGLE_AZ_2
    preferred_subnet_id: "SubnetId",
    throughput_capacity: 1, # required
    weekly_maintenance_start_time: "WeeklyTime",
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    copy_tags_to_backups: false,
    aliases: ["AlternateDNSName"],
    audit_log_configuration: {
      file_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      file_share_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      audit_log_destination: "GeneralARN",
    },
  },
  lustre_configuration: {
    weekly_maintenance_start_time: "WeeklyTime",
    import_path: "ArchivePath",
    export_path: "ArchivePath",
    imported_file_chunk_size: 1,
    deployment_type: "SCRATCH_1", # accepts SCRATCH_1, SCRATCH_2, PERSISTENT_1
    auto_import_policy: "NONE", # accepts NONE, NEW, NEW_CHANGED
    per_unit_storage_throughput: 1,
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    copy_tags_to_backups: false,
    drive_cache_type: "NONE", # accepts NONE, READ
    data_compression_type: "NONE", # accepts NONE, LZ4
  },
  storage_type: "SSD", # accepts SSD, HDD
  kms_key_id: "KmsKeyId",
  file_system_type_version: "FileSystemTypeVersion",
})

Response structure


resp.file_system.owner_id #=> String
resp.file_system.creation_time #=> Time
resp.file_system.file_system_id #=> String
resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.file_system.failure_details.message #=> String
resp.file_system.storage_capacity #=> Integer
resp.file_system.storage_type #=> String, one of "SSD", "HDD"
resp.file_system.vpc_id #=> String
resp.file_system.subnet_ids #=> Array
resp.file_system.subnet_ids[0] #=> String
resp.file_system.network_interface_ids #=> Array
resp.file_system.network_interface_ids[0] #=> String
resp.file_system.dns_name #=> String
resp.file_system.kms_key_id #=> String
resp.file_system.resource_arn #=> String
resp.file_system.tags #=> Array
resp.file_system.tags[0].key #=> String
resp.file_system.tags[0].value #=> String
resp.file_system.windows_configuration.active_directory_id #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.file_system.windows_configuration.remote_administration_endpoint #=> String
resp.file_system.windows_configuration.preferred_subnet_id #=> String
resp.file_system.windows_configuration.preferred_file_server_ip #=> String
resp.file_system.windows_configuration.throughput_capacity #=> Integer
resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.windows_configuration.aliases #=> Array
resp.file_system.windows_configuration.aliases[0].name #=> String
resp.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.file_system.lustre_configuration.mount_name #=> String
resp.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.file_system.administrative_actions #=> Array
resp.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.file_system.administrative_actions[0].progress_percent #=> Integer
resp.file_system.administrative_actions[0].request_time #=> Time
resp.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.file_system.administrative_actions[0].failure_details.message #=> String
resp.file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.file_system.administrative_actions[0].target_volume_values.name #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.file_system.ontap_configuration.preferred_subnet_id #=> String
resp.file_system.ontap_configuration.route_table_ids #=> Array
resp.file_system.ontap_configuration.route_table_ids[0] #=> String
resp.file_system.ontap_configuration.throughput_capacity #=> Integer
resp.file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.file_system.file_system_type_version #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :backup_id (required, String)

    The ID of the source backup. Specifies the backup you are copying.

  • :client_request_token (String)

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :subnet_ids (required, Array<String>)

    Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

    For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

  • :security_group_ids (Array<String>)

    A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.

  • :tags (Array<Types::Tag>)

    The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

  • :windows_configuration (Types::CreateFileSystemWindowsConfiguration)

    The configuration for this Microsoft Windows file system.

  • :lustre_configuration (Types::CreateFileSystemLustreConfiguration)

    The Lustre configuration for the file system being created.

  • :storage_type (String)

    Sets the storage type for the Windows file system you're creating from a backup. Valid values are SSD and HDD.

    • Set to SSD to use solid state drive storage. Supported on all Windows deployment types.

    • Set to HDD to use hard disk drive storage. Supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types.

    Default value is SSD.

    HDD and SSD storage types have different minimum storage capacity requirements. A restored file system's storage capacity is tied to the file system that was backed up. You can create a file system that uses HDD storage from a backup of a file system that used SSD storage only if the original SSD file system had a storage capacity of at least 2000 GiB.

  • :kms_key_id (String)

    The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems at rest. If not specified, the Amazon FSx managed key is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the Key Management Service API Reference.

  • :file_system_type_version (String)

    Sets the version for the Amazon FSx for Lustre file system you're creating from a backup. Valid values are 2.10 and 2.12.

    You don't need to specify FileSystemTypeVersion because it will be applied using the backup's FileSystemTypeVersion setting. If you choose to specify FileSystemTypeVersion when creating from backup, the value must match the backup's FileSystemTypeVersion setting.

Returns:

See Also:



1943
1944
1945
1946
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 1943

def create_file_system_from_backup(params = {}, options = {})
  req = build_request(:create_file_system_from_backup, params)
  req.send_request(options)
end

#create_storage_virtual_machine(params = {}) ⇒ Types::CreateStorageVirtualMachineResponse

Creates a storage virtual machine (SVM) for an Amazon FSx for ONTAP file system.

Examples:

Request syntax with placeholder values


resp = client.create_storage_virtual_machine({
  active_directory_configuration: {
    net_bios_name: "NetBiosAlias", # required
    self_managed_active_directory_configuration: {
      domain_name: "ActiveDirectoryFullyQualifiedName", # required
      organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
      file_system_administrators_group: "FileSystemAdministratorsGroupName",
      user_name: "DirectoryUserName", # required
      password: "DirectoryPassword", # required
      dns_ips: ["IpAddress"], # required
    },
  },
  client_request_token: "ClientRequestToken",
  file_system_id: "FileSystemId", # required
  name: "StorageVirtualMachineName", # required
  svm_admin_password: "AdminPassword",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  root_volume_security_style: "UNIX", # accepts UNIX, NTFS, MIXED
})

Response structure


resp.storage_virtual_machine.active_directory_configuration.net_bios_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.storage_virtual_machine.creation_time #=> Time
resp.storage_virtual_machine.endpoints.iscsi.dns_name #=> String
resp.storage_virtual_machine.endpoints.iscsi.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.iscsi.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.management.dns_name #=> String
resp.storage_virtual_machine.endpoints.management.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.management.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.nfs.dns_name #=> String
resp.storage_virtual_machine.endpoints.nfs.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.nfs.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.smb.dns_name #=> String
resp.storage_virtual_machine.endpoints.smb.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.smb.ip_addresses[0] #=> String
resp.storage_virtual_machine.file_system_id #=> String
resp.storage_virtual_machine.lifecycle #=> String, one of "CREATED", "CREATING", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.storage_virtual_machine.name #=> String
resp.storage_virtual_machine.resource_arn #=> String
resp.storage_virtual_machine.storage_virtual_machine_id #=> String
resp.storage_virtual_machine.subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
resp.storage_virtual_machine.uuid #=> String
resp.storage_virtual_machine.tags #=> Array
resp.storage_virtual_machine.tags[0].key #=> String
resp.storage_virtual_machine.tags[0].value #=> String
resp.storage_virtual_machine.lifecycle_transition_reason.message #=> String
resp.storage_virtual_machine.root_volume_security_style #=> String, one of "UNIX", "NTFS", "MIXED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :active_directory_configuration (Types::CreateSvmActiveDirectoryConfiguration)

    Describes the self-managed Microsoft Active Directory to which you want to join the SVM. Joining an Active Directory provides user authentication and access control for SMB clients, including Microsoft Windows and macOS client accessing the file system.

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :file_system_id (required, String)

    The globally unique ID of the file system, assigned by Amazon FSx.

  • :name (required, String)

    The name of the SVM.

  • :svm_admin_password (String)

    The password to use when managing the SVM using the NetApp ONTAP CLI or REST API. If you do not specify a password, you can still use the file system's fsxadmin user to manage the SVM.

  • :tags (Array<Types::Tag>)

    A list of Tag values, with a maximum of 50 elements.

  • :root_volume_security_style (String)

    The security style of the root volume of the SVM. Specify one of the following values:

    • UNIX if the file system is managed by a UNIX administrator, the majority of users are NFS clients, and an application accessing the data uses a UNIX user as the service account.

    • NTFS if the file system is managed by a Windows administrator, the majority of users are SMB clients, and an application accessing the data uses a Windows user as the service account.

    • MIXED if the file system is managed by both UNIX and Windows administrators and users consist of both NFS and SMB clients.

Returns:

See Also:



2065
2066
2067
2068
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2065

def create_storage_virtual_machine(params = {}, options = {})
  req = build_request(:create_storage_virtual_machine, params)
  req.send_request(options)
end

#create_volume(params = {}) ⇒ Types::CreateVolumeResponse

Creates an Amazon FSx for NetApp ONTAP storage volume.

Examples:

Request syntax with placeholder values


resp = client.create_volume({
  client_request_token: "ClientRequestToken",
  volume_type: "ONTAP", # required, accepts ONTAP
  name: "VolumeName", # required
  ontap_configuration: {
    junction_path: "JunctionPath", # required
    security_style: "UNIX", # accepts UNIX, NTFS, MIXED
    size_in_megabytes: 1, # required
    storage_efficiency_enabled: false, # required
    storage_virtual_machine_id: "StorageVirtualMachineId", # required
    tiering_policy: {
      cooling_period: 1,
      name: "SNAPSHOT_ONLY", # accepts SNAPSHOT_ONLY, AUTO, ALL, NONE
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.volume.creation_time #=> Time
resp.volume.file_system_id #=> String
resp.volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.volume.name #=> String
resp.volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.volume.ontap_configuration.junction_path #=> String
resp.volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.volume.ontap_configuration.size_in_megabytes #=> Integer
resp.volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.volume.ontap_configuration.uuid #=> String
resp.volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.volume.resource_arn #=> String
resp.volume.tags #=> Array
resp.volume.tags[0].key #=> String
resp.volume.tags[0].value #=> String
resp.volume.volume_id #=> String
resp.volume.volume_type #=> String, one of "ONTAP"
resp.volume.lifecycle_transition_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :volume_type (required, String)

    Specifies the type of volume to create; ONTAP is the only valid volume type.

  • :name (required, String)

    Specifies the name of the volume you're creating.

  • :ontap_configuration (Types::CreateOntapVolumeConfiguration)

    Specifies the ONTAP configuration to use in creating the volume.

  • :tags (Array<Types::Tag>)

    A list of Tag values, with a maximum of 50 elements.

Returns:

See Also:



2152
2153
2154
2155
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2152

def create_volume(params = {}, options = {})
  req = build_request(:create_volume, params)
  req.send_request(options)
end

#create_volume_from_backup(params = {}) ⇒ Types::CreateVolumeFromBackupResponse

Creates a new Amazon FSx for NetApp ONTAP volume from an existing Amazon FSx volume backup.

Examples:

Request syntax with placeholder values


resp = client.create_volume_from_backup({
  backup_id: "BackupId", # required
  client_request_token: "ClientRequestToken",
  name: "VolumeName", # required
  ontap_configuration: {
    junction_path: "JunctionPath", # required
    security_style: "UNIX", # accepts UNIX, NTFS, MIXED
    size_in_megabytes: 1, # required
    storage_efficiency_enabled: false, # required
    storage_virtual_machine_id: "StorageVirtualMachineId", # required
    tiering_policy: {
      cooling_period: 1,
      name: "SNAPSHOT_ONLY", # accepts SNAPSHOT_ONLY, AUTO, ALL, NONE
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.volume.creation_time #=> Time
resp.volume.file_system_id #=> String
resp.volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.volume.name #=> String
resp.volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.volume.ontap_configuration.junction_path #=> String
resp.volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.volume.ontap_configuration.size_in_megabytes #=> Integer
resp.volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.volume.ontap_configuration.uuid #=> String
resp.volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.volume.resource_arn #=> String
resp.volume.tags #=> Array
resp.volume.tags[0].key #=> String
resp.volume.tags[0].value #=> String
resp.volume.volume_id #=> String
resp.volume.volume_type #=> String, one of "ONTAP"
resp.volume.lifecycle_transition_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :backup_id (required, String)

    The ID of the source backup. Specifies the backup you are copying.

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :name (required, String)

    The name of the new volume you're creating.

  • :ontap_configuration (Types::CreateOntapVolumeConfiguration)

    Specifies the configuration of the ONTAP volume that you are creating.

  • :tags (Array<Types::Tag>)

    A list of Tag values, with a maximum of 50 elements.

Returns:

See Also:



2239
2240
2241
2242
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2239

def create_volume_from_backup(params = {}, options = {})
  req = build_request(:create_volume_from_backup, params)
  req.send_request(options)
end

#delete_backup(params = {}) ⇒ Types::DeleteBackupResponse

Deletes an Amazon FSx backup, deleting its contents. After deletion, the backup no longer exists, and its data is gone.

The DeleteBackup call returns instantly. The backup will not show up in later DescribeBackups calls.

The data in a deleted backup is also deleted and can't be recovered by any means.

Examples:

Example: To delete a backup


# This operation deletes an Amazon FSx file system backup.

resp = client.delete_backup({
  backup_id: "backup-03e3c82e0183b7b6b", 
})

resp.to_h outputs the following:
{
  backup_id: "backup-03e3c82e0183b7b6b", 
  lifecycle: "DELETED", 
}

Request syntax with placeholder values


resp = client.delete_backup({
  backup_id: "BackupId", # required
  client_request_token: "ClientRequestToken",
})

Response structure


resp.backup_id #=> String
resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :backup_id (required, String)

    The ID of the backup you want to delete.

  • :client_request_token (String)

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the CLI or SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



2300
2301
2302
2303
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2300

def delete_backup(params = {}, options = {})
  req = build_request(:delete_backup, params)
  req.send_request(options)
end

#delete_file_system(params = {}) ⇒ Types::DeleteFileSystemResponse

Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted.

To delete an Amazon FSx for NetApp ONTAP file system, first delete all the volumes and SVMs on the file system. Then provide a FileSystemId value to the DeleFileSystem operation.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error.

Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state.

The data in a deleted file system is also deleted and can't be recovered by any means.

Examples:

Example: To delete a file system


# This operation deletes an Amazon FSx file system.

resp = client.delete_file_system({
  file_system_id: "fs-0498eed5fe91001ec", 
})

resp.to_h outputs the following:
{
  file_system_id: "fs-0498eed5fe91001ec", 
  lifecycle: "DELETING", 
}

Request syntax with placeholder values


resp = client.delete_file_system({
  file_system_id: "FileSystemId", # required
  client_request_token: "ClientRequestToken",
  windows_configuration: {
    skip_final_backup: false,
    final_backup_tags: [
      {
        key: "TagKey", # required
        value: "TagValue", # required
      },
    ],
  },
  lustre_configuration: {
    skip_final_backup: false,
    final_backup_tags: [
      {
        key: "TagKey", # required
        value: "TagValue", # required
      },
    ],
  },
})

Response structure


resp.file_system_id #=> String
resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.windows_response.final_backup_id #=> String
resp.windows_response.final_backup_tags #=> Array
resp.windows_response.final_backup_tags[0].key #=> String
resp.windows_response.final_backup_tags[0].value #=> String
resp.lustre_response.final_backup_id #=> String
resp.lustre_response.final_backup_tags #=> Array
resp.lustre_response.final_backup_tags[0].key #=> String
resp.lustre_response.final_backup_tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :file_system_id (required, String)

    The ID of the file system you want to delete.

  • :client_request_token (String)

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :windows_configuration (Types::DeleteFileSystemWindowsConfiguration)

    The configuration object for the Microsoft Windows file system used in the DeleteFileSystem operation.

  • :lustre_configuration (Types::DeleteFileSystemLustreConfiguration)

    The configuration object for the Amazon FSx for Lustre file system being deleted in the DeleteFileSystem operation.

Returns:

See Also:



2417
2418
2419
2420
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2417

def delete_file_system(params = {}, options = {})
  req = build_request(:delete_file_system, params)
  req.send_request(options)
end

#delete_storage_virtual_machine(params = {}) ⇒ Types::DeleteStorageVirtualMachineResponse

Deletes an existing Amazon FSx for ONTAP storage virtual machine (SVM). Prior to deleting an SVM, you must delete all non-root volumes in the SVM, otherwise the operation will fail.

Examples:

Request syntax with placeholder values


resp = client.delete_storage_virtual_machine({
  client_request_token: "ClientRequestToken",
  storage_virtual_machine_id: "StorageVirtualMachineId", # required
})

Response structure


resp.storage_virtual_machine_id #=> String
resp.lifecycle #=> String, one of "CREATED", "CREATING", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :storage_virtual_machine_id (required, String)

    The ID of the SVM that you want to delete.

Returns:

See Also:



2459
2460
2461
2462
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2459

def delete_storage_virtual_machine(params = {}, options = {})
  req = build_request(:delete_storage_virtual_machine, params)
  req.send_request(options)
end

#delete_volume(params = {}) ⇒ Types::DeleteVolumeResponse

Deletes an Amazon FSx for NetApp ONTAP volume. When deleting a volume, you have the option of creating a final backup. If you create a final backup, you have the option to apply Tags to the backup. You need to have fsx:TagResource permission in order to apply tags to the backup.

Examples:

Request syntax with placeholder values


resp = client.delete_volume({
  client_request_token: "ClientRequestToken",
  volume_id: "VolumeId", # required
  ontap_configuration: {
    skip_final_backup: false,
    final_backup_tags: [
      {
        key: "TagKey", # required
        value: "TagValue", # required
      },
    ],
  },
})

Response structure


resp.volume_id #=> String
resp.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.ontap_response.final_backup_id #=> String
resp.ontap_response.final_backup_tags #=> Array
resp.ontap_response.final_backup_tags[0].key #=> String
resp.ontap_response.final_backup_tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :volume_id (required, String)

    The ID of the volume you are deleting.

  • :ontap_configuration (Types::DeleteVolumeOntapConfiguration)

    For Amazon FSx for ONTAP volumes, specify whether to take a final backup of the volume, and apply tags to the backup.

Returns:

See Also:



2521
2522
2523
2524
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2521

def delete_volume(params = {}, options = {})
  req = build_request(:delete_volume, params)
  req.send_request(options)
end

#describe_backups(params = {}) ⇒ Types::DescribeBackupsResponse

Returns the description of specific Amazon FSx backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults backup descriptions while still including a NextToken value.

  • The order of backups returned in the response of one DescribeBackups call and the order of backups returned across the responses of a multi-call iteration is unspecified.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: To describe Amazon FSx backups


# This operation describes all of the Amazon FSx backups in an account.

resp = client.describe_backups({
})

resp.to_h outputs the following:
{
  backups: [
    {
      backup_id: "backup-03e3c82e0183b7b6b", 
      creation_time: Time.parse("1481841524.0"), 
      file_system: {
        file_system_id: "fs-0498eed5fe91001ec", 
        owner_id: "012345678912", 
        storage_capacity: 300, 
        windows_configuration: {
          active_directory_id: "d-1234abcd12", 
          automatic_backup_retention_days: 30, 
          daily_automatic_backup_start_time: "05:00", 
          weekly_maintenance_start_time: "1:05:00", 
        }, 
      }, 
      lifecycle: "AVAILABLE", 
      resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-03e3c82e0183b7b6b", 
      tags: [
        {
          key: "Name", 
          value: "MyBackup", 
        }, 
      ], 
      type: "USER_INITIATED", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_backups({
  backup_ids: ["BackupId"],
  filters: [
    {
      name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id
      values: ["FilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.backups #=> Array
resp.backups[0].backup_id #=> String
resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
resp.backups[0].failure_details.message #=> String
resp.backups[0].type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
resp.backups[0].progress_percent #=> Integer
resp.backups[0].creation_time #=> Time
resp.backups[0].kms_key_id #=> String
resp.backups[0].resource_arn #=> String
resp.backups[0].tags #=> Array
resp.backups[0].tags[0].key #=> String
resp.backups[0].tags[0].value #=> String
resp.backups[0].file_system.owner_id #=> String
resp.backups[0].file_system.creation_time #=> Time
resp.backups[0].file_system.file_system_id #=> String
resp.backups[0].file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.backups[0].file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.backups[0].file_system.failure_details.message #=> String
resp.backups[0].file_system.storage_capacity #=> Integer
resp.backups[0].file_system.storage_type #=> String, one of "SSD", "HDD"
resp.backups[0].file_system.vpc_id #=> String
resp.backups[0].file_system.subnet_ids #=> Array
resp.backups[0].file_system.subnet_ids[0] #=> String
resp.backups[0].file_system.network_interface_ids #=> Array
resp.backups[0].file_system.network_interface_ids[0] #=> String
resp.backups[0].file_system.dns_name #=> String
resp.backups[0].file_system.kms_key_id #=> String
resp.backups[0].file_system.resource_arn #=> String
resp.backups[0].file_system.tags #=> Array
resp.backups[0].file_system.tags[0].key #=> String
resp.backups[0].file_system.tags[0].value #=> String
resp.backups[0].file_system.windows_configuration.active_directory_id #=> String
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.backups[0].file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.backups[0].file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.backups[0].file_system.windows_configuration.remote_administration_endpoint #=> String
resp.backups[0].file_system.windows_configuration.preferred_subnet_id #=> String
resp.backups[0].file_system.windows_configuration.preferred_file_server_ip #=> String
resp.backups[0].file_system.windows_configuration.throughput_capacity #=> Integer
resp.backups[0].file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.backups[0].file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.backups[0].file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.backups[0].file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.backups[0].file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.backups[0].file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.backups[0].file_system.windows_configuration.aliases #=> Array
resp.backups[0].file_system.windows_configuration.aliases[0].name #=> String
resp.backups[0].file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.backups[0].file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backups[0].file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.backups[0].file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.backups[0].file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.backups[0].file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.backups[0].file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.backups[0].file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.backups[0].file_system.lustre_configuration.mount_name #=> String
resp.backups[0].file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.backups[0].file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.backups[0].file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.backups[0].file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.backups[0].file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.backups[0].file_system.administrative_actions #=> Array
resp.backups[0].file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.backups[0].file_system.administrative_actions[0].progress_percent #=> Integer
resp.backups[0].file_system.administrative_actions[0].request_time #=> Time
resp.backups[0].file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.backups[0].file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.backups[0].file_system.administrative_actions[0].failure_details.message #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.backups[0].file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.name #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.backups[0].file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.backups[0].file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.backups[0].file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.backups[0].file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.backups[0].file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.backups[0].file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.backups[0].file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.backups[0].file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.backups[0].file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.backups[0].file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.backups[0].file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.backups[0].file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.backups[0].file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.backups[0].file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.backups[0].file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.backups[0].file_system.ontap_configuration.preferred_subnet_id #=> String
resp.backups[0].file_system.ontap_configuration.route_table_ids #=> Array
resp.backups[0].file_system.ontap_configuration.route_table_ids[0] #=> String
resp.backups[0].file_system.ontap_configuration.throughput_capacity #=> Integer
resp.backups[0].file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.backups[0].file_system.file_system_type_version #=> String
resp.backups[0].directory_information.domain_name #=> String
resp.backups[0].directory_information.active_directory_id #=> String
resp.backups[0].directory_information.resource_arn #=> String
resp.backups[0].owner_id #=> String
resp.backups[0].source_backup_id #=> String
resp.backups[0].source_backup_region #=> String
resp.backups[0].resource_type #=> String, one of "FILE_SYSTEM", "VOLUME"
resp.backups[0].volume.creation_time #=> Time
resp.backups[0].volume.file_system_id #=> String
resp.backups[0].volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.backups[0].volume.name #=> String
resp.backups[0].volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.backups[0].volume.ontap_configuration.junction_path #=> String
resp.backups[0].volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.backups[0].volume.ontap_configuration.size_in_megabytes #=> Integer
resp.backups[0].volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.backups[0].volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.backups[0].volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.backups[0].volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.backups[0].volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.backups[0].volume.ontap_configuration.uuid #=> String
resp.backups[0].volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.backups[0].volume.resource_arn #=> String
resp.backups[0].volume.tags #=> Array
resp.backups[0].volume.tags[0].key #=> String
resp.backups[0].volume.tags[0].value #=> String
resp.backups[0].volume.volume_id #=> String
resp.backups[0].volume.volume_type #=> String, one of "ONTAP"
resp.backups[0].volume.lifecycle_transition_reason.message #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :backup_ids (Array<String>)

    IDs of the backups you want to retrieve (String). This overrides any filters. If any IDs are not found, BackupNotFound will be thrown.

  • :filters (Array<Types::Filter>)

    Filters structure. Supported names are file-system-id, backup-type, file-system-type, and volume-id.

  • :max_results (Integer)

    Maximum number of backups to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

  • :next_token (String)

    Opaque pagination token returned from a previous DescribeBackups operation (String). If a token present, the action continues the list from where the returning call left off.

Returns:

See Also:



2786
2787
2788
2789
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2786

def describe_backups(params = {}, options = {})
  req = build_request(:describe_backups, params)
  req.send_request(options)
end

#describe_data_repository_tasks(params = {}) ⇒ Types::DescribeDataRepositoryTasksResponse

Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_data_repository_tasks({
  task_ids: ["TaskId"],
  filters: [
    {
      name: "file-system-id", # accepts file-system-id, task-lifecycle
      values: ["DataRepositoryTaskFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.data_repository_tasks #=> Array
resp.data_repository_tasks[0].task_id #=> String
resp.data_repository_tasks[0].lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
resp.data_repository_tasks[0].type #=> String, one of "EXPORT_TO_REPOSITORY"
resp.data_repository_tasks[0].creation_time #=> Time
resp.data_repository_tasks[0].start_time #=> Time
resp.data_repository_tasks[0].end_time #=> Time
resp.data_repository_tasks[0].resource_arn #=> String
resp.data_repository_tasks[0].tags #=> Array
resp.data_repository_tasks[0].tags[0].key #=> String
resp.data_repository_tasks[0].tags[0].value #=> String
resp.data_repository_tasks[0].file_system_id #=> String
resp.data_repository_tasks[0].paths #=> Array
resp.data_repository_tasks[0].paths[0] #=> String
resp.data_repository_tasks[0].failure_details.message #=> String
resp.data_repository_tasks[0].status.total_count #=> Integer
resp.data_repository_tasks[0].status.succeeded_count #=> Integer
resp.data_repository_tasks[0].status.failed_count #=> Integer
resp.data_repository_tasks[0].status.last_updated_time #=> Time
resp.data_repository_tasks[0].report.enabled #=> Boolean
resp.data_repository_tasks[0].report.path #=> String
resp.data_repository_tasks[0].report.format #=> String, one of "REPORT_CSV_20191124"
resp.data_repository_tasks[0].report.scope #=> String, one of "FAILED_FILES_ONLY"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :task_ids (Array<String>) — default: Optional

    IDs of the tasks whose descriptions you want to retrieve (String).

  • :filters (Array<Types::DataRepositoryTaskFilter>) — default: Optional

    You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state.

  • :max_results (Integer)

    The maximum number of resources to return in the response. This value must be an integer greater than zero.

  • :next_token (String) — default: Optional

    Opaque pagination token returned from a previous operation (String). If present, this token indicates from what point you can continue processing the request, where the previous NextToken value left off.

Returns:

See Also:



2877
2878
2879
2880
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2877

def describe_data_repository_tasks(params = {}, options = {})
  req = build_request(:describe_data_repository_tasks, params)
  req.send_request(options)
end

#describe_file_system_aliases(params = {}) ⇒ Types::DescribeFileSystemAliasesResponse

Returns the DNS aliases that are associated with the specified Amazon FSx for Windows File Server file system. A history of all DNS aliases that have been associated with and disassociated from the file system is available in the list of AdministrativeAction provided in the DescribeFileSystems operation response.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_file_system_aliases({
  client_request_token: "ClientRequestToken",
  file_system_id: "FileSystemId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.aliases #=> Array
resp.aliases[0].name #=> String
resp.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :file_system_id (required, String)

    The ID of the file system to return the associated DNS aliases for (String).

  • :max_results (Integer)

    Maximum number of DNS aliases to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

  • :next_token (String)

    Opaque pagination token returned from a previous DescribeFileSystemAliases operation (String). If a token is included in the request, the action continues the list from where the previous returning call left off.

Returns:

See Also:



2941
2942
2943
2944
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 2941

def describe_file_system_aliases(params = {}, options = {})
  req = build_request(:describe_file_system_aliases, params)
  req.send_request(options)
end

#describe_file_systems(params = {}) ⇒ Types::DescribeFileSystemsResponse

Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

  • The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multicall iteration is unspecified.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: To describe an Amazon FSx file system


# This operation describes all of the Amazon FSx file systems in an account.

resp = client.describe_file_systems({
})

resp.to_h outputs the following:
{
  file_systems: [
    {
      creation_time: Time.parse("1481841524.0"), 
      dns_name: "fs-0498eed5fe91001ec.fsx.com", 
      file_system_id: "fs-0498eed5fe91001ec", 
      kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6", 
      lifecycle: "AVAILABLE", 
      network_interface_ids: [
        "eni-abcd1234", 
      ], 
      owner_id: "012345678912", 
      resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
      storage_capacity: 300, 
      subnet_ids: [
        "subnet-1234abcd", 
      ], 
      tags: [
        {
          key: "Name", 
          value: "MyFileSystem", 
        }, 
      ], 
      vpc_id: "vpc-ab1234cd", 
      windows_configuration: {
        active_directory_id: "d-1234abcd12", 
        automatic_backup_retention_days: 30, 
        daily_automatic_backup_start_time: "05:00", 
        throughput_capacity: 8, 
        weekly_maintenance_start_time: "1:05:00", 
      }, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_file_systems({
  file_system_ids: ["FileSystemId"],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.file_systems #=> Array
resp.file_systems[0].owner_id #=> String
resp.file_systems[0].creation_time #=> Time
resp.file_systems[0].file_system_id #=> String
resp.file_systems[0].file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.file_systems[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.file_systems[0].failure_details.message #=> String
resp.file_systems[0].storage_capacity #=> Integer
resp.file_systems[0].storage_type #=> String, one of "SSD", "HDD"
resp.file_systems[0].vpc_id #=> String
resp.file_systems[0].subnet_ids #=> Array
resp.file_systems[0].subnet_ids[0] #=> String
resp.file_systems[0].network_interface_ids #=> Array
resp.file_systems[0].network_interface_ids[0] #=> String
resp.file_systems[0].dns_name #=> String
resp.file_systems[0].kms_key_id #=> String
resp.file_systems[0].resource_arn #=> String
resp.file_systems[0].tags #=> Array
resp.file_systems[0].tags[0].key #=> String
resp.file_systems[0].tags[0].value #=> String
resp.file_systems[0].windows_configuration.active_directory_id #=> String
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.file_systems[0].windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.file_systems[0].windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.file_systems[0].windows_configuration.remote_administration_endpoint #=> String
resp.file_systems[0].windows_configuration.preferred_subnet_id #=> String
resp.file_systems[0].windows_configuration.preferred_file_server_ip #=> String
resp.file_systems[0].windows_configuration.throughput_capacity #=> Integer
resp.file_systems[0].windows_configuration.maintenance_operations_in_progress #=> Array
resp.file_systems[0].windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.file_systems[0].windows_configuration.weekly_maintenance_start_time #=> String
resp.file_systems[0].windows_configuration.daily_automatic_backup_start_time #=> String
resp.file_systems[0].windows_configuration.automatic_backup_retention_days #=> Integer
resp.file_systems[0].windows_configuration.copy_tags_to_backups #=> Boolean
resp.file_systems[0].windows_configuration.aliases #=> Array
resp.file_systems[0].windows_configuration.aliases[0].name #=> String
resp.file_systems[0].windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.file_systems[0].windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_systems[0].windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_systems[0].windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.file_systems[0].lustre_configuration.weekly_maintenance_start_time #=> String
resp.file_systems[0].lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.file_systems[0].lustre_configuration.data_repository_configuration.import_path #=> String
resp.file_systems[0].lustre_configuration.data_repository_configuration.export_path #=> String
resp.file_systems[0].lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.file_systems[0].lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.file_systems[0].lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.file_systems[0].lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.file_systems[0].lustre_configuration.per_unit_storage_throughput #=> Integer
resp.file_systems[0].lustre_configuration.mount_name #=> String
resp.file_systems[0].lustre_configuration.daily_automatic_backup_start_time #=> String
resp.file_systems[0].lustre_configuration.automatic_backup_retention_days #=> Integer
resp.file_systems[0].lustre_configuration.copy_tags_to_backups #=> Boolean
resp.file_systems[0].lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.file_systems[0].lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.file_systems[0].administrative_actions #=> Array
resp.file_systems[0].administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.file_systems[0].administrative_actions[0].progress_percent #=> Integer
resp.file_systems[0].administrative_actions[0].request_time #=> Time
resp.file_systems[0].administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.file_systems[0].administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.file_systems[0].administrative_actions[0].failure_details.message #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.creation_time #=> Time
resp.file_systems[0].administrative_actions[0].target_volume_values.file_system_id #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.file_systems[0].administrative_actions[0].target_volume_values.name #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.file_systems[0].administrative_actions[0].target_volume_values.resource_arn #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.tags #=> Array
resp.file_systems[0].administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.volume_id #=> String
resp.file_systems[0].administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.file_systems[0].administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.file_systems[0].ontap_configuration.automatic_backup_retention_days #=> Integer
resp.file_systems[0].ontap_configuration.daily_automatic_backup_start_time #=> String
resp.file_systems[0].ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.file_systems[0].ontap_configuration.endpoint_ip_address_range #=> String
resp.file_systems[0].ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.file_systems[0].ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.file_systems[0].ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.file_systems[0].ontap_configuration.endpoints.management.dns_name #=> String
resp.file_systems[0].ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.file_systems[0].ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.file_systems[0].ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.file_systems[0].ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.file_systems[0].ontap_configuration.preferred_subnet_id #=> String
resp.file_systems[0].ontap_configuration.route_table_ids #=> Array
resp.file_systems[0].ontap_configuration.route_table_ids[0] #=> String
resp.file_systems[0].ontap_configuration.throughput_capacity #=> Integer
resp.file_systems[0].ontap_configuration.weekly_maintenance_start_time #=> String
resp.file_systems[0].file_system_type_version #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :file_system_ids (Array<String>)

    IDs of the file systems whose descriptions you want to retrieve (String).

  • :max_results (Integer)

    Maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

  • :next_token (String)

    Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the action continues the list from where the returning call left off.

Returns:

See Also:



3163
3164
3165
3166
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3163

def describe_file_systems(params = {}, options = {})
  req = build_request(:describe_file_systems, params)
  req.send_request(options)
end

#describe_storage_virtual_machines(params = {}) ⇒ Types::DescribeStorageVirtualMachinesResponse

Describes one or more Amazon FSx for NetApp ONTAP storage virtual machines (SVMs).

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_storage_virtual_machines({
  storage_virtual_machine_ids: ["StorageVirtualMachineId"],
  filters: [
    {
      name: "file-system-id", # accepts file-system-id
      values: ["StorageVirtualMachineFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.storage_virtual_machines #=> Array
resp.storage_virtual_machines[0].active_directory_configuration.net_bios_name #=> String
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.storage_virtual_machines[0].active_directory_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.storage_virtual_machines[0].creation_time #=> Time
resp.storage_virtual_machines[0].endpoints.iscsi.dns_name #=> String
resp.storage_virtual_machines[0].endpoints.iscsi.ip_addresses #=> Array
resp.storage_virtual_machines[0].endpoints.iscsi.ip_addresses[0] #=> String
resp.storage_virtual_machines[0].endpoints.management.dns_name #=> String
resp.storage_virtual_machines[0].endpoints.management.ip_addresses #=> Array
resp.storage_virtual_machines[0].endpoints.management.ip_addresses[0] #=> String
resp.storage_virtual_machines[0].endpoints.nfs.dns_name #=> String
resp.storage_virtual_machines[0].endpoints.nfs.ip_addresses #=> Array
resp.storage_virtual_machines[0].endpoints.nfs.ip_addresses[0] #=> String
resp.storage_virtual_machines[0].endpoints.smb.dns_name #=> String
resp.storage_virtual_machines[0].endpoints.smb.ip_addresses #=> Array
resp.storage_virtual_machines[0].endpoints.smb.ip_addresses[0] #=> String
resp.storage_virtual_machines[0].file_system_id #=> String
resp.storage_virtual_machines[0].lifecycle #=> String, one of "CREATED", "CREATING", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.storage_virtual_machines[0].name #=> String
resp.storage_virtual_machines[0].resource_arn #=> String
resp.storage_virtual_machines[0].storage_virtual_machine_id #=> String
resp.storage_virtual_machines[0].subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
resp.storage_virtual_machines[0].uuid #=> String
resp.storage_virtual_machines[0].tags #=> Array
resp.storage_virtual_machines[0].tags[0].key #=> String
resp.storage_virtual_machines[0].tags[0].value #=> String
resp.storage_virtual_machines[0].lifecycle_transition_reason.message #=> String
resp.storage_virtual_machines[0].root_volume_security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :storage_virtual_machine_ids (Array<String>)

    Enter the ID of one or more SVMs that you want to view.

  • :filters (Array<Types::StorageVirtualMachineFilter>)

    Enter a filter name:value pair to view a select set of SVMs.

  • :max_results (Integer)

    The maximum number of resources to return in the response. This value must be an integer greater than zero.

  • :next_token (String) — default: Optional

    Opaque pagination token returned from a previous operation (String). If present, this token indicates from what point you can continue processing the request, where the previous NextToken value left off.

Returns:

See Also:



3249
3250
3251
3252
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3249

def describe_storage_virtual_machines(params = {}, options = {})
  req = build_request(:describe_storage_virtual_machines, params)
  req.send_request(options)
end

#describe_volumes(params = {}) ⇒ Types::DescribeVolumesResponse

Describes one or more Amazon FSx for NetApp ONTAP volumes.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_volumes({
  volume_ids: ["VolumeId"],
  filters: [
    {
      name: "file-system-id", # accepts file-system-id, storage-virtual-machine-id
      values: ["VolumeFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.volumes #=> Array
resp.volumes[0].creation_time #=> Time
resp.volumes[0].file_system_id #=> String
resp.volumes[0].lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.volumes[0].name #=> String
resp.volumes[0].ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.volumes[0].ontap_configuration.junction_path #=> String
resp.volumes[0].ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.volumes[0].ontap_configuration.size_in_megabytes #=> Integer
resp.volumes[0].ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.volumes[0].ontap_configuration.storage_virtual_machine_id #=> String
resp.volumes[0].ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.volumes[0].ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.volumes[0].ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.volumes[0].ontap_configuration.uuid #=> String
resp.volumes[0].ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.volumes[0].resource_arn #=> String
resp.volumes[0].tags #=> Array
resp.volumes[0].tags[0].key #=> String
resp.volumes[0].tags[0].value #=> String
resp.volumes[0].volume_id #=> String
resp.volumes[0].volume_type #=> String, one of "ONTAP"
resp.volumes[0].lifecycle_transition_reason.message #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :volume_ids (Array<String>)

    IDs of the volumes whose descriptions you want to retrieve.

  • :filters (Array<Types::VolumeFilter>)

    Enter a filter name:value pair to view a select set of volumes.

  • :max_results (Integer)

    The maximum number of resources to return in the response. This value must be an integer greater than zero.

  • :next_token (String) — default: Optional

    Opaque pagination token returned from a previous operation (String). If present, this token indicates from what point you can continue processing the request, where the previous NextToken value left off.

Returns:

See Also:



3324
3325
3326
3327
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3324

def describe_volumes(params = {}, options = {})
  req = build_request(:describe_volumes, params)
  req.send_request(options)
end

#disassociate_file_system_aliases(params = {}) ⇒ Types::DisassociateFileSystemAliasesResponse

Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not associated with the file system, Amazon FSx responds with a 400 Bad Request. For more information, see Working with DNS Aliases.

The system generated response showing the DNS aliases that Amazon FSx is attempting to disassociate from the file system. Use the API operation to monitor the status of the aliases Amazon FSx is disassociating with the file system.

Examples:

Request syntax with placeholder values


resp = client.disassociate_file_system_aliases({
  client_request_token: "ClientRequestToken",
  file_system_id: "FileSystemId", # required
  aliases: ["AlternateDNSName"], # required
})

Response structure


resp.aliases #=> Array
resp.aliases[0].name #=> String
resp.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :file_system_id (required, String)

    Specifies the file system from which to disassociate the DNS aliases.

  • :aliases (required, Array<String>)

    An array of one or more DNS alias names to disassociate, or remove, from the file system.

Returns:

See Also:



3382
3383
3384
3385
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3382

def disassociate_file_system_aliases(params = {}, options = {})
  req = build_request(:disassociate_file_system_aliases, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Lists tags for an Amazon FSx file systems and backups in the case of Amazon FSx for Windows File Server.

When retrieving all tags, you can optionally specify the MaxResults parameter to limit the number of tags in a response. If more tags remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your tags. ListTagsForResource is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

  • The order of tags returned in the response of one ListTagsForResource call and the order of tags returned across the responses of a multi-call iteration is unspecified.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: To list tags for a resource


# This operation lists tags for an Amazon FSx resource.

resp = client.list_tags_for_resource({
  resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
})

resp.to_h outputs the following:
{
  tags: [
    {
      key: "Name", 
      value: "MyFileSystem", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "ResourceARN", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ARN of the Amazon FSx resource that will have its tags listed.

  • :max_results (Integer)

    Maximum number of tags to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

  • :next_token (String)

    Opaque pagination token returned from a previous ListTagsForResource operation (String). If a token present, the action continues the list from where the returning call left off.

Returns:

See Also:



3471
3472
3473
3474
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3471

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Tags an Amazon FSx resource.

Examples:

Example: To tag a resource


# This operation tags an Amazon FSx resource.

resp = client.tag_resource({
  resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
  tags: [
    {
      key: "Name", 
      value: "MyFileSystem", 
    }, 
  ], 
})

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "ResourceARN", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to tag.

  • :tags (required, Array<Types::Tag>)

    A list of tags for the resource. If a tag with a given key already exists, the value is replaced by the one specified in this parameter.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3519
3520
3521
3522
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3519

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

This action removes a tag from an Amazon FSx resource.

Examples:

Example: To untag a resource


# This operation untags an Amazon FSx resource.

resp = client.untag_resource({
  resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
  tag_keys: [
    "Name", 
  ], 
})

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "ResourceARN", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ARN of the Amazon FSx resource to untag.

  • :tag_keys (required, Array<String>)

    A list of keys of tags on the resource to untag. In case the tag key doesn't exist, the call will still succeed to be idempotent.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3558
3559
3560
3561
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3558

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_file_system(params = {}) ⇒ Types::UpdateFileSystemResponse

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For Amazon FSx for Windows File Server file systems, you can update the following properties:

  • AuditLogConfiguration

  • AutomaticBackupRetentionDays

  • DailyAutomaticBackupStartTime

  • SelfManagedActiveDirectoryConfiguration

  • StorageCapacity

  • ThroughputCapacity

  • WeeklyMaintenanceStartTime

For Amazon FSx for Lustre file systems, you can update the following properties:

  • AutoImportPolicy

  • AutomaticBackupRetentionDays

  • DailyAutomaticBackupStartTime

  • DataCompressionType

  • StorageCapacity

  • WeeklyMaintenanceStartTime

For Amazon FSx for NetApp ONTAP file systems, you can update the following properties:

  • AutomaticBackupRetentionDays

  • DailyAutomaticBackupStartTime

  • FsxAdminPassword

  • WeeklyMaintenanceStartTime

Examples:

Example: To update an existing file system


# This operation updates an existing file system.

resp = client.update_file_system({
  file_system_id: "fs-0498eed5fe91001ec", 
  windows_configuration: {
    automatic_backup_retention_days: 10, 
    daily_automatic_backup_start_time: "06:00", 
    weekly_maintenance_start_time: "3:06:00", 
  }, 
})

resp.to_h outputs the following:
{
  file_system: {
    creation_time: Time.parse("1481841524.0"), 
    dns_name: "fs-0498eed5fe91001ec.fsx.com", 
    file_system_id: "fs-0498eed5fe91001ec", 
    kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6", 
    lifecycle: "AVAILABLE", 
    owner_id: "012345678912", 
    resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec", 
    storage_capacity: 300, 
    subnet_ids: [
      "subnet-1234abcd", 
    ], 
    tags: [
      {
        key: "Name", 
        value: "MyFileSystem", 
      }, 
    ], 
    vpc_id: "vpc-ab1234cd", 
    windows_configuration: {
      automatic_backup_retention_days: 10, 
      daily_automatic_backup_start_time: "06:00", 
      throughput_capacity: 8, 
      weekly_maintenance_start_time: "3:06:00", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.update_file_system({
  file_system_id: "FileSystemId", # required
  client_request_token: "ClientRequestToken",
  storage_capacity: 1,
  windows_configuration: {
    weekly_maintenance_start_time: "WeeklyTime",
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    throughput_capacity: 1,
    self_managed_active_directory_configuration: {
      user_name: "DirectoryUserName",
      password: "DirectoryPassword",
      dns_ips: ["IpAddress"],
    },
    audit_log_configuration: {
      file_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      file_share_access_audit_log_level: "DISABLED", # required, accepts DISABLED, SUCCESS_ONLY, FAILURE_ONLY, SUCCESS_AND_FAILURE
      audit_log_destination: "GeneralARN",
    },
  },
  lustre_configuration: {
    weekly_maintenance_start_time: "WeeklyTime",
    daily_automatic_backup_start_time: "DailyTime",
    automatic_backup_retention_days: 1,
    auto_import_policy: "NONE", # accepts NONE, NEW, NEW_CHANGED
    data_compression_type: "NONE", # accepts NONE, LZ4
  },
  ontap_configuration: {
    automatic_backup_retention_days: 1,
    daily_automatic_backup_start_time: "DailyTime",
    fsx_admin_password: "AdminPassword",
    weekly_maintenance_start_time: "WeeklyTime",
  },
})

Response structure


resp.file_system.owner_id #=> String
resp.file_system.creation_time #=> Time
resp.file_system.file_system_id #=> String
resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE", "ONTAP"
resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
resp.file_system.failure_details.message #=> String
resp.file_system.storage_capacity #=> Integer
resp.file_system.storage_type #=> String, one of "SSD", "HDD"
resp.file_system.vpc_id #=> String
resp.file_system.subnet_ids #=> Array
resp.file_system.subnet_ids[0] #=> String
resp.file_system.network_interface_ids #=> Array
resp.file_system.network_interface_ids[0] #=> String
resp.file_system.dns_name #=> String
resp.file_system.kms_key_id #=> String
resp.file_system.resource_arn #=> String
resp.file_system.tags #=> Array
resp.file_system.tags[0].key #=> String
resp.file_system.tags[0].value #=> String
resp.file_system.windows_configuration.active_directory_id #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
resp.file_system.windows_configuration.remote_administration_endpoint #=> String
resp.file_system.windows_configuration.preferred_subnet_id #=> String
resp.file_system.windows_configuration.preferred_file_server_ip #=> String
resp.file_system.windows_configuration.throughput_capacity #=> Integer
resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.windows_configuration.aliases #=> Array
resp.file_system.windows_configuration.aliases[0].name #=> String
resp.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
resp.file_system.windows_configuration.audit_log_configuration.file_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.file_share_access_audit_log_level #=> String, one of "DISABLED", "SUCCESS_ONLY", "FAILURE_ONLY", "SUCCESS_AND_FAILURE"
resp.file_system.windows_configuration.audit_log_configuration.audit_log_destination #=> String
resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
resp.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
resp.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
resp.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
resp.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
resp.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
resp.file_system.lustre_configuration.mount_name #=> String
resp.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
resp.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
resp.file_system.lustre_configuration.data_compression_type #=> String, one of "NONE", "LZ4"
resp.file_system.administrative_actions #=> Array
resp.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION"
resp.file_system.administrative_actions[0].progress_percent #=> Integer
resp.file_system.administrative_actions[0].request_time #=> Time
resp.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
resp.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
resp.file_system.administrative_actions[0].failure_details.message #=> String
resp.file_system.administrative_actions[0].target_volume_values.creation_time #=> Time
resp.file_system.administrative_actions[0].target_volume_values.file_system_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.file_system.administrative_actions[0].target_volume_values.name #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.junction_path #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.size_in_megabytes #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.uuid #=> String
resp.file_system.administrative_actions[0].target_volume_values.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.file_system.administrative_actions[0].target_volume_values.resource_arn #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags #=> Array
resp.file_system.administrative_actions[0].target_volume_values.tags[0].key #=> String
resp.file_system.administrative_actions[0].target_volume_values.tags[0].value #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_id #=> String
resp.file_system.administrative_actions[0].target_volume_values.volume_type #=> String, one of "ONTAP"
resp.file_system.administrative_actions[0].target_volume_values.lifecycle_transition_reason.message #=> String
resp.file_system.ontap_configuration.automatic_backup_retention_days #=> Integer
resp.file_system.ontap_configuration.daily_automatic_backup_start_time #=> String
resp.file_system.ontap_configuration.deployment_type #=> String, one of "MULTI_AZ_1"
resp.file_system.ontap_configuration.endpoint_ip_address_range #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.intercluster.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.endpoints.management.dns_name #=> String
resp.file_system.ontap_configuration.endpoints.management.ip_addresses #=> Array
resp.file_system.ontap_configuration.endpoints.management.ip_addresses[0] #=> String
resp.file_system.ontap_configuration.disk_iops_configuration.mode #=> String, one of "AUTOMATIC", "USER_PROVISIONED"
resp.file_system.ontap_configuration.disk_iops_configuration.iops #=> Integer
resp.file_system.ontap_configuration.preferred_subnet_id #=> String
resp.file_system.ontap_configuration.route_table_ids #=> Array
resp.file_system.ontap_configuration.route_table_ids[0] #=> String
resp.file_system.ontap_configuration.throughput_capacity #=> Integer
resp.file_system.ontap_configuration.weekly_maintenance_start_time #=> String
resp.file_system.file_system_type_version #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :file_system_id (required, String)

    Identifies the file system that you are updating.

  • :client_request_token (String)

    A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent updates. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :storage_capacity (Integer)

    Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server or Amazon FSx for Lustre file system. Specifies the storage capacity target value, GiB, to increase the storage capacity for the file system that you're updating. You cannot make a storage capacity increase request if there is an existing storage capacity increase request in progress.

    For Windows file systems, the storage capacity target value must be at least 10 percent (%) greater than the current storage capacity value. In order to increase storage capacity, the file system must have at least 16 MB/s of throughput capacity.

    For Lustre file systems, the storage capacity target value can be the following:

    • For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are in multiples of 2400 GiB. The value must be greater than the current storage capacity.

    • For PERSISTENT HDD file systems, valid values are multiples of 6000 GiB for 12 MB/s/TiB file systems and multiples of 1800 GiB for 40 MB/s/TiB file systems. The values must be greater than the current storage capacity.

    • For SCRATCH_1 file systems, you cannot increase the storage capacity.

    For more information, see Managing storage capacity in the Amazon FSx for Windows File Server User Guide and Managing storage and throughput capacity in the Amazon FSx for Lustre User Guide.

  • :windows_configuration (Types::UpdateFileSystemWindowsConfiguration)

    The configuration updates for an Amazon FSx for Windows File Server file system.

  • :lustre_configuration (Types::UpdateFileSystemLustreConfiguration)

    The configuration object for Amazon FSx for Lustre file systems used in the UpdateFileSystem operation.

  • :ontap_configuration (Types::UpdateFileSystemOntapConfiguration)

    The configuration updates for an Amazon FSx for NetApp ONTAP file system.

Returns:

See Also:



3868
3869
3870
3871
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3868

def update_file_system(params = {}, options = {})
  req = build_request(:update_file_system, params)
  req.send_request(options)
end

#update_storage_virtual_machine(params = {}) ⇒ Types::UpdateStorageVirtualMachineResponse

Updates an Amazon FSx for ONTAP storage virtual machine (SVM).

Examples:

Request syntax with placeholder values


resp = client.update_storage_virtual_machine({
  active_directory_configuration: {
    self_managed_active_directory_configuration: {
      user_name: "DirectoryUserName",
      password: "DirectoryPassword",
      dns_ips: ["IpAddress"],
    },
  },
  client_request_token: "ClientRequestToken",
  storage_virtual_machine_id: "StorageVirtualMachineId", # required
  svm_admin_password: "AdminPassword",
})

Response structure


resp.storage_virtual_machine.active_directory_configuration.net_bios_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.domain_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.user_name #=> String
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
resp.storage_virtual_machine.active_directory_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
resp.storage_virtual_machine.creation_time #=> Time
resp.storage_virtual_machine.endpoints.iscsi.dns_name #=> String
resp.storage_virtual_machine.endpoints.iscsi.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.iscsi.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.management.dns_name #=> String
resp.storage_virtual_machine.endpoints.management.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.management.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.nfs.dns_name #=> String
resp.storage_virtual_machine.endpoints.nfs.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.nfs.ip_addresses[0] #=> String
resp.storage_virtual_machine.endpoints.smb.dns_name #=> String
resp.storage_virtual_machine.endpoints.smb.ip_addresses #=> Array
resp.storage_virtual_machine.endpoints.smb.ip_addresses[0] #=> String
resp.storage_virtual_machine.file_system_id #=> String
resp.storage_virtual_machine.lifecycle #=> String, one of "CREATED", "CREATING", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.storage_virtual_machine.name #=> String
resp.storage_virtual_machine.resource_arn #=> String
resp.storage_virtual_machine.storage_virtual_machine_id #=> String
resp.storage_virtual_machine.subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
resp.storage_virtual_machine.uuid #=> String
resp.storage_virtual_machine.tags #=> Array
resp.storage_virtual_machine.tags[0].key #=> String
resp.storage_virtual_machine.tags[0].value #=> String
resp.storage_virtual_machine.lifecycle_transition_reason.message #=> String
resp.storage_virtual_machine.root_volume_security_style #=> String, one of "UNIX", "NTFS", "MIXED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :active_directory_configuration (Types::UpdateSvmActiveDirectoryConfiguration)

    Updates the Microsoft Active Directory (AD) configuration for an SVM that is joined to an AD.

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :storage_virtual_machine_id (required, String)

    The ID of the SVM that you want to update, in the format svm-0123456789abcdef0.

  • :svm_admin_password (String)

    Enter a new SvmAdminPassword if you are updating it.

Returns:

See Also:



3953
3954
3955
3956
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 3953

def update_storage_virtual_machine(params = {}, options = {})
  req = build_request(:update_storage_virtual_machine, params)
  req.send_request(options)
end

#update_volume(params = {}) ⇒ Types::UpdateVolumeResponse

Updates an Amazon FSx for NetApp ONTAP volume's configuration.

Examples:

Request syntax with placeholder values


resp = client.update_volume({
  client_request_token: "ClientRequestToken",
  volume_id: "VolumeId", # required
  ontap_configuration: {
    junction_path: "JunctionPath",
    security_style: "UNIX", # accepts UNIX, NTFS, MIXED
    size_in_megabytes: 1,
    storage_efficiency_enabled: false,
    tiering_policy: {
      cooling_period: 1,
      name: "SNAPSHOT_ONLY", # accepts SNAPSHOT_ONLY, AUTO, ALL, NONE
    },
  },
})

Response structure


resp.volume.creation_time #=> Time
resp.volume.file_system_id #=> String
resp.volume.lifecycle #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED", "MISCONFIGURED", "PENDING"
resp.volume.name #=> String
resp.volume.ontap_configuration.flex_cache_endpoint_type #=> String, one of "NONE", "ORIGIN", "CACHE"
resp.volume.ontap_configuration.junction_path #=> String
resp.volume.ontap_configuration.security_style #=> String, one of "UNIX", "NTFS", "MIXED"
resp.volume.ontap_configuration.size_in_megabytes #=> Integer
resp.volume.ontap_configuration.storage_efficiency_enabled #=> Boolean
resp.volume.ontap_configuration.storage_virtual_machine_id #=> String
resp.volume.ontap_configuration.storage_virtual_machine_root #=> Boolean
resp.volume.ontap_configuration.tiering_policy.cooling_period #=> Integer
resp.volume.ontap_configuration.tiering_policy.name #=> String, one of "SNAPSHOT_ONLY", "AUTO", "ALL", "NONE"
resp.volume.ontap_configuration.uuid #=> String
resp.volume.ontap_configuration.ontap_volume_type #=> String, one of "RW", "DP", "LS"
resp.volume.resource_arn #=> String
resp.volume.tags #=> Array
resp.volume.tags[0].key #=> String
resp.volume.tags[0].value #=> String
resp.volume.volume_id #=> String
resp.volume.volume_type #=> String, one of "ONTAP"
resp.volume.lifecycle_transition_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_request_token (String) — default: Optional

    An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :volume_id (required, String)

    Specifies the volume that you want to update, formatted fsvol-0123456789abcdef0.

  • :ontap_configuration (Types::UpdateOntapVolumeConfiguration)

    The ONTAP configuration of the volume you are updating.

Returns:

See Also:



4026
4027
4028
4029
# File 'gems/aws-sdk-fsx/lib/aws-sdk-fsx/client.rb', line 4026

def update_volume(params = {}, options = {})
  req = build_request(:update_volume, params)
  req.send_request(options)
end