class OCI::Core::BlockstorageClient

API covering the [Networking](/iaas/Content/Network/Concepts/overview.htm), [Compute](/iaas/Content/Compute/Concepts/computeoverview.htm), and [Block Volume](/iaas/Content/Block/Concepts/overview.htm) services. Use this API to manage resources such as virtual cloud networks (VCNs), compute instances, and block storage volumes.

Attributes

api_client[R]

Client used to make HTTP requests. @return [OCI::ApiClient]

endpoint[R]

Fully qualified endpoint URL @return [String]

region[R]

The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}. @return [String]

retry_config[R]

The default retry configuration to apply to all operations in this service client. This can be overridden on a per-operation basis. The default retry configuration value is `nil`, which means that an operation will not perform any retries @return [OCI::Retry::RetryConfig]

Public Class Methods

new(config: nil, region: nil, endpoint: nil, signer: nil, proxy_settings: nil, retry_config: nil) click to toggle source

Creates a new BlockstorageClient. Notes:

If a config is not specified, then the global OCI.config will be used.

This client is not thread-safe

Either a region or an endpoint must be specified.  If an endpoint is specified, it will be used instead of the
  region. A region may be specified in the config or via or the region parameter. If specified in both, then the
  region parameter will be used.

@param [Config] config A Config object. @param [String] region A region used to determine the service endpoint. This will usually

correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.

@param [String] endpoint The fully qualified endpoint URL @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then

a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
so that the instance principals signer can be provided to the client

@param [OCI::ApiClientProxySettings] proxy_settings If your environment requires you to use a proxy server for outgoing HTTP requests

the details for the proxy can be provided in this parameter

@param [OCI::Retry::RetryConfig] retry_config The retry configuration for this service client. This represents the default retry configuration to

apply across all operations. This can be overridden on a per-operation basis. The default retry configuration value is `nil`, which means that an operation
will not perform any retries
# File lib/oci/core/blockstorage_client.rb, line 57
def initialize(config: nil, region: nil, endpoint: nil, signer: nil, proxy_settings: nil, retry_config: nil)
  # If the signer is an InstancePrincipalsSecurityTokenSigner or SecurityTokenSigner and no config was supplied (they are self-sufficient signers)
  # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
  # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
  # pass it to this constructor.
  #
  # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
  # so try and load the config from the default file.
  config = OCI::Config.validate_and_build_config_with_signer(config, signer)

  signer = OCI::Signer.config_file_auth_builder(config) if signer.nil?

  @api_client = OCI::ApiClient.new(config, signer, proxy_settings: proxy_settings)
  @retry_config = retry_config

  if endpoint
    @endpoint = endpoint + '/20160918'
  else
    region ||= config.region
    region ||= signer.region if signer.respond_to?(:region)
    self.region = region
  end
  logger.info "BlockstorageClient endpoint set to '#{@endpoint}'." if logger
end

Public Instance Methods

change_boot_volume_backup_compartment(boot_volume_backup_id, change_boot_volume_backup_compartment_details, opts = {}) click to toggle source

Moves a boot volume backup into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] boot_volume_backup_id The OCID of the boot volume backup. @param [OCI::Core::Models::ChangeBootVolumeBackupCompartmentDetails] change_boot_volume_backup_compartment_details Request to change the compartment of given boot volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_boot_volume_backup_compartment.rb.html) to see an example of how to use change_boot_volume_backup_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 119
def change_boot_volume_backup_compartment(boot_volume_backup_id, change_boot_volume_backup_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_boot_volume_backup_compartment.' if logger

  raise "Missing the required parameter 'boot_volume_backup_id' when calling change_boot_volume_backup_compartment." if boot_volume_backup_id.nil?
  raise "Missing the required parameter 'change_boot_volume_backup_compartment_details' when calling change_boot_volume_backup_compartment." if change_boot_volume_backup_compartment_details.nil?
  raise "Parameter value for 'boot_volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_backup_id)

  path = '/bootVolumeBackups/{bootVolumeBackupId}/actions/changeCompartment'.sub('{bootVolumeBackupId}', boot_volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_boot_volume_backup_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_boot_volume_backup_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
change_boot_volume_compartment(boot_volume_id, change_boot_volume_compartment_details, opts = {}) click to toggle source

Moves a boot volume into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] boot_volume_id The OCID of the boot volume. @param [OCI::Core::Models::ChangeBootVolumeCompartmentDetails] change_boot_volume_compartment_details Request to change the compartment of given boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_boot_volume_compartment.rb.html) to see an example of how to use change_boot_volume_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 179
def change_boot_volume_compartment(boot_volume_id, change_boot_volume_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_boot_volume_compartment.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling change_boot_volume_compartment." if boot_volume_id.nil?
  raise "Missing the required parameter 'change_boot_volume_compartment_details' when calling change_boot_volume_compartment." if change_boot_volume_compartment_details.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}/actions/changeCompartment'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_boot_volume_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_boot_volume_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
change_volume_backup_compartment(volume_backup_id, change_volume_backup_compartment_details, opts = {}) click to toggle source

Moves a volume backup into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] volume_backup_id The OCID of the volume backup. @param [OCI::Core::Models::ChangeVolumeBackupCompartmentDetails] change_volume_backup_compartment_details Request to change the compartment of given volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_volume_backup_compartment.rb.html) to see an example of how to use change_volume_backup_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 239
def change_volume_backup_compartment(volume_backup_id, change_volume_backup_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_volume_backup_compartment.' if logger

  raise "Missing the required parameter 'volume_backup_id' when calling change_volume_backup_compartment." if volume_backup_id.nil?
  raise "Missing the required parameter 'change_volume_backup_compartment_details' when calling change_volume_backup_compartment." if change_volume_backup_compartment_details.nil?
  raise "Parameter value for 'volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_backup_id)

  path = '/volumeBackups/{volumeBackupId}/actions/changeCompartment'.sub('{volumeBackupId}', volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_volume_backup_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_volume_backup_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
change_volume_compartment(volume_id, change_volume_compartment_details, opts = {}) click to toggle source

Moves a volume into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] volume_id The OCID of the volume. @param [OCI::Core::Models::ChangeVolumeCompartmentDetails] change_volume_compartment_details Request to change the compartment of given volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_volume_compartment.rb.html) to see an example of how to use change_volume_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 299
def change_volume_compartment(volume_id, change_volume_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_volume_compartment.' if logger

  raise "Missing the required parameter 'volume_id' when calling change_volume_compartment." if volume_id.nil?
  raise "Missing the required parameter 'change_volume_compartment_details' when calling change_volume_compartment." if change_volume_compartment_details.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}/actions/changeCompartment'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_volume_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_volume_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
change_volume_group_backup_compartment(volume_group_backup_id, change_volume_group_backup_compartment_details, opts = {}) click to toggle source

Moves a volume group backup into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] volume_group_backup_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.

@param [OCI::Core::Models::ChangeVolumeGroupBackupCompartmentDetails] change_volume_group_backup_compartment_details Request to change the compartment of given volume group backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_volume_group_backup_compartment.rb.html) to see an example of how to use change_volume_group_backup_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 360
def change_volume_group_backup_compartment(volume_group_backup_id, change_volume_group_backup_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_volume_group_backup_compartment.' if logger

  raise "Missing the required parameter 'volume_group_backup_id' when calling change_volume_group_backup_compartment." if volume_group_backup_id.nil?
  raise "Missing the required parameter 'change_volume_group_backup_compartment_details' when calling change_volume_group_backup_compartment." if change_volume_group_backup_compartment_details.nil?
  raise "Parameter value for 'volume_group_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_backup_id)

  path = '/volumeGroupBackups/{volumeGroupBackupId}/actions/changeCompartment'.sub('{volumeGroupBackupId}', volume_group_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_volume_group_backup_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_volume_group_backup_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
change_volume_group_compartment(volume_group_id, change_volume_group_compartment_details, opts = {}) click to toggle source

Moves a volume group into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] volume_group_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group. @param [OCI::Core::Models::ChangeVolumeGroupCompartmentDetails] change_volume_group_compartment_details Request to change the compartment of given volume group. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/change_volume_group_compartment.rb.html) to see an example of how to use change_volume_group_compartment API.

# File lib/oci/core/blockstorage_client.rb, line 420
def change_volume_group_compartment(volume_group_id, change_volume_group_compartment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#change_volume_group_compartment.' if logger

  raise "Missing the required parameter 'volume_group_id' when calling change_volume_group_compartment." if volume_group_id.nil?
  raise "Missing the required parameter 'change_volume_group_compartment_details' when calling change_volume_group_compartment." if change_volume_group_compartment_details.nil?
  raise "Parameter value for 'volume_group_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_id)

  path = '/volumeGroups/{volumeGroupId}/actions/changeCompartment'.sub('{volumeGroupId}', volume_group_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_volume_group_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#change_volume_group_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
copy_boot_volume_backup(boot_volume_backup_id, copy_boot_volume_backup_details, opts = {}) click to toggle source

Creates a boot volume backup copy in specified region. For general information about volume backups, see [Overview of Boot Volume Backups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/bootvolumebackups.htm)

@param [String] boot_volume_backup_id The OCID of the boot volume backup. @param [OCI::Core::Models::CopyBootVolumeBackupDetails] copy_boot_volume_backup_details Request to create a cross-region copy of given boot volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeBackup BootVolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/copy_boot_volume_backup.rb.html) to see an example of how to use copy_boot_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 485
def copy_boot_volume_backup(boot_volume_backup_id, copy_boot_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#copy_boot_volume_backup.' if logger

  raise "Missing the required parameter 'boot_volume_backup_id' when calling copy_boot_volume_backup." if boot_volume_backup_id.nil?
  raise "Missing the required parameter 'copy_boot_volume_backup_details' when calling copy_boot_volume_backup." if copy_boot_volume_backup_details.nil?
  raise "Parameter value for 'boot_volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_backup_id)

  path = '/bootVolumeBackups/{bootVolumeBackupId}/actions/copy'.sub('{bootVolumeBackupId}', boot_volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(copy_boot_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#copy_boot_volume_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
copy_volume_backup(volume_backup_id, copy_volume_backup_details, opts = {}) click to toggle source

Creates a volume backup copy in specified region. For general information about volume backups, see [Overview of Block Volume Service Backups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/blockvolumebackups.htm)

@param [String] volume_backup_id The OCID of the volume backup. @param [OCI::Core::Models::CopyVolumeBackupDetails] copy_volume_backup_details Request to create a cross-region copy of given backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackup VolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/copy_volume_backup.rb.html) to see an example of how to use copy_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 553
def copy_volume_backup(volume_backup_id, copy_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#copy_volume_backup.' if logger

  raise "Missing the required parameter 'volume_backup_id' when calling copy_volume_backup." if volume_backup_id.nil?
  raise "Missing the required parameter 'copy_volume_backup_details' when calling copy_volume_backup." if copy_volume_backup_details.nil?
  raise "Parameter value for 'volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_backup_id)

  path = '/volumeBackups/{volumeBackupId}/actions/copy'.sub('{volumeBackupId}', volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(copy_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#copy_volume_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
copy_volume_group_backup(volume_group_backup_id, copy_volume_group_backup_details, opts = {}) click to toggle source

Creates a volume group backup copy in specified region. For general information about volume group backups, see [Overview of Block Volume Service Backups](docs.cloud.oracle.com/Content/Block/Concepts/blockvolumebackups.htm)

@param [String] volume_group_backup_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.

@param [OCI::Core::Models::CopyVolumeGroupBackupDetails] copy_volume_group_backup_details Request to create a cross-region copy of given volume group backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroupBackup VolumeGroupBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/copy_volume_group_backup.rb.html) to see an example of how to use copy_volume_group_backup API.

# File lib/oci/core/blockstorage_client.rb, line 622
def copy_volume_group_backup(volume_group_backup_id, copy_volume_group_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#copy_volume_group_backup.' if logger

  raise "Missing the required parameter 'volume_group_backup_id' when calling copy_volume_group_backup." if volume_group_backup_id.nil?
  raise "Missing the required parameter 'copy_volume_group_backup_details' when calling copy_volume_group_backup." if copy_volume_group_backup_details.nil?
  raise "Parameter value for 'volume_group_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_backup_id)

  path = '/volumeGroupBackups/{volumeGroupBackupId}/actions/copy'.sub('{volumeGroupBackupId}', volume_group_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(copy_volume_group_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#copy_volume_group_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroupBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_boot_volume(create_boot_volume_details, opts = {}) click to toggle source

Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes](docs.cloud.oracle.com/iaas/Content/Block/Concepts/bootvolumes.htm). You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information.

@param [OCI::Core::Models::CreateBootVolumeDetails] create_boot_volume_details Request to create a new boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolume BootVolume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_boot_volume.rb.html) to see an example of how to use create_boot_volume API.

# File lib/oci/core/blockstorage_client.rb, line 688
def create_boot_volume(create_boot_volume_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_boot_volume.' if logger

  raise "Missing the required parameter 'create_boot_volume_details' when calling create_boot_volume." if create_boot_volume_details.nil?

  path = '/bootVolumes'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_boot_volume_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_boot_volume') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_boot_volume_backup(create_boot_volume_backup_details, opts = {}) click to toggle source

Creates a new boot volume backup of the specified boot volume. For general information about boot volume backups, see [Overview of Boot Volume Backups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/bootvolumebackups.htm)

When the request is received, the backup object is in a REQUEST_RECEIVED state. When the data is imaged, it goes into a CREATING state. After the backup is fully uploaded to the cloud, it goes into an AVAILABLE state.

@param [OCI::Core::Models::CreateBootVolumeBackupDetails] create_boot_volume_backup_details Request to create a new backup of given boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeBackup BootVolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_boot_volume_backup.rb.html) to see an example of how to use create_boot_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 753
def create_boot_volume_backup(create_boot_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_boot_volume_backup.' if logger

  raise "Missing the required parameter 'create_boot_volume_backup_details' when calling create_boot_volume_backup." if create_boot_volume_backup_details.nil?

  path = '/bootVolumeBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_boot_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_boot_volume_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume(create_volume_details, opts = {}) click to toggle source

Creates a new volume in the specified compartment. Volumes can be created in sizes ranging from 50 GB (51200 MB) to 32 TB (33554432 MB), in 1 GB (1024 MB) increments. By default, volumes are 1 TB (1048576 MB). For general information about block volumes, see [Overview of Block Volume Service](docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm).

A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service](docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about availability domains, see [Regions and Availability Domains](docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm). To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.

You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information.

@param [OCI::Core::Models::CreateVolumeDetails] create_volume_details Request to create a new volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::Volume Volume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume.rb.html) to see an example of how to use create_volume API.

# File lib/oci/core/blockstorage_client.rb, line 826
def create_volume(create_volume_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume.' if logger

  raise "Missing the required parameter 'create_volume_details' when calling create_volume." if create_volume_details.nil?

  path = '/volumes'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_volume_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::Volume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume_backup(create_volume_backup_details, opts = {}) click to toggle source

Creates a new backup of the specified volume. For general information about volume backups, see [Overview of Block Volume Service Backups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/blockvolumebackups.htm)

When the request is received, the backup object is in a REQUEST_RECEIVED state. When the data is imaged, it goes into a CREATING state. After the backup is fully uploaded to the cloud, it goes into an AVAILABLE state.

@param [OCI::Core::Models::CreateVolumeBackupDetails] create_volume_backup_details Request to create a new backup of given volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackup VolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume_backup.rb.html) to see an example of how to use create_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 891
def create_volume_backup(create_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume_backup.' if logger

  raise "Missing the required parameter 'create_volume_backup_details' when calling create_volume_backup." if create_volume_backup_details.nil?

  path = '/volumeBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume_backup_policy(create_volume_backup_policy_details, opts = {}) click to toggle source

Creates a new user defined backup policy.

For more information about Oracle defined backup policies and user defined backup policies, see [Policy-Based Backups](docs.cloud.oracle.com/iaas/Content/Block/Tasks/schedulingvolumebackups.htm).

@param [OCI::Core::Models::CreateVolumeBackupPolicyDetails] create_volume_backup_policy_details Request to create a new scheduled backup policy. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackupPolicy VolumeBackupPolicy} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume_backup_policy.rb.html) to see an example of how to use create_volume_backup_policy API.

# File lib/oci/core/blockstorage_client.rb, line 957
def create_volume_backup_policy(create_volume_backup_policy_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume_backup_policy.' if logger

  raise "Missing the required parameter 'create_volume_backup_policy_details' when calling create_volume_backup_policy." if create_volume_backup_policy_details.nil?

  path = '/volumeBackupPolicies'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_volume_backup_policy_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume_backup_policy') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackupPolicy'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume_backup_policy_assignment(create_volume_backup_policy_assignment_details, opts = {}) click to toggle source

Assigns a volume backup policy to the specified volume. Note that a given volume can only have one backup policy assigned to it. If this operation is used for a volume that already has a different backup policy assigned, the prior backup policy will be silently unassigned.

@param [OCI::Core::Models::CreateVolumeBackupPolicyAssignmentDetails] create_volume_backup_policy_assignment_details Request to assign a specified policy to a particular volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackupPolicyAssignment VolumeBackupPolicyAssignment} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume_backup_policy_assignment.rb.html) to see an example of how to use create_volume_backup_policy_assignment API.

# File lib/oci/core/blockstorage_client.rb, line 1015
def create_volume_backup_policy_assignment(create_volume_backup_policy_assignment_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume_backup_policy_assignment.' if logger

  raise "Missing the required parameter 'create_volume_backup_policy_assignment_details' when calling create_volume_backup_policy_assignment." if create_volume_backup_policy_assignment_details.nil?

  path = '/volumeBackupPolicyAssignments'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(create_volume_backup_policy_assignment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume_backup_policy_assignment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackupPolicyAssignment'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume_group(create_volume_group_details, opts = {}) click to toggle source

Creates a new volume group in the specified compartment. A volume group is a collection of volumes and may be created from a list of volumes, cloning an existing volume group, or by restoring a volume group backup. You may optionally specify a *display name* for the volume group, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information.

For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [OCI::Core::Models::CreateVolumeGroupDetails] create_volume_group_details Request to create a new volume group. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroup VolumeGroup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume_group.rb.html) to see an example of how to use create_volume_group API.

# File lib/oci/core/blockstorage_client.rb, line 1080
def create_volume_group(create_volume_group_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume_group.' if logger

  raise "Missing the required parameter 'create_volume_group_details' when calling create_volume_group." if create_volume_group_details.nil?

  path = '/volumeGroups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_volume_group_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume_group') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_volume_group_backup(create_volume_group_backup_details, opts = {}) click to toggle source

Creates a new backup volume group of the specified volume group. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [OCI::Core::Models::CreateVolumeGroupBackupDetails] create_volume_group_backup_details Request to create a new backup group of given volume group. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroupBackup VolumeGroupBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_volume_group_backup.rb.html) to see an example of how to use create_volume_group_backup API.

# File lib/oci/core/blockstorage_client.rb, line 1141
def create_volume_group_backup(create_volume_group_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#create_volume_group_backup.' if logger

  raise "Missing the required parameter 'create_volume_group_backup_details' when calling create_volume_group_backup." if create_volume_group_backup_details.nil?

  path = '/volumeGroupBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(create_volume_group_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#create_volume_group_backup') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroupBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_boot_volume(boot_volume_id, opts = {}) click to toggle source

Deletes the specified boot volume. The volume cannot have an active connection to an instance. To disconnect the boot volume from a connected instance, see [Disconnecting From a Boot Volume](docs.cloud.oracle.com/iaas/Content/Block/Tasks/deletingbootvolume.htm). Warning: All data on the boot volume will be permanently lost when the boot volume is deleted.

@param [String] boot_volume_id The OCID of the boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_boot_volume.rb.html) to see an example of how to use delete_boot_volume API.

# File lib/oci/core/blockstorage_client.rb, line 1202
def delete_boot_volume(boot_volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_boot_volume.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling delete_boot_volume." if boot_volume_id.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_boot_volume') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_boot_volume_backup(boot_volume_backup_id, opts = {}) click to toggle source

Deletes a boot volume backup. @param [String] boot_volume_backup_id The OCID of the boot volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_boot_volume_backup.rb.html) to see an example of how to use delete_boot_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 1258
def delete_boot_volume_backup(boot_volume_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_boot_volume_backup.' if logger

  raise "Missing the required parameter 'boot_volume_backup_id' when calling delete_boot_volume_backup." if boot_volume_backup_id.nil?
  raise "Parameter value for 'boot_volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_backup_id)

  path = '/bootVolumeBackups/{bootVolumeBackupId}'.sub('{bootVolumeBackupId}', boot_volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_boot_volume_backup') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_boot_volume_kms_key(boot_volume_id, opts = {}) click to toggle source

Removes the specified boot volume's assigned Key Management encryption key.

@param [String] boot_volume_id The OCID of the boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_boot_volume_kms_key.rb.html) to see an example of how to use delete_boot_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 1315
def delete_boot_volume_kms_key(boot_volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_boot_volume_kms_key.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling delete_boot_volume_kms_key." if boot_volume_id.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}/kmsKey'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_boot_volume_kms_key') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume(volume_id, opts = {}) click to toggle source

Deletes the specified volume. The volume cannot have an active connection to an instance. To disconnect the volume from a connected instance, see [Disconnecting From a Volume](docs.cloud.oracle.com/iaas/Content/Block/Tasks/disconnectingfromavolume.htm). Warning: All data on the volume will be permanently lost when the volume is deleted.

@param [String] volume_id The OCID of the volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume.rb.html) to see an example of how to use delete_volume API.

# File lib/oci/core/blockstorage_client.rb, line 1375
def delete_volume(volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume.' if logger

  raise "Missing the required parameter 'volume_id' when calling delete_volume." if volume_id.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_backup(volume_backup_id, opts = {}) click to toggle source

Deletes a volume backup. @param [String] volume_backup_id The OCID of the volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_backup.rb.html) to see an example of how to use delete_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 1431
def delete_volume_backup(volume_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_backup.' if logger

  raise "Missing the required parameter 'volume_backup_id' when calling delete_volume_backup." if volume_backup_id.nil?
  raise "Parameter value for 'volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_backup_id)

  path = '/volumeBackups/{volumeBackupId}'.sub('{volumeBackupId}', volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_backup') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_backup_policy(policy_id, opts = {}) click to toggle source

Deletes a user defined backup policy.

For more information about user defined backup policies,
see [Policy-Based Backups](https://docs.cloud.oracle.com/iaas/Content/Block/Tasks/schedulingvolumebackups.htm#UserDefinedBackupPolicies).

Avoid entering confidential information.

@param [String] policy_id The OCID of the volume backup policy. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_backup_policy.rb.html) to see an example of how to use delete_volume_backup_policy API.

# File lib/oci/core/blockstorage_client.rb, line 1495
def delete_volume_backup_policy(policy_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_backup_policy.' if logger

  raise "Missing the required parameter 'policy_id' when calling delete_volume_backup_policy." if policy_id.nil?
  raise "Parameter value for 'policy_id' must not be blank" if OCI::Internal::Util.blank_string?(policy_id)

  path = '/volumeBackupPolicies/{policyId}'.sub('{policyId}', policy_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_backup_policy') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_backup_policy_assignment(policy_assignment_id, opts = {}) click to toggle source

Deletes a volume backup policy assignment. @param [String] policy_assignment_id The OCID of the volume backup policy assignment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_backup_policy_assignment.rb.html) to see an example of how to use delete_volume_backup_policy_assignment API.

# File lib/oci/core/blockstorage_client.rb, line 1552
def delete_volume_backup_policy_assignment(policy_assignment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_backup_policy_assignment.' if logger

  raise "Missing the required parameter 'policy_assignment_id' when calling delete_volume_backup_policy_assignment." if policy_assignment_id.nil?
  raise "Parameter value for 'policy_assignment_id' must not be blank" if OCI::Internal::Util.blank_string?(policy_assignment_id)

  path = '/volumeBackupPolicyAssignments/{policyAssignmentId}'.sub('{policyAssignmentId}', policy_assignment_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_backup_policy_assignment') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_group(volume_group_id, opts = {}) click to toggle source

Deletes the specified volume group. Individual volumes are not deleted, only the volume group is deleted. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [String] volume_group_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_group.rb.html) to see an example of how to use delete_volume_group API.

# File lib/oci/core/blockstorage_client.rb, line 1610
def delete_volume_group(volume_group_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_group.' if logger

  raise "Missing the required parameter 'volume_group_id' when calling delete_volume_group." if volume_group_id.nil?
  raise "Parameter value for 'volume_group_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_id)

  path = '/volumeGroups/{volumeGroupId}'.sub('{volumeGroupId}', volume_group_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_group') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_group_backup(volume_group_backup_id, opts = {}) click to toggle source

Deletes a volume group backup. This operation deletes all the backups in the volume group. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [String] volume_group_backup_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_group_backup.rb.html) to see an example of how to use delete_volume_group_backup API.

# File lib/oci/core/blockstorage_client.rb, line 1669
def delete_volume_group_backup(volume_group_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_group_backup.' if logger

  raise "Missing the required parameter 'volume_group_backup_id' when calling delete_volume_group_backup." if volume_group_backup_id.nil?
  raise "Parameter value for 'volume_group_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_backup_id)

  path = '/volumeGroupBackups/{volumeGroupBackupId}'.sub('{volumeGroupBackupId}', volume_group_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_group_backup') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_volume_kms_key(volume_id, opts = {}) click to toggle source

Removes the specified volume's assigned Key Management encryption key.

@param [String] volume_id The OCID of the volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/delete_volume_kms_key.rb.html) to see an example of how to use delete_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 1726
def delete_volume_kms_key(volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#delete_volume_kms_key.' if logger

  raise "Missing the required parameter 'volume_id' when calling delete_volume_kms_key." if volume_id.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}/kmsKey'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#delete_volume_kms_key') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_block_volume_replica(block_volume_replica_id, opts = {}) click to toggle source

Gets information for the specified block volume replica. @param [String] block_volume_replica_id The OCID of the block volume replica. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::BlockVolumeReplica BlockVolumeReplica} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_block_volume_replica.rb.html) to see an example of how to use get_block_volume_replica API.

# File lib/oci/core/blockstorage_client.rb, line 1779
def get_block_volume_replica(block_volume_replica_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_block_volume_replica.' if logger

  raise "Missing the required parameter 'block_volume_replica_id' when calling get_block_volume_replica." if block_volume_replica_id.nil?
  raise "Parameter value for 'block_volume_replica_id' must not be blank" if OCI::Internal::Util.blank_string?(block_volume_replica_id)

  path = '/blockVolumeReplicas/{blockVolumeReplicaId}'.sub('{blockVolumeReplicaId}', block_volume_replica_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_block_volume_replica') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BlockVolumeReplica'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_boot_volume(boot_volume_id, opts = {}) click to toggle source

Gets information for the specified boot volume. @param [String] boot_volume_id The OCID of the boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolume BootVolume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_boot_volume.rb.html) to see an example of how to use get_boot_volume API.

# File lib/oci/core/blockstorage_client.rb, line 1833
def get_boot_volume(boot_volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_boot_volume.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling get_boot_volume." if boot_volume_id.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_boot_volume') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_boot_volume_backup(boot_volume_backup_id, opts = {}) click to toggle source

Gets information for the specified boot volume backup. @param [String] boot_volume_backup_id The OCID of the boot volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeBackup BootVolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_boot_volume_backup.rb.html) to see an example of how to use get_boot_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 1887
def get_boot_volume_backup(boot_volume_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_boot_volume_backup.' if logger

  raise "Missing the required parameter 'boot_volume_backup_id' when calling get_boot_volume_backup." if boot_volume_backup_id.nil?
  raise "Parameter value for 'boot_volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_backup_id)

  path = '/bootVolumeBackups/{bootVolumeBackupId}'.sub('{bootVolumeBackupId}', boot_volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_boot_volume_backup') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_boot_volume_kms_key(boot_volume_id, opts = {}) click to toggle source

Gets the Key Management encryption key assigned to the specified boot volume.

@param [String] boot_volume_id The OCID of the boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeKmsKey BootVolumeKmsKey} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_boot_volume_kms_key.rb.html) to see an example of how to use get_boot_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 1945
def get_boot_volume_kms_key(boot_volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_boot_volume_kms_key.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling get_boot_volume_kms_key." if boot_volume_id.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}/kmsKey'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_boot_volume_kms_key') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeKmsKey'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_boot_volume_replica(boot_volume_replica_id, opts = {}) click to toggle source

Gets information for the specified boot volume replica. @param [String] boot_volume_replica_id The OCID of the boot volume replica. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeReplica BootVolumeReplica} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_boot_volume_replica.rb.html) to see an example of how to use get_boot_volume_replica API.

# File lib/oci/core/blockstorage_client.rb, line 1999
def get_boot_volume_replica(boot_volume_replica_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_boot_volume_replica.' if logger

  raise "Missing the required parameter 'boot_volume_replica_id' when calling get_boot_volume_replica." if boot_volume_replica_id.nil?
  raise "Parameter value for 'boot_volume_replica_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_replica_id)

  path = '/bootVolumeReplicas/{bootVolumeReplicaId}'.sub('{bootVolumeReplicaId}', boot_volume_replica_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_boot_volume_replica') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeReplica'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume(volume_id, opts = {}) click to toggle source

Gets information for the specified volume. @param [String] volume_id The OCID of the volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::Volume Volume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume.rb.html) to see an example of how to use get_volume API.

# File lib/oci/core/blockstorage_client.rb, line 2053
def get_volume(volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume.' if logger

  raise "Missing the required parameter 'volume_id' when calling get_volume." if volume_id.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::Volume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_backup(volume_backup_id, opts = {}) click to toggle source

Gets information for the specified volume backup. @param [String] volume_backup_id The OCID of the volume backup. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackup VolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_backup.rb.html) to see an example of how to use get_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 2107
def get_volume_backup(volume_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_backup.' if logger

  raise "Missing the required parameter 'volume_backup_id' when calling get_volume_backup." if volume_backup_id.nil?
  raise "Parameter value for 'volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_backup_id)

  path = '/volumeBackups/{volumeBackupId}'.sub('{volumeBackupId}', volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_backup') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_backup_policy(policy_id, opts = {}) click to toggle source

Gets information for the specified volume backup policy. @param [String] policy_id The OCID of the volume backup policy. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackupPolicy VolumeBackupPolicy} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_backup_policy.rb.html) to see an example of how to use get_volume_backup_policy API.

# File lib/oci/core/blockstorage_client.rb, line 2161
def get_volume_backup_policy(policy_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_backup_policy.' if logger

  raise "Missing the required parameter 'policy_id' when calling get_volume_backup_policy." if policy_id.nil?
  raise "Parameter value for 'policy_id' must not be blank" if OCI::Internal::Util.blank_string?(policy_id)

  path = '/volumeBackupPolicies/{policyId}'.sub('{policyId}', policy_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_backup_policy') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackupPolicy'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_backup_policy_asset_assignment(asset_id, opts = {}) click to toggle source

Gets the volume backup policy assignment for the specified volume. The `assetId` query parameter is required, and the returned list will contain at most one item, since volume can only have one volume backup policy assigned at a time.

@param [String] asset_id The OCID of an asset (e.g. a volume). @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@return [Response] A Response object with data of type Array<{OCI::Core::Models::VolumeBackupPolicyAssignment VolumeBackupPolicyAssignment}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_backup_policy_asset_assignment.rb.html) to see an example of how to use get_volume_backup_policy_asset_assignment API.

# File lib/oci/core/blockstorage_client.rb, line 2227
def get_volume_backup_policy_asset_assignment(asset_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_backup_policy_asset_assignment.' if logger

  raise "Missing the required parameter 'asset_id' when calling get_volume_backup_policy_asset_assignment." if asset_id.nil?

  path = '/volumeBackupPolicyAssignments'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:assetId] = asset_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_backup_policy_asset_assignment') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::VolumeBackupPolicyAssignment>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_backup_policy_assignment(policy_assignment_id, opts = {}) click to toggle source

Gets information for the specified volume backup policy assignment. @param [String] policy_assignment_id The OCID of the volume backup policy assignment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackupPolicyAssignment VolumeBackupPolicyAssignment} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_backup_policy_assignment.rb.html) to see an example of how to use get_volume_backup_policy_assignment API.

# File lib/oci/core/blockstorage_client.rb, line 2282
def get_volume_backup_policy_assignment(policy_assignment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_backup_policy_assignment.' if logger

  raise "Missing the required parameter 'policy_assignment_id' when calling get_volume_backup_policy_assignment." if policy_assignment_id.nil?
  raise "Parameter value for 'policy_assignment_id' must not be blank" if OCI::Internal::Util.blank_string?(policy_assignment_id)

  path = '/volumeBackupPolicyAssignments/{policyAssignmentId}'.sub('{policyAssignmentId}', policy_assignment_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_backup_policy_assignment') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackupPolicyAssignment'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_group(volume_group_id, opts = {}) click to toggle source

Gets information for the specified volume group. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm). @param [String] volume_group_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroup VolumeGroup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_group.rb.html) to see an example of how to use get_volume_group API.

# File lib/oci/core/blockstorage_client.rb, line 2336
def get_volume_group(volume_group_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_group.' if logger

  raise "Missing the required parameter 'volume_group_id' when calling get_volume_group." if volume_group_id.nil?
  raise "Parameter value for 'volume_group_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_id)

  path = '/volumeGroups/{volumeGroupId}'.sub('{volumeGroupId}', volume_group_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_group') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_group_backup(volume_group_backup_id, opts = {}) click to toggle source

Gets information for the specified volume group backup. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm). @param [String] volume_group_backup_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroupBackup VolumeGroupBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_group_backup.rb.html) to see an example of how to use get_volume_group_backup API.

# File lib/oci/core/blockstorage_client.rb, line 2391
def get_volume_group_backup(volume_group_backup_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_group_backup.' if logger

  raise "Missing the required parameter 'volume_group_backup_id' when calling get_volume_group_backup." if volume_group_backup_id.nil?
  raise "Parameter value for 'volume_group_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_backup_id)

  path = '/volumeGroupBackups/{volumeGroupBackupId}'.sub('{volumeGroupBackupId}', volume_group_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_group_backup') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroupBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_volume_kms_key(volume_id, opts = {}) click to toggle source

Gets the Key Management encryption key assigned to the specified volume.

@param [String] volume_id The OCID of the volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeKmsKey VolumeKmsKey} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/get_volume_kms_key.rb.html) to see an example of how to use get_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 2449
def get_volume_kms_key(volume_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#get_volume_kms_key.' if logger

  raise "Missing the required parameter 'volume_id' when calling get_volume_kms_key." if volume_id.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}/kmsKey'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#get_volume_kms_key') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeKmsKey'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_block_volume_replicas(availability_domain, compartment_id, opts = {}) click to toggle source

Lists the block volume replicas in the specified compartment and availability domain.

@param [String] availability_domain The name of the availability domain.

Example: `Uocm:PHX-AD-1`

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::BlockVolumeReplica BlockVolumeReplica}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_block_volume_replicas.rb.html) to see an example of how to use list_block_volume_replicas API.

# File lib/oci/core/blockstorage_client.rb, line 2535
def list_block_volume_replicas(availability_domain, compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_block_volume_replicas.' if logger

  raise "Missing the required parameter 'availability_domain' when calling list_block_volume_replicas." if availability_domain.nil?
  raise "Missing the required parameter 'compartment_id' when calling list_block_volume_replicas." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::BlockVolumeReplica::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::BlockVolumeReplica::LIFECYCLE_STATE_ENUM.'
  end

  path = '/blockVolumeReplicas'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:availabilityDomain] = availability_domain
  query_params[:compartmentId] = compartment_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_block_volume_replicas') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::BlockVolumeReplica>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_boot_volume_backups(compartment_id, opts = {}) click to toggle source

Lists the boot volume backups in the specified compartment. You can filter the results by boot volume.

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :boot_volume_id The OCID of the boot volume. @option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :source_boot_volume_backup_id A filter to return only resources that originated from the given source boot volume backup.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle state. The state value is

case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::BootVolumeBackup BootVolumeBackup}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_boot_volume_backups.rb.html) to see an example of how to use list_boot_volume_backups API.

# File lib/oci/core/blockstorage_client.rb, line 2640
def list_boot_volume_backups(compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_boot_volume_backups.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_boot_volume_backups." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::BootVolumeBackup::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::BootVolumeBackup::LIFECYCLE_STATE_ENUM.'
  end

  path = '/bootVolumeBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:bootVolumeId] = opts[:boot_volume_id] if opts[:boot_volume_id]
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sourceBootVolumeBackupId] = opts[:source_boot_volume_backup_id] if opts[:source_boot_volume_backup_id]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_boot_volume_backups') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::BootVolumeBackup>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_boot_volume_replicas(availability_domain, compartment_id, opts = {}) click to toggle source

Lists the boot volume replicas in the specified compartment and availability domain.

@param [String] availability_domain The name of the availability domain.

Example: `Uocm:PHX-AD-1`

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::BootVolumeReplica BootVolumeReplica}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_boot_volume_replicas.rb.html) to see an example of how to use list_boot_volume_replicas API.

# File lib/oci/core/blockstorage_client.rb, line 2745
def list_boot_volume_replicas(availability_domain, compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_boot_volume_replicas.' if logger

  raise "Missing the required parameter 'availability_domain' when calling list_boot_volume_replicas." if availability_domain.nil?
  raise "Missing the required parameter 'compartment_id' when calling list_boot_volume_replicas." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::BootVolumeReplica::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::BootVolumeReplica::LIFECYCLE_STATE_ENUM.'
  end

  path = '/bootVolumeReplicas'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:availabilityDomain] = availability_domain
  query_params[:compartmentId] = compartment_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_boot_volume_replicas') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::BootVolumeReplica>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_boot_volumes(availability_domain, compartment_id, opts = {}) click to toggle source

Lists the boot volumes in the specified compartment and availability domain.

@param [String] availability_domain The name of the availability domain.

Example: `Uocm:PHX-AD-1`

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :volume_group_id The OCID of the volume group. @return [Response] A Response object with data of type Array<{OCI::Core::Models::BootVolume BootVolume}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_boot_volumes.rb.html) to see an example of how to use list_boot_volumes API.

# File lib/oci/core/blockstorage_client.rb, line 2833
def list_boot_volumes(availability_domain, compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_boot_volumes.' if logger

  raise "Missing the required parameter 'availability_domain' when calling list_boot_volumes." if availability_domain.nil?
  raise "Missing the required parameter 'compartment_id' when calling list_boot_volumes." if compartment_id.nil?

  path = '/bootVolumes'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:availabilityDomain] = availability_domain
  query_params[:compartmentId] = compartment_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:volumeGroupId] = opts[:volume_group_id] if opts[:volume_group_id]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_boot_volumes') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::BootVolume>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_volume_backup_policies(opts = {}) click to toggle source

Lists all the volume backup policies available in the specified compartment.

For more information about Oracle defined backup policies and user defined backup policies, see [Policy-Based Backups](docs.cloud.oracle.com/iaas/Content/Block/Tasks/schedulingvolumebackups.htm).

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :compartment_id The OCID of the compartment.

If no compartment is specified, the Oracle defined backup policies are listed.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::VolumeBackupPolicy VolumeBackupPolicy}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_volume_backup_policies.rb.html) to see an example of how to use list_volume_backup_policies API.

# File lib/oci/core/blockstorage_client.rb, line 2906
def list_volume_backup_policies(opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_volume_backup_policies.' if logger


  path = '/volumeBackupPolicies'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:compartmentId] = opts[:compartment_id] if opts[:compartment_id]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_volume_backup_policies') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::VolumeBackupPolicy>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_volume_backups(compartment_id, opts = {}) click to toggle source

Lists the volume backups in the specified compartment. You can filter the results by volume.

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :volume_id The OCID of the volume. @option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :source_volume_backup_id A filter to return only resources that originated from the given source volume backup.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle state. The state

value is case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::VolumeBackup VolumeBackup}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_volume_backups.rb.html) to see an example of how to use list_volume_backups API.

# File lib/oci/core/blockstorage_client.rb, line 2992
def list_volume_backups(compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_volume_backups.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_volume_backups." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::VolumeBackup::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::VolumeBackup::LIFECYCLE_STATE_ENUM.'
  end

  path = '/volumeBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:volumeId] = opts[:volume_id] if opts[:volume_id]
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sourceVolumeBackupId] = opts[:source_volume_backup_id] if opts[:source_volume_backup_id]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_volume_backups') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::VolumeBackup>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_volume_group_backups(compartment_id, opts = {}) click to toggle source

Lists the volume group backups in the specified compartment. You can filter the results by volume group. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :volume_group_id The OCID of the volume group. @option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@return [Response] A Response object with data of type Array<{OCI::Core::Models::VolumeGroupBackup VolumeGroupBackup}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_volume_group_backups.rb.html) to see an example of how to use list_volume_group_backups API.

# File lib/oci/core/blockstorage_client.rb, line 3093
def list_volume_group_backups(compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_volume_group_backups.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_volume_group_backups." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  path = '/volumeGroupBackups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:volumeGroupId] = opts[:volume_group_id] if opts[:volume_group_id]
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_volume_group_backups') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::VolumeGroupBackup>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_volume_groups(compartment_id, opts = {}) click to toggle source

Lists the volume groups in the specified compartment and availability domain. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :availability_domain The name of the availability domain.

Example: `Uocm:PHX-AD-1`

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle

state. The state value is case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::VolumeGroup VolumeGroup}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_volume_groups.rb.html) to see an example of how to use list_volume_groups API.

# File lib/oci/core/blockstorage_client.rb, line 3194
def list_volume_groups(compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_volume_groups.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_volume_groups." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::VolumeGroup::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::VolumeGroup::LIFECYCLE_STATE_ENUM.'
  end

  path = '/volumeGroups'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:availabilityDomain] = opts[:availability_domain] if opts[:availability_domain]
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_volume_groups') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::VolumeGroup>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_volumes(compartment_id, opts = {}) click to toggle source

Lists the volumes in the specified compartment and availability domain.

@param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :availability_domain The name of the availability domain.

Example: `Uocm:PHX-AD-1`

@option opts [Integer] :limit For list pagination. The maximum number of results per page, or items to return in a paginated

\"List\" call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

Example: `50`

@option opts [String] :page For list pagination. The value of the `opc-next-page` response header from the previous "List"

call. For important details about how pagination works, see
[List Pagination](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).

@option opts [String] :display_name A filter to return only resources that match the given display name exactly.

@option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for

TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
sort order is case sensitive.

**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
optionally filter by availability domain if the scope of the resource type is within a
single availability domain. If you call one of these \"List\" operations without specifying
an availability domain, the resources are grouped by availability domain, then sorted.

Allowed values are: TIMECREATED, DISPLAYNAME

@option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order

is case sensitive.

Allowed values are: ASC, DESC

@option opts [String] :volume_group_id The OCID of the volume group. @option opts [String] :lifecycle_state A filter to only return resources that match the given lifecycle state. The state

value is case-insensitive.

@return [Response] A Response object with data of type Array<{OCI::Core::Models::Volume Volume}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/list_volumes.rb.html) to see an example of how to use list_volumes API.

# File lib/oci/core/blockstorage_client.rb, line 3300
def list_volumes(compartment_id, opts = {})
  logger.debug 'Calling operation BlockstorageClient#list_volumes.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_volumes." if compartment_id.nil?

  if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:lifecycle_state] && !OCI::Core::Models::Volume::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::Volume::LIFECYCLE_STATE_ENUM.'
  end

  path = '/volumes'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:availabilityDomain] = opts[:availability_domain] if opts[:availability_domain]
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:volumeGroupId] = opts[:volume_group_id] if opts[:volume_group_id]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#list_volumes') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Core::Models::Volume>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
logger() click to toggle source

@return [Logger] The logger for this client. May be nil.

# File lib/oci/core/blockstorage_client.rb, line 96
def logger
  @api_client.config.logger
end
region=(new_region) click to toggle source

Set the region that will be used to determine the service endpoint. This will usually correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.

# File lib/oci/core/blockstorage_client.rb, line 86
def region=(new_region)
  @region = new_region

  raise 'A region must be specified.' unless @region

  @endpoint = OCI::Regions.get_service_endpoint_for_template(@region, 'https://iaas.{region}.{secondLevelDomain}') + '/20160918'
  logger.info "BlockstorageClient endpoint set to '#{@endpoint} from region #{@region}'." if logger
end
update_boot_volume(boot_volume_id, update_boot_volume_details, opts = {}) click to toggle source

Updates the specified boot volume's display name, defined tags, and free-form tags. @param [String] boot_volume_id The OCID of the boot volume. @param [OCI::Core::Models::UpdateBootVolumeDetails] update_boot_volume_details Update boot volume's display name. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolume BootVolume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_boot_volume.rb.html) to see an example of how to use update_boot_volume API.

# File lib/oci/core/blockstorage_client.rb, line 3377
def update_boot_volume(boot_volume_id, update_boot_volume_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_boot_volume.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling update_boot_volume." if boot_volume_id.nil?
  raise "Missing the required parameter 'update_boot_volume_details' when calling update_boot_volume." if update_boot_volume_details.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_boot_volume_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_boot_volume') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_boot_volume_backup(boot_volume_backup_id, update_boot_volume_backup_details, opts = {}) click to toggle source

Updates the display name for the specified boot volume backup. Avoid entering confidential information.

@param [String] boot_volume_backup_id The OCID of the boot volume backup. @param [OCI::Core::Models::UpdateBootVolumeBackupDetails] update_boot_volume_backup_details Update boot volume backup fields @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeBackup BootVolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_boot_volume_backup.rb.html) to see an example of how to use update_boot_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 3438
def update_boot_volume_backup(boot_volume_backup_id, update_boot_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_boot_volume_backup.' if logger

  raise "Missing the required parameter 'boot_volume_backup_id' when calling update_boot_volume_backup." if boot_volume_backup_id.nil?
  raise "Missing the required parameter 'update_boot_volume_backup_details' when calling update_boot_volume_backup." if update_boot_volume_backup_details.nil?
  raise "Parameter value for 'boot_volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_backup_id)

  path = '/bootVolumeBackups/{bootVolumeBackupId}'.sub('{bootVolumeBackupId}', boot_volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_boot_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_boot_volume_backup') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_boot_volume_kms_key(boot_volume_id, update_boot_volume_kms_key_details, opts = {}) click to toggle source

Updates the specified volume with a new Key Management master encryption key.

@param [String] boot_volume_id The OCID of the boot volume. @param [OCI::Core::Models::UpdateBootVolumeKmsKeyDetails] update_boot_volume_kms_key_details Updates the Key Management master encryption key assigned to the specified boot volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::BootVolumeKmsKey BootVolumeKmsKey} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_boot_volume_kms_key.rb.html) to see an example of how to use update_boot_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 3498
def update_boot_volume_kms_key(boot_volume_id, update_boot_volume_kms_key_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_boot_volume_kms_key.' if logger

  raise "Missing the required parameter 'boot_volume_id' when calling update_boot_volume_kms_key." if boot_volume_id.nil?
  raise "Missing the required parameter 'update_boot_volume_kms_key_details' when calling update_boot_volume_kms_key." if update_boot_volume_kms_key_details.nil?
  raise "Parameter value for 'boot_volume_id' must not be blank" if OCI::Internal::Util.blank_string?(boot_volume_id)

  path = '/bootVolumes/{bootVolumeId}/kmsKey'.sub('{bootVolumeId}', boot_volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_boot_volume_kms_key_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_boot_volume_kms_key') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::BootVolumeKmsKey'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume(volume_id, update_volume_details, opts = {}) click to toggle source

Updates the specified volume's display name. Avoid entering confidential information.

@param [String] volume_id The OCID of the volume. @param [OCI::Core::Models::UpdateVolumeDetails] update_volume_details Update volume's display name. Avoid entering confidential information. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::Volume Volume} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume.rb.html) to see an example of how to use update_volume API.

# File lib/oci/core/blockstorage_client.rb, line 3559
def update_volume(volume_id, update_volume_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume.' if logger

  raise "Missing the required parameter 'volume_id' when calling update_volume." if volume_id.nil?
  raise "Missing the required parameter 'update_volume_details' when calling update_volume." if update_volume_details.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_volume_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::Volume'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume_backup(volume_backup_id, update_volume_backup_details, opts = {}) click to toggle source

Updates the display name for the specified volume backup. Avoid entering confidential information.

@param [String] volume_backup_id The OCID of the volume backup. @param [OCI::Core::Models::UpdateVolumeBackupDetails] update_volume_backup_details Update volume backup fields @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackup VolumeBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume_backup.rb.html) to see an example of how to use update_volume_backup API.

# File lib/oci/core/blockstorage_client.rb, line 3620
def update_volume_backup(volume_backup_id, update_volume_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume_backup.' if logger

  raise "Missing the required parameter 'volume_backup_id' when calling update_volume_backup." if volume_backup_id.nil?
  raise "Missing the required parameter 'update_volume_backup_details' when calling update_volume_backup." if update_volume_backup_details.nil?
  raise "Parameter value for 'volume_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_backup_id)

  path = '/volumeBackups/{volumeBackupId}'.sub('{volumeBackupId}', volume_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_volume_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume_backup') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume_backup_policy(policy_id, update_volume_backup_policy_details, opts = {}) click to toggle source

Updates a user defined backup policy.

For more information about user defined backup policies,
see [Policy-Based Backups](https://docs.cloud.oracle.com/iaas/Content/Block/Tasks/schedulingvolumebackups.htm#UserDefinedBackupPolicies).

Avoid entering confidential information.

@param [String] policy_id The OCID of the volume backup policy. @param [OCI::Core::Models::UpdateVolumeBackupPolicyDetails] update_volume_backup_policy_details Update volume backup policy fields @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id Unique identifier for the request.

If you need to contact Oracle about a particular request, please provide the request ID.

@option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or

server error without risk of executing that same action again. Retry tokens expire after 24
hours, but can be invalidated before then due to conflicting operations (for example, if a resource
has been deleted and purged from the system, then a retry of the original creation request
may be rejected).

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeBackupPolicy VolumeBackupPolicy} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume_backup_policy.rb.html) to see an example of how to use update_volume_backup_policy API.

# File lib/oci/core/blockstorage_client.rb, line 3693
def update_volume_backup_policy(policy_id, update_volume_backup_policy_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume_backup_policy.' if logger

  raise "Missing the required parameter 'policy_id' when calling update_volume_backup_policy." if policy_id.nil?
  raise "Missing the required parameter 'update_volume_backup_policy_details' when calling update_volume_backup_policy." if update_volume_backup_policy_details.nil?
  raise "Parameter value for 'policy_id' must not be blank" if OCI::Internal::Util.blank_string?(policy_id)

  path = '/volumeBackupPolicies/{policyId}'.sub('{policyId}', policy_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
  # rubocop:enable Style/NegatedIf
  header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token

  post_body = @api_client.object_to_http_body(update_volume_backup_policy_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume_backup_policy') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeBackupPolicy'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume_group(volume_group_id, update_volume_group_details, opts = {}) click to toggle source

Updates the set of volumes in a volume group along with the display name. Use this operation to add or remove volumes in a volume group. Specify the full list of volume IDs to include in the volume group. If the volume ID is not specified in the call, it will be removed from the volume group. Avoid entering confidential information.

For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm).

@param [String] volume_group_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group. @param [OCI::Core::Models::UpdateVolumeGroupDetails] update_volume_group_details Update volume group's set of volumes and/or display name @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroup VolumeGroup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume_group.rb.html) to see an example of how to use update_volume_group API.

# File lib/oci/core/blockstorage_client.rb, line 3761
def update_volume_group(volume_group_id, update_volume_group_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume_group.' if logger

  raise "Missing the required parameter 'volume_group_id' when calling update_volume_group." if volume_group_id.nil?
  raise "Missing the required parameter 'update_volume_group_details' when calling update_volume_group." if update_volume_group_details.nil?
  raise "Parameter value for 'volume_group_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_id)

  path = '/volumeGroups/{volumeGroupId}'.sub('{volumeGroupId}', volume_group_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_volume_group_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume_group') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume_group_backup(volume_group_backup_id, update_volume_group_backup_details, opts = {}) click to toggle source

Updates the display name for the specified volume group backup. For more information, see [Volume Groups](docs.cloud.oracle.com/iaas/Content/Block/Concepts/volumegroups.htm). @param [String] volume_group_backup_id The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.

@param [OCI::Core::Models::UpdateVolumeGroupBackupDetails] update_volume_group_backup_details Update volume group backup fields @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeGroupBackup VolumeGroupBackup} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume_group_backup.rb.html) to see an example of how to use update_volume_group_backup API.

# File lib/oci/core/blockstorage_client.rb, line 3821
def update_volume_group_backup(volume_group_backup_id, update_volume_group_backup_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume_group_backup.' if logger

  raise "Missing the required parameter 'volume_group_backup_id' when calling update_volume_group_backup." if volume_group_backup_id.nil?
  raise "Missing the required parameter 'update_volume_group_backup_details' when calling update_volume_group_backup." if update_volume_group_backup_details.nil?
  raise "Parameter value for 'volume_group_backup_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_group_backup_id)

  path = '/volumeGroupBackups/{volumeGroupBackupId}'.sub('{volumeGroupBackupId}', volume_group_backup_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_volume_group_backup_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume_group_backup') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeGroupBackup'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_volume_kms_key(volume_id, update_volume_kms_key_details, opts = {}) click to toggle source

Updates the specified volume with a new Key Management master encryption key.

@param [String] volume_id The OCID of the volume. @param [OCI::Core::Models::UpdateVolumeKmsKeyDetails] update_volume_kms_key_details Updates the Key Management master encryption key assigned to the specified volume. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource. The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@return [Response] A Response object with data of type {OCI::Core::Models::VolumeKmsKey VolumeKmsKey} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/update_volume_kms_key.rb.html) to see an example of how to use update_volume_kms_key API.

# File lib/oci/core/blockstorage_client.rb, line 3881
def update_volume_kms_key(volume_id, update_volume_kms_key_details, opts = {})
  logger.debug 'Calling operation BlockstorageClient#update_volume_kms_key.' if logger

  raise "Missing the required parameter 'volume_id' when calling update_volume_kms_key." if volume_id.nil?
  raise "Missing the required parameter 'update_volume_kms_key_details' when calling update_volume_kms_key." if update_volume_kms_key_details.nil?
  raise "Parameter value for 'volume_id' must not be blank" if OCI::Internal::Util.blank_string?(volume_id)

  path = '/volumes/{volumeId}/kmsKey'.sub('{volumeId}', volume_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_volume_kms_key_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BlockstorageClient#update_volume_kms_key') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Core::Models::VolumeKmsKey'
    )
  end
  # rubocop:enable Metrics/BlockLength
end

Private Instance Methods

applicable_retry_config(opts = {}) click to toggle source

rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists rubocop:enable Metrics/MethodLength, Layout/EmptyLines

# File lib/oci/core/blockstorage_client.rb, line 3925
def applicable_retry_config(opts = {})
  return @retry_config unless opts.key?(:retry_config)

  opts[:retry_config]
end